Thank you. I did the test with curl the same way you did it and it works.
I still can not get ab ("apache benchmark") to reuse connections to
solr. I'll investigate this further.
$ ab -c 1 -n 100 -k 'http://localhost:8983/solr/select?q=*:*' | grep Alive
Keep-Alive requests: 0
-- Aleksey
On 12-09-06 11:07 AM, Chris Hostetter wrote:
: Some extra information. If I use curl and force it to use HTTP 1.0, it is more
: visible that Solr doesn't allow persistent connections:
a) solr has nothing to do with it, it's entirely something under the
control of jetty & the client.
b) i think you are introducing confusion by trying to force an HTTP/1.0
connection -- Jetty supports Keep-Alive for HTTP/1.1, but maybe not for
HTTP/1.0 ?
If you use curl to request multiple URLs and just let curl & jetty do
their normal behavior (w/o trying to bypass anything or manually add
headers) you can see that keep-alive is in fact working...
$ curl -v --keepalive 'http://localhost:8983/solr/select?q=*:*'
'http://localhost:8983/solr/select?q=foo'
* About to connect() to localhost port 8983 (#0)
* Trying 127.0.0.1... connected
GET /solr/select?q=*:* HTTP/1.1
User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1
zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Host: localhost:8983
Accept: */*
< HTTP/1.1 200 OK
< Content-Type: application/xml; charset=UTF-8
< Transfer-Encoding: chunked
<
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int
name="QTime">1</int><lst name="params"><str
name="q">*:*</str></lst></lst><result name="response" numFound="0"
start="0"/>
</response>
* Connection #0 to host localhost left intact
* Re-using existing connection! (#0) with host localhost
* Connected to localhost (127.0.0.1) port 8983 (#0)
GET /solr/select?q=foo HTTP/1.1
User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1
zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Host: localhost:8983
Accept: */*
< HTTP/1.1 200 OK
< Content-Type: application/xml; charset=UTF-8
< Transfer-Encoding: chunked
<
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int
name="QTime">0</int><lst name="params"><str
name="q">foo</str></lst></lst><result name="response" numFound="0"
start="0"/>
</response>
* Connection #0 to host localhost left intact
* Closing connection #0
-Hoss