You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by roee gil <ro...@gmail.com> on 2014/01/06 15:59:46 UTC

Null transform slow down connection

Hi all,

I'm trying to understand what are the trade off when I use transform.
so I did a speed test at this site: http://www.speedtest.net/

and checked it without ATS, with ATS with no plugins and finally ATS with
null transform plugin.

between with and without ATS, I had not change at all, but when I added the
null transform, I had 50% of bandwidth (15MB instead of 30MB) and 20ms more
latency (3ms was without plugin)

I have 2 question in this subject

1. is it possible to stop a transform, and let the ATS continue the session
without the plugin
2. is it possible to reduce this number to some less then 50% bandwidth,
and 20ms more?

BR,
Roee

Re: Null transform slow down connection

Posted by Otto van der Schaaf <os...@gmail.com>.
> does "CONFIG proxy.config.http.chunking_enabled INT 1" does that make any
> changes in the transform?
> in any case, I see the CPU spikes, but nothing dramatic."

I suspect that disabling chunking will make ATS disable keep alive. It will indicate
the end of the transformed stream to the user-agent by sending a connection: close
header. So, this might reduce cpu overhead as far as ATS is concerned, at the cost
of reducing performance in another area (dropping keep alive). 

Otto

On 22 Jan 2014, at 12:43, roee gil <ro...@gmail.com> wrote:

> first of all ,thanks to you all,
> 
> I'm working with ATS 3.2.5 in my record config I could not see your mail
> till now, I accidentally archived them
> 
> Uri,
> I tested it again now, and I see that the latency is almost the same, so
> will put that a side.
> and no, there are no dramatic changes in the record config
> 
> Otto,
> does "CONFIG proxy.config.http.chunking_enabled INT 1" does that make any
> changes in the transform?
> in any case, I see the CPU spikes, but nothing dramatic.
> 
> Leif,
> I added "proxy.config.http.chunking.size INT 64k"
> so I added it, it seems to improve how much we lost (about 10%
> improvement), still lost is still huge.
> 
> BR,
> Roee
> 
> 
> On Mon, Jan 6, 2014 at 4:59 PM, roee gil <ro...@gmail.com> wrote:
> 
>> Hi all,
>> 
>> I'm trying to understand what are the trade off when I use transform.
>> so I did a speed test at this site: http://www.speedtest.net/
>> 
>> and checked it without ATS, with ATS with no plugins and finally ATS with
>> null transform plugin.
>> 
>> between with and without ATS, I had not change at all, but when I added
>> the null transform, I had 50% of bandwidth (15MB instead of 30MB) and 20ms
>> more latency (3ms was without plugin)
>> 
>> I have 2 question in this subject
>> 
>> 1. is it possible to stop a transform, and let the ATS continue the
>> session without the plugin
>> 2. is it possible to reduce this number to some less then 50% bandwidth,
>> and 20ms more?
>> 
>> BR,
>> Roee
>> 


Re: Null transform slow down connection

Posted by roee gil <ro...@gmail.com>.
first of all ,thanks to you all,

I'm working with ATS 3.2.5 in my record config I could not see your mail
till now, I accidentally archived them

Uri,
I tested it again now, and I see that the latency is almost the same, so
will put that a side.
and no, there are no dramatic changes in the record config

Otto,
does "CONFIG proxy.config.http.chunking_enabled INT 1" does that make any
changes in the transform?
in any case, I see the CPU spikes, but nothing dramatic.

Leif,
I added "proxy.config.http.chunking.size INT 64k"
so I added it, it seems to improve how much we lost (about 10%
improvement), still lost is still huge.

BR,
Roee


On Mon, Jan 6, 2014 at 4:59 PM, roee gil <ro...@gmail.com> wrote:

