我有運行自己託管的web api的單個worker角色的雲服務。 嘗試使用xxx.cloudapp.net地址從另一個雲服務(在同一個vnet中)使用此web api。但表現非常不穩定。有時幾百次請求後,http請求會凍結一段時間。像Azure負載均衡器這樣的接口會限制我的請求。Azure負載平衡器性能不穩定
這裏是Apache工作臺輸出與再現冷凍(在相同的vnet RAN從另一個VM):
ab -c 10 -n 1000 http://xxx.cloudapp.net/ping
<..>
Time taken for tests: 39.970 seconds
Complete requests: 1000
Failed requests: 1
(Connect: 1, Receive: 0, Length: 0, Exceptions: 0)
<..>
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 19 402.6 0 9017
Processing: 0 360 2307.4 15 21046
Waiting: 0 318 2178.6 0 21046
Total: 0 379 2339.6 16 21046
Percentage of the requests served within a certain time (ms)
50% 16
66% 16
75% 16
80% 16
90% 16
95% 17
98% 9015
99% 9032
100% 21046 (longest request)
使用本地IP(例如10.0.0.X)時,有不凍結。 嘗試使用web角色/ iis獲得相同的結果。
爲什麼會發生這種情況?如何避免這種情況?我不想使用本地IP,因爲那樣我會鬆動交換功能。
這應該被張貼到ServerFault,關聯到你的虛擬機,因爲它的基礎設施,而不是編程。這就是說 - 你是否試圖使用ip地址而不是dns名稱來測試你的api調用,以消除潛在的dns解析問題? –
是的,我嘗試了IP - 相同的結果。 – Dissimilis