2013-06-25 69 views
0

我安裝了一個快速服務,並試圖知道處理併發請求的能力。所以我創建了大量的Java線程,並通過發送它的請求數量上升,程序開始拋出異常。OpenStack Swift如何處理併發的restful API請求?

所致:java.net.ConnectException:連接超時:在 java.net.DualStackPlainSocketImpl.connect0(本機方法)在 java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)連接 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)at java.net.Socket.connect(Socket.java:579)at java.net.Socket.connect(Socket.java:528)at sun .net.ClientClient.doConnect(NetworkClient.java:180)at sun.net.www.http.HttpClient.openServer(HttpClient.java:378)at sun.net.www.http.HttpClient.openServer(HttpClient.java :473)在 sun.net.www.http.HttpClient(HttpClient.java:203)

但誰能告訴我,time out怎麼發生的?我很好奇SWIFT如何處理這些請求。這是通過對請求進行排隊,並且因爲隊列中的請求太多而等待時間過長,並且它只是從隊列中被踢出?如果這樣,這是否意味着它是處理請求的異步機制?

使它更有趣,有時我也得到了Connection refused錯誤和Error writing request body to server,那會是另一種觀察,可以通過機制來解釋嗎?

謝謝。

回答