You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by a...@test123.ru on 2010/12/07 10:41:10 UTC

ERR_CLIENT_ABORT

Hi,

I use ATS as transparent caching proxy. ATS 2.1.4 is installed at gateway computer (debian), port 80 is redirected to ATS. Clients expect errors when watching online video from popular social network. Below is what happened in squid.blog. Notice that ERR_CLIENT_ABORT always appear in pairs.


1291709561.737 59995 192.168.108.98 ERR_CLIENT_ABORT/200 7864622 GET
http://v554.vkadre.ru/assets/videos/3f7e78bbc97e-108457079.vk.flv -
DIRECT/v554.vkadre.ru video/x-flv - 
1291709561.939 193 192.168.108.98 ERR_CLIENT_ABORT/200 3198 GET
http://v554.vkadre.ru/assets/videos/3f7e78bbc97e-108457079.vk.flv -
DIRECT/v554.vkadre.ru video/x-flv - 


1291711029.840 60000 192.168.108.98 ERR_CLIENT_ABORT/200 7864534 GET
http://432.gt3.vkadre.ru/assets/videos/8fefb4f8c7d5-83563210.vk.flv -
DIRECT/432.gt3.vkadre.ru video/x-flv - 
1291711030.138 291 192.168.108.98 ERR_CLIENT_ABORT/200 3198 GET
http://432.gt3.vkadre.ru/assets/videos/8fefb4f8c7d5-83563210.vk.flv -
DIRECT/432.gt3.vkadre.ru video/x-flv - 


1291712340.793 60004 192.168.108.98 ERR_CLIENT_ABORT/200 6911383 GET
http://cs12375.vkontakte.ru/u19339412/video/fbfd81528f.flv -
DIRECT/cs12375.vkontakte.ru video/x-flv -
1291712341.005 194 192.168.108.98 ERR_CLIENT_ABORT/200 2975 GET
http://cs12375.vkontakte.ru/u19339412/video/fbfd81528f.flv -
DIRECT/cs12375.vkontakte.ru video/x-flv -

That happens very often on Opera browser, both on Linux and Windows. Without ATS video works fine. Any ideas? 

- Alexey


Re: ERR_CLIENT_ABORT

Posted by Leif Hedstrom <zw...@apache.org>.
On 12/08/2010 05:26 AM, a@test123.ru wrote:
>
> I will continue to use ATS with fixed timeouts and post results later. By now:
> Pros:
> + HTTP11 support (no errors which I saw when I was using squid)
> + Compact binary log
> ++ One big cache-db file instead of lot of small files
> +++ Caching algorithm works just fine out-of-the-box. I mean I don't need to tune "max_object_size", increase TTL for images and CSS files. Looks like ATS handles this things automatically.

Great! yes, all these features you mention I 100% agree are major "wins" 
with ATS.

> Cons:
> - A lot of config files
> - A lot of irrelevant config options. Why should I care? I want simple proxy. Today is XXI century, do you think HTTP caching is still so complex? :)

We are painfully aware of this, and it will be addressed further after 
the stable v3.0 release. It will take time though, so hopefully people 
will bear with us (what makes it particularly complicated is that we 
wish to improve/build more on our clustering features, which requires 
configs to be shareable and dynamically reloadable).

That much said, one thing I've been thinking of is to provide either a 
small 'wizard' (command line thing, answer a few questions, and it'll 
set up your configs). Or, ship with a small number of config sets (e.g. 
"Forward proxy", "Reverse proxy" and "Transparent proxy"), which would 
then unpack the required files, perhaps with minimal defaults.

One problem today with eliminating a lot of the "defaults" from 
records.config is that without them, it's difficult to find / know what 
settings you can tweak. As in your case, the timeouts are obviously very 
important. But even so, I think we can provide smaller defaults for 
these three config sets, which might turn records.config into maybe 40 
configs, instead of 400+.

> - Need to compile it. Figuring out that I have to disable "fd_events" (or smth) on debian system takes time. Binary distribution is what users want, IMHO.

Yes. The hope is that once we have a more stable release, we'll get the 
big distros to pick it up. This is also high on our wish list, maybe we 
should get cracking on this some more, and get some volunteer work. I 
know "ming_zym" has a .spec file he's been using, which he has 
contributed, but we'll need to finish up these things to be at a quality 
where distros would accept them. And we'll obviously need a .deb for 
Ubuntu / Debian.

> - Lack of documentation.

Hmmm, not sure I agree with this one. There's a *lot* of documentation:

     http://trafficserver.apache.org/docs.html


