Hello All,

Recently we voted to back-port TS-880 (Major performance problem with
second request on same keep-alive connection)
to 3.0.x, while I personally have been using this patch for a few weeks I
occasionally will do massive connection failure tests which are designed to
test the stability of my transformation plugins and ATS in general. I'll
describe the test: essentially I will continuously create hundreds of
requests and terminate them abruptly, what this causes is connections to be
terminated in many different states and I feel it's a good overall
stability test, an example is the following bash script:

    for((;;)) do ab -n 5000 -c 150 http://127.0.0.1:8000/x & sleep 0.75;
killall -9 ab; done;

I have found that using a transformation plugin and the above test
everything works fine with 3.0.3; however, using the latest version of
3.0.x it was causing problems. The specific problem encountered was that
after about 3 minutes of the above bash script it would simply
start sniping on new requests, that is, it would accept the request and
then just "forget about it," after I would create a transformation for it.
I have tested again by removing TS-880 and the problem is completely gone,
this patch was not causing any problems in situations where connections
were completing normally. The result is simple, this patch does fix the
problem with keep-alive; however, it's clearly introducing other issues.

I strongly believe we should remove this patch before cutting 3.0.4 and try
fixing keep-alive again in 3.0.5 or later. What does everyone think?

Thoughts?
Brian

Reply via email to