2015-06-02 3 views
1

У меня есть облачная служба с одним рабочим роликом, выполняемым самостоятельно. Пытается использовать этот веб-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-адрес, потому что тогда я потеряю функцию обмена.

+0

Это должно быть размещены на ServerFault, так как это инфраструктура, а не программирование. Тем не менее, пытались ли вы тестировать свои звонки с помощью ip-адреса вместо имени DNS, чтобы устранить потенциальные проблемы с разрешением dns? –

+0

Да, я пробовал с IP - те же результаты. – Dissimilis

ответ

2

Я понимаю, что вы выполняете перфективный тест от одного облачного сервиса до другого облачного сервиса.

Лазерный балансировщик нагрузки не дросселирует. Это компоненты инфраструктуры с чрезвычайно высокими пределами. Что может случиться, так это то, что вы можете запускать наши или порты. Когда вы создаете исходящие соединения, мы SNAT для источника VIP. Поскольку вы SNAT, вы получаете предел 64K портов. Лучший проверить это, чтобы связать публичный IP к вашему VM работает тест перфорации (https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-instance-level-public-ip/), а затем запустить тест снова

Ив

Смежные вопросы