abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Diephouse <dan.diepho...@mulesource.com>
Subject Re: Anyone having problems with max connections when load testing?
Date Tue, 04 Dec 2007 23:59:18 GMT
Why don't we listen for close() on the InputStream and release the 
connection then? Thats what do in Mule, CXF, etc...

That way after we've read in the document or the user calls close() 
after reading the InputStream we're good to go.

- Dan

James M Snell wrote:
> Are you releasing your response objects when you're done with them?  e.g.
>
>   ClientResponse resp = client.get(...);
>   // do stuff with resp
>   resp.release();
>
> This is an unfortunate requirement of the
> multithreadedhttpconnectionmanager.
>
> - James
>
> Neale Upstone wrote:
>   
>> Hi,
>>
>> I'm using Abdera (4.0, recent snapshot) as part of my testing, and I'm
>> getting a lock up when load testing the creation of an atom entry.
>>
>> If I pause the VM and investigate, I find that
>> MultiThreadedHttpConnectionManager has run out of connections for the
>> host.  It exhibits some strange behaviour, where it used to work, when I
>> had some other, disk read I/O going on between the writes, but moved
>> that to a singleton initialisation (reading a database of random
>> postcodes if you must know ;)
>>
>> Is anyone else using AbderaClient (i.e. re-using the same instance) for
>> multiple repeated posts?
>>
>> If I add client.setMaxConnectionsPerHost(20); , for a test of 20
>> creates, it works.  Otherwise it stops after the first two.
>>
>> What's weird, and concerning is that it works when other I/O is going
>> on.  Certainly worth people being aware of.
>>
>> Cheers,
>>
>> Neale
>>
>>
>>
>>
>>
>> Thread [main] (Suspended)
>>     Object.wait(long) line: not available [native method]
>>    
>> MultiThreadedHttpConnectionManager.doGetConnection(HostConfiguration,
>> long) line: 518
>>    
>> MultiThreadedHttpConnectionManager.getConnectionWithTimeout(HostConfiguration,
>> long) line: 416
>>     HttpMethodDirector.executeMethod(HttpMethod) line: 153
>>     HttpClient.executeMethod(HostConfiguration, HttpMethod, HttpState)
>> line: 397
>>     HttpClient.executeMethod(HttpMethod) line: 323
>>     AbderaClient.execute(String, String, RequestEntity, RequestOptions)
>> line: 435
>>     AbderaClient.post(String, RequestEntity, RequestOptions) line: 156
>>     TestCreate.create(Entry) line: 162
>>     TestCreate.testCreateMany() line: 108
>>
>>
>>     


-- 
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com/blog


Mime
View raw message