У меня есть облачная служба с одним рабочим роликом, выполняемым самостоятельно. Пытается использовать этот веб-api из другого облачного сервиса (в том же vnet), используя адрес xxx.cloudapp.net. Но производительность очень нестабильна. Иногда после нескольких сотен запросов, HTTP-запросы зависают в течение некоторого времени. Швы, такие как балансировка нагрузки Azure, меняют мои запросы.Лазерная балансировка нагрузки нестабильная производительность
Здесь выводится из Apache Bench с воспроизведен морозильной (RAN от другого VM в том же VNET):
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). Пробовал использовать роль в сети/iis с одинаковыми результатами.
Почему это происходит? Как этого избежать? Я не хочу использовать локальный IP-адрес, потому что тогда я потеряю функцию обмена.
Это должно быть размещены на ServerFault, так как это инфраструктура, а не программирование. Тем не менее, пытались ли вы тестировать свои звонки с помощью ip-адреса вместо имени DNS, чтобы устранить потенциальные проблемы с разрешением dns? –
Да, я пробовал с IP - те же результаты. – Dissimilis