Azure负载均衡器性能不稳定

时间:2015-06-02 14:58:19

标签: azure load-balancing azure-cloud-services

我有单一工作者角色运行自托管web api的云服务。 尝试使用xxx.cloudapp.net地址从另一个云服务(在同一个vnet中)使用此Web api。但性能非常不稳定。有时在几百个请求之后,http请求会冻结一段时间。像Azure负载均衡器这样的接口限制了我的请求。

这是Apache Bench的输出,带有再现冻结(从同一个vnet中的另一个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,因为那时我将松开交换功能。

1 个答案:

答案 0 :(得分:2)

我知道您正在从一个云服务到另一个云服务进行性能测试。

Azure负载均衡器不会限制。它是具有极高限制的基础架构组件。可能发生的是你可以运行我们的或端口。当您创建出站连接时,我们会SNAT来源VIP。自从你SNAT,你得到64K端口的限制。 最好验证这一点是将公共IP与运行perf测试(https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-instance-level-public-ip/)的VM相关联,然后再次运行测试

伊夫