You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by Noam Schiff <no...@gmail.com> on 2013/08/07 16:14:53 UTC

Only 1 core is utilized

Hi,

I'm running thousands of transactions per seconds through the trafficserver
but I apperantly only 1 core is really working hard while all the other are
pretty idle.
I saw the process ET_NET_0 consumes around 70 of the CPU (which I assume
that this process is being handled by the only core who actually working
hard).

My question is how can I make the trafficserver uses more cores (I assume
that I need to create more process like this...maybe ET_NET_1, ET_NET_2???)

I changed the below line from 2 to 8 in "records.config" file but it
doesn't do the trick:
CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)

Any thoughts?

Re: Only 1 core is utilized

Posted by John Plevyak <jp...@gmail.com>.
I have seen this before with networking on Xen.  Basically, the ethernet
nic interrupts are pinned to a single CPU.  This is typically a problem
with the way the driver interacts with the hardware.  ATS is spreading the
load, but because most of the work is in TCP/IP and packet processing, the
single CPU context handling those functions is the bottleneck.  The other
CPUs are all mostly idle because they are sharing the other 50% of the work
between them.


On Wed, Aug 7, 2013 at 8:41 AM, Brian Geffon <br...@gmail.com> wrote:

> Interesting, traffic server creates a ton of threads so it should
> definitely distribute across cores unless there is something forcing
> affinity.
>
> On Aug 7, 2013, at 8:34 AM, Noam Schiff <no...@gmail.com> wrote:
>
> It's not that I see only 1 core on top, I see 8 but only 1 is utilized
> On Aug 7, 2013 6:30 PM, "Brian Geffon" <br...@gmail.com> wrote:
>
>> Try Shift + H in top.
>>
>> Brian
>>
>> On Aug 7, 2013, at 7:14 AM, Noam Schiff <no...@gmail.com> wrote:
>>
>> > Hi,
>> >
>> > I'm running thousands of transactions per seconds through the
>> trafficserver but I apperantly only 1 core is really working hard while all
>> the other are pretty idle.
>> > I saw the process ET_NET_0 consumes around 70 of the CPU (which I
>> assume that this process is being handled by the only core who actually
>> working hard).
>> >
>> > My question is how can I make the trafficserver uses more cores (I
>> assume that I need to create more process like this...maybe ET_NET_1,
>> ET_NET_2???)
>> >
>> > I changed the below line from 2 to 8 in "records.config" file but it
>> doesn't do the trick:
>> > CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)
>> >
>> > Any thoughts?
>>
>

Re: Only 1 core is utilized

Posted by Brian Geffon <br...@gmail.com>.
Interesting, traffic server creates a ton of threads so it should definitely distribute across cores unless there is something forcing affinity.

On Aug 7, 2013, at 8:34 AM, Noam Schiff <no...@gmail.com> wrote:

> It's not that I see only 1 core on top, I see 8 but only 1 is utilized
> 
> On Aug 7, 2013 6:30 PM, "Brian Geffon" <br...@gmail.com> wrote:
>> Try Shift + H in top.
>> 
>> Brian
>> 
>> On Aug 7, 2013, at 7:14 AM, Noam Schiff <no...@gmail.com> wrote:
>> 
>> > Hi,
>> >
>> > I'm running thousands of transactions per seconds through the trafficserver but I apperantly only 1 core is really working hard while all the other are pretty idle.
>> > I saw the process ET_NET_0 consumes around 70 of the CPU (which I assume that this process is being handled by the only core who actually working hard).
>> >
>> > My question is how can I make the trafficserver uses more cores (I assume that I need to create more process like this...maybe ET_NET_1, ET_NET_2???)
>> >
>> > I changed the below line from 2 to 8 in "records.config" file but it doesn't do the trick:
>> > CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)
>> >
>> > Any thoughts?

Re: Only 1 core is utilized

Posted by Noam Schiff <no...@gmail.com>.
It's not that I see only 1 core on top, I see 8 but only 1 is utilized
On Aug 7, 2013 6:30 PM, "Brian Geffon" <br...@gmail.com> wrote:

> Try Shift + H in top.
>
> Brian
>
> On Aug 7, 2013, at 7:14 AM, Noam Schiff <no...@gmail.com> wrote:
>
> > Hi,
> >
> > I'm running thousands of transactions per seconds through the
> trafficserver but I apperantly only 1 core is really working hard while all
> the other are pretty idle.
> > I saw the process ET_NET_0 consumes around 70 of the CPU (which I assume
> that this process is being handled by the only core who actually working
> hard).
> >
> > My question is how can I make the trafficserver uses more cores (I
> assume that I need to create more process like this...maybe ET_NET_1,
> ET_NET_2???)
> >
> > I changed the below line from 2 to 8 in "records.config" file but it
> doesn't do the trick:
> > CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)
> >
> > Any thoughts?
>

Re: Only 1 core is utilized

Posted by Brian Geffon <br...@gmail.com>.
Try Shift + H in top.

Brian

On Aug 7, 2013, at 7:14 AM, Noam Schiff <no...@gmail.com> wrote:

> Hi,
> 
> I'm running thousands of transactions per seconds through the trafficserver but I apperantly only 1 core is really working hard while all the other are pretty idle.
> I saw the process ET_NET_0 consumes around 70 of the CPU (which I assume that this process is being handled by the only core who actually working hard).
> 
> My question is how can I make the trafficserver uses more cores (I assume that I need to create more process like this...maybe ET_NET_1, ET_NET_2???)
> 
> I changed the below line from 2 to 8 in "records.config" file but it doesn't do the trick:
> CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)
> 
> Any thoughts?

Re: Only 1 core is utilized

Posted by Leif Hedstrom <zw...@apache.org>.
On Aug 7, 2013, at 8:14 AM, Noam Schiff <no...@gmail.com> wrote:

> Hi,
> 
> 
> 
> I changed the below line from 2 to 8 in "records.config" file but it doesn't do the trick:
> CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)

Besides the other suggestions re: NIC driver pinning a CPU, note that the above alone doesn't change the number of threads created. By default, it autoscales the number of threads based on number of CPUs (it's a multiplier). To set an explicit number of threads (to e.g. 8) you have to do

	CONFIG proxy.config.exec_thread.autoconfig INT 0
	CONFIG proxy.config.exec_thread.limit INT 8

-- leif



RE: Only 1 core is utilized

Posted by "Eagen, Dave" <Da...@biworldwide.com>.
As I understand it that process is the kernel process for the Ethernet interface. It's not traffic-server. You may need to investigate splitting the traffic between two interfaces.

From: Noam Schiff [mailto:noamschiff@gmail.com]
Sent: Wednesday, August 07, 2013 9:15 AM
To: users@trafficserver.apache.org
Subject: Only 1 core is utilized

Hi,

I'm running thousands of transactions per seconds through the trafficserver but I apperantly only 1 core is really working hard while all the other are pretty idle.
I saw the process ET_NET_0 consumes around 70 of the CPU (which I assume that this process is being handled by the only core who actually working hard).

My question is how can I make the trafficserver uses more cores (I assume that I need to create more process like this...maybe ET_NET_1, ET_NET_2???)

I changed the below line from 2 to 8 in "records.config" file but it doesn't do the trick:
CONFIG proxy.config.exec_thread.limit INT 8 (the default is 2)

Any thoughts?

This e-mail message is being sent solely for use by the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by phone or reply by e-mail, delete the original message and destroy all copies. Thank you.