2012-05-07 18 views
6

Engellenmeyen iyiliği elde etmek için ning async http istemcisini kullanıyorum. Elma testi ve elmanın testi (engelleme ve engelleme), engelleme olmayan sürümün daha fazla istek örneği sunduğunu görüyorum, ancak async http istemcisi engelleme muhasebesine göre daha fazla iplik oluşturuyor. Bu beklediğim bir şey mi yoksa eksik mi?Async http istemcisi (ning) daha fazla iş parçacığı mı oluşturuyor?

Burada bağlantılarının bir iş parçacığı havuzu oluşturma stres testi

Async Http Client 
jMeter - 2 threads, 120 seconds, 1 sec ramp up 
Peak threads : 270 
Heap usage: 600mb 
Peak cpu usage: 30% 
Total samples: 18228 

Blocking version 
jMeter - 2 threads, 120 seconds, 1 sec ramp up 
Peak threads: 118 
heap usage: 260mb 
cpu usage: 18% 
total samples: 1472 

gelen sayılardır (onları yeniden)

AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); 
builder.setRequestTimeoutInMs(2000); 
builder.setMaximumConnectionsPerHost(10); 
builder.setMaximumConnectionsTotal(100); 
client = new AsyncHttpClient(builder.build()); 

Burada Eksik bir şey var mı? Konu oluşturmanın ne olduğunu görmek için iş parçacığına bakmayı denedim, ancak yararlı bir şey bulamadım. Benim bahsettiğim, async http istemcisindeki I/O tamamlandığında geri çağrıyı geri çağırmak için her bir http bağlantısı için bir iş parçacığı oluşmasıdır. Repo taşındı gibi

cevap

11

DÜZENLEME 11/16/2015

görünüyor. Kullanılan ThreadFactory'yi değiştirebileceğiniz this line numaralarına bakın. Bu ayarlanmamışsa, varsayılan bir tane kullanıyor gibi görünüyor. Bu ChannelManager here tarafından kullanılır.

Ayrıca/ölü linkler kod hızlı bir bakış

kaldırıldı w görülen here

ORİJİNAL gibi basit istemci üzerinde ayarlayabilirsiniz

- bu uygulama parçacığı havuzu gibi görünen bir Yürüten hizmetini kullanır iş parçacığı, ihtiyaç duyulduğunda konuları oluşturan önbelleğe alınmış bir iş parçacığı havuzudur. İstemcinizin kullandığı yürütücü hizmetini, oluşturucudaki ayarlayıcıyı kullanarak ayarlayabilirsiniz.

+0

Büyük, çok teşekkürler – Vinodh

+0

https://github.com/AsyncHttpClient/async-http-client/blob/master/api/src/main/java/org/asynchttpclient/AsyncHttpClientConfig.java sen kesin olarak belirlemek için sorun olur çizgi 160 biraz daha fazla (fonksiyon adı, orada ne görmek gibi) son sürümü –

+0

değişti gibi Buradaki bağlantılar çalışmıyor! –

İlgili konular