> Hi all,
>
> I'm trying to understand what are the trade off when I use transform.
> so I did a speed test at this site: http://www.speedtest.net/
>
> and checked it without ATS, with ATS with no plugins and finally ATS with
> null transform plugin.
>
> between with and without ATS, I had not change at all, but when I added
> the null transform, I had 50% of bandwidth (15MB instead of 30MB) and 20ms
> more latency (3ms was without plugin)
>
> I have 2 question in this subject
>
> 1. is it possible to stop a transform, and let the ATS continue the
> session without the plugin
> 2. is it possible to reduce this number to some less then 50% bandwidth,
> and 20ms more?
>
> BR,
> Roee
>

Re: Null transform slow down connection

Posted by Leif Hedstrom <zw...@apache.org>.
On Jan 6, 2014, at 1:22 PM, Otto van der Schaaf <os...@gmail.com> wrote:

> Perhaps some of the performance loss you are seeing might be caused by ATS
> having to switch to a chunked transfer encoding when a transform is
> involved.
> What does cpu usage look like with and without a transform on your system?

+1. I’ve seen some pretty dramatic performance penalties when you force ATS to “rechunk” the content. I filed a bug on it:

	https://issues.apache.org/jira/browse/TS-1381


Granted, it’s not directly related to chunking, but the same applies: With no CL: header, forcing chunking to happen, performance goes to hell.

One thought would be to do as was recommended by someone else here, to increase the chunking sizes:

	CONFIG proxy.config.http.chunking.size INT 64k


or some such.

— Leif


Re: Null transform slow down connection

Posted by Otto van der Schaaf <os...@gmail.com>.
Perhaps some of the performance loss you are seeing might be caused by ATS
having to switch to a chunked transfer encoding when a transform is
involved.
What does cpu usage look like with and without a transform on your system?

Regards,

Otto



2014/1/6 Uri Shachar <us...@hotmail.com>

> On Mon, 6 Jan 2014 16:59:46 +0200 Roee Gil wrote
> > Subject: Null transform slow down connection
> snip
> > I'm trying to understand what are the trade off when I use transform.
> > so I did a speed test at this site: http://www.speedtest.net/
> >
> > and checked it without ATS, with ATS with no plugins and finally ATS with
> > null transform plugin.
> >
> > between with and without ATS, I had not change at all, but when I added
> the
> > null transform, I had 50% of bandwidth (15MB instead of 30MB) and 20ms
> more
> > latency (3ms was without plugin)
> >
> > I have 2 question in this subject
> >
> > 1. is it possible to stop a transform, and let the ATS continue the
> session
> > without the plugin
>
> No - we currently do not have an option to collapse a transform once it
> has started handling payload.
> (Once you attach the transform to the transaction, you're committed)
>
> > 2. is it possible to reduce this number to some less then 50% bandwidth,
> > and 20ms more?
>
> While all plugins incur some overhead - it shouldn't be anywhere close to
> the numbers you are quoting
> (I've just tried the null-transform plugin from trunk and I haven't seen a
> noticeable perf impact).
>
> Which version are you running? Any changes in records.config?
>
>         Cheers,
>                Uri

RE: Null transform slow down connection

Posted by Uri Shachar <us...@hotmail.com>.
On Mon, 6 Jan 2014 16:59:46 +0200 Roee Gil wrote
> Subject: Null transform slow down connection
snip
> I'm trying to understand what are the trade off when I use transform.
> so I did a speed test at this site: http://www.speedtest.net/
>
> and checked it without ATS, with ATS with no plugins and finally ATS with
> null transform plugin.
>
> between with and without ATS, I had not change at all, but when I added the
> null transform, I had 50% of bandwidth (15MB instead of 30MB) and 20ms more
> latency (3ms was without plugin)
>
> I have 2 question in this subject
>
> 1. is it possible to stop a transform, and let the ATS continue the session
> without the plugin

No - we currently do not have an option to collapse a transform once it has started handling payload.
(Once you attach the transform to the transaction, you're committed)

> 2. is it possible to reduce this number to some less then 50% bandwidth,
> and 20ms more?

While all plugins incur some overhead - it shouldn't be anywhere close to the numbers you are quoting
(I've just tried the null-transform plugin from trunk and I haven't seen a noticeable perf impact).

Which version are you running? Any changes in records.config?

        Cheers,
               Uri