欢迎来到阿里云合作伙伴典名科技! 阿里云购买咨询电话:023-61066666 手机:18623333330  13452888883 13452888886  18581111171  QQ:11611616 / 673768899 / 673768855 / 956491
  • 1
  • 2
  • 3
  • 4
  • 5
站长学堂
当前位置: 网站首页  »    »  问题解决方案  »  站长学堂

阿里云代理商分享负载均衡服务器主机压力测试方法

重庆典名科技 admin    重庆典名科技 2017-11-8

在很多的实际应用场景中都需要对某个阿里云主机或是阿里云服务器进行压力测试,以及是否是符合我们自身使用的需求。以及后期在实际应用中所应对的一个抗压能力。那么下文阿里云代理商重庆典名科技就来为大家介绍务器主机如何进行压力测试方法:


压力测试性能概述

阿里云负载均衡(服务器主机)四层采用开源软件LVS(Linux Virtual Server)+ Keepalived的方式实现负载均衡,七层采用Tengine实现负载均衡。其中四层监听经过LVS后直接到达后端服务器,而七层监听经过LVS后,还需要再经过Tengine,最后达到后端服务器。七层比四层多了一个处理环节,因此,七层性能没有四层性能好。

假如用户使用七层监听进行压来测试,发现根本跑不上去,挂了两台ECS的七层负载均衡监听性能还不如一台ECS的性能,除了七层本身的性能比四层低外,以下情况也可能会造成七层测压性能低:

1】客户端端口不足

尤其容易发生在压测的时候,客户端端口不足会导致建立连接失败,负载均衡默认会抹除TCP连接的timestamp属性,Linux协议栈的tw_reuse(time_wait 状态连接复用)无法生效,time_wait状态连接堆积导致客户端端口不足。

阿里云代理商解决方法:客户端端使用长连接代替短连接。使用RST报文断开连接(socket设置SO_LINGER属性),而不是发FIN包这种方式断开。

2】后端服务器accept队列满

后端服务器accept队列满,导致后端服务器不回复syn_ack报文,客户端超时

阿里云代理商解决方法:默认的net.core.somaxconn的值为128,执行sysctl -w net.core.somaxconn=1024更改它的值,并重启后端服务器上的应用。

3】后端服务器连接过多

由于架构设计的原因,使用七层负载均衡时,用户长连接经过Tengine后变成短连接,可能造成后端服务器连接过多,从而表现为压测性能上不去。

4】后端服务器依赖的应用成为瓶颈

请求经过负载均衡达到后端服务器后,后端服务器本身负载都正常,但由于所有的后端服务器上的应用又依赖其它应用,比如数据库,数据库成为瓶颈,也会引起性能低。

5】后端服务器的健康检查状态异常

尤其在压测的时候容易忽略后端服务器的健康检查状态,如果有后端服务器健康检查失败或者健康检查状态经常跳跃(好到坏,又从坏到好,反复变化)也会导致性能跑不上去。


阿里云负载均衡(服务器主机)压力测试建议

当您需要进行压力测试时,一定要注意以下阿里云代理商总结的配置:

1】压测负载均衡转发能力建议使用短链接

2】压测负载均衡吞吐量建议使用长连接,用于测试带宽上限或特殊业务

【注】压测工具的超时时间我们是建议调小(5秒)。如果是设置超时时间太长,会导致测试结果中平均PT加长,这个数据是不利于判断压测水位是否已经到达。超时时间调小,测试结果会体现在成功率上,便于快速判断压测水位。

3】后端服务器提供一个静态网页用于压测,以避免应用逻辑带来的损耗

4】压测时,监听配置建议如下:

①建议不要开启会话保持功能,否则会造成压力集中在极个别的后端服务器上,

②监听关闭健康检查功能,减少健康检查请求对后端服务器的访问请求。

③用多个客户端进行进行压测最好多于5个,源IP分散,能够更好的模拟线上实际情况。


阿里云代理商关于压力测试工具建议

不建议使用Apache ab:ab在大并发场景下存在问题,会存在3s,6s,9s阶梯式停顿的现象。ab会通过判断content length来确定请求成败,在负载均衡挂载多台后端服务器的时候,返回的content length不一致,会干扰到测试结果

强烈推荐使用阿里云PTS:可以选择多个客户端作为压测源,测试结果清晰,并且可以通过配置监控,获取压测时后端服务器的性能数据。


PTS简单压测演示:

首先我们创建一个负载均衡实例,添加两台阿里云服务器ECS实例作为后端服务器,分别创建一个TCP监听和HTTP监听,后端端口设置为80。阿里云主机/服务器ECS的配置为CPU 1核,内存512M使用CentOS 6.3 64位的操作系统。

具体操作演示:

1、安装Apache Web Server提供Web服务(如下图所示)


2、初始化默认首页index.html(如下图所示)

阿里云代理

3、启动HTTP服务(如下图所示)

阿里云代理商

4、访问本机80端口,确认Web服务可用(如下图所示)

阿里云服务器

5、在PTS中创建测试脚本,开始压测

注意关闭长连接和设置超时时间:

超时时间5秒: PTS.HttpUtilities.setTimeout(5000)

关闭长连接: PTS.HttpUtilities.setKeepAlive(False)


上述就是阿里云代理商分享负载均衡服务器主机压力测试方法的操作方法以及一些主要的配置端口,如果您还有疑问或者是有更多疑问可以直接拨打023-66887777阿里云授权服务中心电话,联系我们不仅能够获得免费的一对一技术支持,还能获得阿里云产品的购买折扣、优惠、代金券等。更多联系方式详见页面底部!


+查看更多+
常见问题解决方案
相关热门文章
热门产品推荐
热门产品推荐
阿里云代理商
阿里云客服
阿里云客服
阿里云客服
阿里云代理商