These aren't 100% up to date (there are features missing, and there are 
features we don't support), but I think they are both excellent starting 
points. Miles and Igor (and a few others) are also actively working on 
getting docs ready for a v3.0 release.

> Missing features:
> * Proxy authorization. Now the only way is IP-based auth (bypass.config). It is useful to have Basic HTTP auth for authorizing clients. Of course, LDAP integration is welcome.

Noted. The hope is that we can write a plugin for this at some point.

> IMHO, ATS 2.1.4-unstable is stable enough for basic usage. It deserves to bear the name "beta" :) I remember that guy who uses 44Gb for in-memory caching and expects bad response time, but this is HUGE installation. As basic caching proxy, ATS works just fine. However, config files have to be simplified. I am thinking about writing wiki page "ATS installation as forward proxy", but I think today this is waste of time. You are reviewing configs, right? I mean that "log2 ->  log" change. This is right direction.


I'm very to happy to hear that you are having a good experience! And 
thank you so much for the feedback, please keep it coming! The only way 
we can improve and make this a top-notch, production ready software,  is 
with user input like yours.

Cheers!

-- leif


Re: ERR_CLIENT_ABORT

Posted by a...@test123.ru.
Thanx for explanations! I changed timeouts from 0 to 3600. Internal clients are trusted, so I think it's ok.
My overall experience is good. Very good. I use ATS as transparent caching proxy and it works like a charm. Last year I tried squid, and I canceled it. Complex pages load slower than w/o squid (at least, when you see it by own eyes). Also squid causes errors when:
- uploading big files (video)
- POSTing to HTTP11 servers, such as Redmine project management tool.

I will continue to use ATS with fixed timeouts and post results later. By now:
Pros:
+ HTTP11 support (no errors which I saw when I was using squid)
+ Compact binary log
++ One big cache-db file instead of lot of small files
+++ Caching algorithm works just fine out-of-the-box. I mean I don't need to tune "max_object_size", increase TTL for images and CSS files. Looks like ATS handles this things automatically.
Cons:
- A lot of config files
- A lot of irrelevant config options. Why should I care? I want simple proxy. Today is XXI century, do you think HTTP caching is still so complex? :)
- Need to compile it. Figuring out that I have to disable "fd_events" (or smth) on debian system takes time. Binary distribution is what users want, IMHO.
- Lack of documentation. 
Missing features:
* Proxy authorization. Now the only way is IP-based auth (bypass.config). It is useful to have Basic HTTP auth for authorizing clients. Of course, LDAP integration is welcome. 

Briefly:
IMHO, ATS 2.1.4-unstable is stable enough for basic usage. It deserves to bear the name "beta" :) I remember that guy who uses 44Gb for in-memory caching and expects bad response time, but this is HUGE installation. As basic caching proxy, ATS works just fine. However, config files have to be simplified. I am thinking about writing wiki page "ATS installation as forward proxy", but I think today this is waste of time. You are reviewing configs, right? I mean that "log2 -> log" change. This is right direction. 

Thanx for your work,
Alexey



On Tue, 07 Dec 2010 09:04:58 -0700, Leif Hedstrom <zw...@apache.org> wrote:
> On 12/07/2010 08:10 AM, a@test123.ru wrote:
>> More info.
>>
>> 1) Problem appears in both transparent and explicit proxy.
>> 2) wget http://<VIDEOFILE>  works. Problem appears in Opera, Firefox, Windows and Linux.
>> 3) I tested video from youtube, seems like it works. However, video from vkontakte.ru causes
>> ERR_CLIENT_ABORT very often.
>> 4) I tested squid and video works fine.
>>
>> My idea is - problem is socket between browser and ATS. I changed:
>>
>> CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 0 # was 15
>> CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 0 # was 30
>>
>> Error gone. Video stable.
>> Is it right change? May it cause other problems?
> 
> Heh, i was going to reply to your first email and suggest increasing 
> timeouts. Fwiw,  0 means no timeout. The first one doesn't make a whole 
> lot of sense, all that does is to let your browsers control KA timeouts 
> (which you might want, but I can't see how that affects this problem). 
> The second one however could cause problems, if the site burst highly 
> for some short amount of time, and then goes idle for a long time.
> 
> I wa also going to suggest increasing 
> proxy.config.http.transaction_active, which I've noticed causes problems 
> with youtube if set too low (the new default for that one is 900s, which 
> is 15 minutes). Setting any of these timeouts to 0 has its own risk 
> (abuse, bad clients etc.), it'd probably be better to jack them up high 
> enough that the problem goes away, but that you still have some sort of 
> timeout.
> 
> Curious to hear about your experiences (other than the timeouts) too. Is 
> Apache TS working as you expected so far? Any problems, concerns, 
> missing features, crashes etc.?
> 
> Cheers,
> 
> -- Leif


Re: ERR_CLIENT_ABORT

Posted by Leif Hedstrom <zw...@apache.org>.
On 12/07/2010 08:10 AM, a@test123.ru wrote:
> More info.
>
> 1) Problem appears in both transparent and explicit proxy.
> 2) wget http://<VIDEOFILE>  works. Problem appears in Opera, Firefox, Windows and Linux.
> 3) I tested video from youtube, seems like it works. However, video from vkontakte.ru causes ERR_CLIENT_ABORT very often.
> 4) I tested squid and video works fine.
>
> My idea is - problem is socket between browser and ATS. I changed:
>
> CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 0 # was 15
> CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 0 # was 30
>
> Error gone. Video stable.
> Is it right change? May it cause other problems?

