Azure平台 Netty压力测试

Azure平台 Netty压力测试

测试环境:

  • Azure Paas平台作为Server,一个
  • Azure Iaas平台作为Client,多个
  • Netty Nio作为Server的代码
  • Java.net.Socket最为Client的代码

测试经过

1、原因
公司没有多余的服务器进行测试环境的搭建,所以商量采用Azure上开设多个VM的方式构建Client。
2、中间过程
刚开始测试时发现Client建立多个后,在Azure平台的连接量无法很难突破6W的界限,之后出现大量的“Socket connect time out”、”Socket closed”之类异常。
中间更换了好几种Azure的虚机配置,还是老样子。连Azure Iaas作为Client也是如此。但是本地的Client可以在Server已经6W的基础上,大量连接到云端的Server。
3、结果
后来与微软的技术工程师来回沟通后,发现Azure Iaas上每个VM的IP存在一定的限制,需要在作为VM的虚机上配置PublicIP,命令如下:

Get-AzureVM -ServiceName "MyclientInAzure" -Name "MyClientInstance" | Set-AzurePublicIP -PublicIPName "Myip" | Update-AzureVM

这样就可以让VM固定IP,连接速度、连接量都会增加。

-Server若是由 A4服务器组成,则可达到1W左右的连接量(512byte/s)时比较理想,CPU50%左右
-Server若是由A3组成,则连接量5K左右,CPU50%左右

若是Client采用Azure Paas方式构建,则需要遵照如下链接进行:
https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-instance-level-public-ip/
4、总结
分布式系统上Azure Paas的过程比较艰辛,也不是太顺利。还在继续进行中…

你可能感兴趣的:(Netty)