You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by thomas hallaran <th...@gmail.com> on 2009/09/15 21:33:40 UTC
possible bug: http keep alive fails, new connection needed for every
request
Hi all,
We are using couchdb in production and have come across what appears to be a
bug in the HTTP implementation. Apparently http keep alive requests are not
correctly supported by couchdb.
This problem has been verified for both couchdb .10 a running on ubuntu
with erlang 13.b1 and couchdb .91 running on osx. We have also reproduced
it with multiple http clients, the apache hc java client, curl and ab.
To Reproduce: ab -v 4 -k -n1
http://localhost:5984/{COUCHDB_GET_ENDPOINT}<http://localhost:5984/%7BCOUCHDB_GET_ENDPOINT%7D>times
out. If you add more requests for ab to do (-n4 or something) you will
see that rather than reusing the connection, each keepalive request times
out and then the connection is reopened and the request made.
The necessity of opening a new connection for each request is a pretty
significant performance issue.
In lieu of filing a bug with the apache issue tracker, for which signup is
currently broken - I am posting to this list in the hopes that someone can
verify this issue and perhaps file a bug report.
Tom
Re: possible bug: http keep alive fails, new connection needed for
every request
Posted by Paul Davis <pa...@gmail.com>.
On Tue, Sep 15, 2009 at 3:33 PM, thomas hallaran <th...@gmail.com> wrote:
> Hi all,
> We are using couchdb in production and have come across what appears to be a
> bug in the HTTP implementation. Apparently http keep alive requests are not
> correctly supported by couchdb.
>
> This problem has been verified for both couchdb .10 a running on ubuntu
> with erlang 13.b1 and couchdb .91 running on osx. We have also reproduced
> it with multiple http clients, the apache hc java client, curl and ab.
>
> To Reproduce: ab -v 4 -k -n1
> http://localhost:5984/{COUCHDB_GET_ENDPOINT}<http://localhost:5984/%7BCOUCHDB_GET_ENDPOINT%7D>times
> out. If you add more requests for ab to do (-n4 or something) you will
> see that rather than reusing the connection, each keepalive request times
> out and then the connection is reopened and the request made.
>
> The necessity of opening a new connection for each request is a pretty
> significant performance issue.
>
> In lieu of filing a bug with the apache issue tracker, for which signup is
> currently broken - I am posting to this list in the hopes that someone can
> verify this issue and perhaps file a bug report.
> Tom
>
Bug is at:
https://issues.apache.org/jira/browse/COUCHDB-504
Looks like I know what I'll be doing tonight.
Noah, if you're paying attention, I nominate this to block cutting
0.10.x until we figure out what's going on. Hopefully I can finish it
tonight.
Paul