Heh, i was going to reply to your first email and suggest increasing 
timeouts. Fwiw,  0 means no timeout. The first one doesn't make a whole 
lot of sense, all that does is to let your browsers control KA timeouts 
(which you might want, but I can't see how that affects this problem). 
The second one however could cause problems, if the site burst highly 
for some short amount of time, and then goes idle for a long time.

I wa also going to suggest increasing 
proxy.config.http.transaction_active, which I've noticed causes problems 
with youtube if set too low (the new default for that one is 900s, which 
is 15 minutes). Setting any of these timeouts to 0 has its own risk 
(abuse, bad clients etc.), it'd probably be better to jack them up high 
enough that the problem goes away, but that you still have some sort of 
timeout.

Curious to hear about your experiences (other than the timeouts) too. Is 
Apache TS working as you expected so far? Any problems, concerns, 
missing features, crashes etc.?

Cheers,

-- Leif


Re: ERR_CLIENT_ABORT

Posted by a...@test123.ru.
More info.

1) Problem appears in both transparent and explicit proxy.
2) wget http://<VIDEOFILE> works. Problem appears in Opera, Firefox, Windows and Linux.
3) I tested video from youtube, seems like it works. However, video from vkontakte.ru causes ERR_CLIENT_ABORT very often. 
4) I tested squid and video works fine. 

My idea is - problem is socket between browser and ATS. I changed:

CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 0 # was 15
CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 0 # was 30

Error gone. Video stable.
Is it right change? May it cause other problems?

On Tue, 07 Dec 2010 16:41:10 +0700, <a...@test123.ru> wrote:
> Hi,
> 
> I use ATS as transparent caching proxy. ATS 2.1.4 is installed at gateway computer (debian), port
> 80 is redirected to ATS. Clients expect errors when watching online video from popular social
> network. Below is what happened in squid.blog. Notice that ERR_CLIENT_ABORT always appear in pairs.
> 
> 
> 1291709561.737 59995 192.168.108.98 ERR_CLIENT_ABORT/200 7864622 GET
> http://v554.vkadre.ru/assets/videos/3f7e78bbc97e-108457079.vk.flv -
> DIRECT/v554.vkadre.ru video/x-flv - 
> 1291709561.939 193 192.168.108.98 ERR_CLIENT_ABORT/200 3198 GET
> http://v554.vkadre.ru/assets/videos/3f7e78bbc97e-108457079.vk.flv -
> DIRECT/v554.vkadre.ru video/x-flv - 
> 
> 
> 1291711029.840 60000 192.168.108.98 ERR_CLIENT_ABORT/200 7864534 GET
> http://432.gt3.vkadre.ru/assets/videos/8fefb4f8c7d5-83563210.vk.flv -
> DIRECT/432.gt3.vkadre.ru video/x-flv - 
> 1291711030.138 291 192.168.108.98 ERR_CLIENT_ABORT/200 3198 GET
> http://432.gt3.vkadre.ru/assets/videos/8fefb4f8c7d5-83563210.vk.flv -
> DIRECT/432.gt3.vkadre.ru video/x-flv - 
> 
> 
> 1291712340.793 60004 192.168.108.98 ERR_CLIENT_ABORT/200 6911383 GET
> http://cs12375.vkontakte.ru/u19339412/video/fbfd81528f.flv -
> DIRECT/cs12375.vkontakte.ru video/x-flv -
> 1291712341.005 194 192.168.108.98 ERR_CLIENT_ABORT/200 2975 GET
> http://cs12375.vkontakte.ru/u19339412/video/fbfd81528f.flv -
> DIRECT/cs12375.vkontakte.ru video/x-flv -
> 
> That happens very often on Opera browser, both on Linux and Windows. Without ATS video works fine.
> Any ideas? 
> 
> - Alexey