2014-02-13 89 views
2

我們有一個客戶每分鐘向我們發送數千個網絡服務請求,我們看到的所有他們的請求具體是HTTP身體穿過電線,然後有一個暫停150-250ms,然後發送SOAP體。HttpUrlConnection - 奇怪的延遲

由於頭部知道請求的大小,我可以排除這種延遲是由生成請求本身所需的處理引起的。

基於用戶代理,我可以確定他們正在使用Java 1.5,並使用HttpsUrlConnection。我還沒有訪問他們的代碼,但我想知道人們是否看到過這種行爲,或者代碼寫得不好?

我的身邊:一組Apache Web服務器,它們是負載平衡器,防火牆......的前端,這些Web服務接受請求並使用mod_proxy將它們發送回Tomcat應用程序服務器。

(同樣,這種行爲是隻看到這一個客戶,所以我有懷疑,在我身邊的東西是導致此...)

+0

我認爲在大多數情況下(在做SOAP時),HttpURLConnection類不被Java程序員本身使用。可能他們有像Apache AXIS或CXF或Spring WS這樣的框架。你能問你的客戶他們如何聯繫你的Apache嗎? – hgoebl

+0

不太可能,但我看到配置錯誤的網卡導致延遲。易於測試(通過TCP連接從客戶端發送的任何數據量不應顯示這些延遲)並排除。 – vanOekel

回答

0

結束了對我的客戶邊緣路由器完全飽和/超載,增加400ms +的延遲。所以看起來像是一個完整的請求無法發送足夠快的東西。我們已經重現了這種與tcpproxy增加400ms延遲相同的行爲。

有時候這是最明顯的解釋,我猜...