根据客户压测经验,本文总结常见的压测性能问题,为用户提供排查方案,并提供压测时的建议。
压力测试常见问题
后端主机未开启公网流量
购买云服务器时,如果不开启公网流量,则该主机挂载公网负载均衡时会导致转发不通的情况。
后端主机带宽设置不够
如果后端主机设置带宽过低,则带宽超过设定阈值后,后端服务器不会回包给 CLB,这样 CLB 处理时会返回504、502给客户端。
客户端端口不足
客户端个数过少,或客户端的端口范围设置过小时,客户端端口不足,会导致建立连接失败。此外,长连接建立时如果 keep_alive 字段大于0,此时连接会一直占用端口,导致客户端端口不足。
后端服务器依赖的应用成为性能瓶颈
请求经过负载均衡达到后端服务器后,后端服务器本身负载正常,但由于所有的后端服务器上的应用又依赖数据库等其他应用,此时如数据库出现性能瓶颈,也会影响压测性能。
后端服务器的健康状态异常
压测时容易忽略后端服务器的健康状态,如果有后端服务器健康检查失败或者健康检查状态反复(时好时坏,反复变化)时,也会导致压测性能低的现象。
负载均衡开启会话保持,后端主机流量分配不均
负载均衡开启会话保持后,容易造成请求落在固定的几台后端服务器上,导致流量分配不均衡,压测性能受到影响。建议压测时关闭会话保持。
压测建议
注意:
以下设置仅用于压测负载均衡能力,并不表示用户生产环境也需要如此设置。
压测负载均衡转发能力时,建议使用短连接。
一般除了验证会话保持等功能外,压测主要是希望验证负载均衡的转发能力,因此可以使用短连接来测试 CLB 和后端服务器的处理能力。
压测负载均衡吞吐量时建议使用长连接,用来测试带宽上限、或长连接业务等。
此时建议将压测工具的超时时间调整为较小的阈值,超时时间过长时,会导致平均响应时间加长,从而不利于快速判断是否到达压测水位。
建议后端服务器提供一个静态网页用于压测,避免应用本身逻辑带来的损耗,如 I/O、DB 等。
监听不开启会话保持功能,否则压力会集中在个别的后端服务器,此外,压力性能不达标时,可以通过查看负载均衡下后端主机的监控数据判断是否流量分配均匀。
监听关闭健康检查功能,减少健康检查请求对后端服务器的访问请求。
使用多个 client(> 5) 进行压测,源 IP 分散,能够更好的模拟线上实际情况。
本页内容是否解决了您的问题?