0
  • No products in the cart.
CartTotal:¥0.00
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云服务
    • 阿里云技术支持
    • 华为云技术支持
    • 腾讯云技术支持
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云服务
    • 阿里云技术支持
    • 华为云技术支持
    • 腾讯云技术支持
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务

阿里云负载均衡压力测试注意事项

阿里云负载均衡SLB分为四层和七层负载均衡,四层负载均衡采用开源软件LVS(Linux Virtual Server)+ Keepalived的方式实现负载均衡,七层负载均衡由Tengine实现负载均衡。

四层监听经过LVS后直接到达后端服务器,而七层监听经过LVS后,还需要再经过Tengine,最后到达后端服务器。七层监听比四层监听多了一个处理环节,因此,七层性能没有四层性能好。

如果您使用七层监听进行压力测试,发现压测性能比较低。挂了两台ECS的七层负载均衡监听性能不如挂了一台ECS的四层负载均衡监听性能,除了七层本身的性能比四层低外,以下情况也可能会造成七层压测性能低:

  • 客户端端口不足 。

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

    解决方法:客户端使用长连接代替短连接。使用RST报文断开连接,即socket设置SO_LINGER属性。

  • 后端服务器accept队列满 。

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

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

  • 后端服务器连接过多。

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

  • 后端服务器依赖的应用成为瓶颈。

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

  • 后端服务器的健康检查状态异常。

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

压测建议

在进行压力测试时,请注意如下配置:

  • 压测负载均衡转发能力建议使用短连接 。

    一般来说压测除了验证会话保持和均衡性等功能外,主要想验证负载均衡的转发能力,因此使用短连接比较合适,用于测试负载均衡和后端服务器的处理能力。使用短连接测试时,需要注意客户端端口不足的问题。

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

    压测工具的超时时间建议设置为一个较小值,如5秒。超时时间太大的话,测试结果会体现在平均响应时间加长,不利于判断压测水位是否已到达。超时时间调小,测试结果会体现在成功率上,便于快速判断压测水位。

  • 后端服务器提供一个静态网页用于压测,以避免应用逻辑带来的损耗。
  • 压测时,监听配置建议如下:
    • 不开启会话保持功能,否则压力会集中在个别后端服务器。
    • 关闭健康检查功能,减少健康检查对后端服务器的访问请求。
    • 性能测试服务的5000并发规格能够提供5个及5个以上的公网IP。

压力测试工具建议

不建议您使用Apache ab作为压力测试工具。

Apache ab在大量并发场景下存在3s、6s、9s阶梯式停顿的现象。Apache ab会通过判断content length来确定请求是否成功,而负载均衡挂载多台后端服务器时,返回的content length会不一致,导致测试结果有误。

建议使用阿里云PTS。

可以设置足够高的并发,PTS会分配来自全国各地的公网IP,压力来源足够分散,并且可以在PTS中集成云监控,实时查看端到端的全部性能数据。

使用PTS简单压测示例

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

  1. 安装Apache Web Server提供Web服务。
    yum install -y httpd
  2. 初始化默认首页index.html。
    echo "testvm" > /var/www/html/index.html
  3. 启动HTTP服务。
    service httpd start
  4. 访问本地的80端口,确认Web服务可用。
    curl localhost
  5. 在PTS中创建测试场景,开始压力测试。

压力测试/性能测试服务

¥278.00 – ¥58,158.00

Tags:性能测试

以上内容对您有帮助吗?如有问题,可联系在线工程师为您提供技术支持

Yes  No
相关内容
  • 一篇文章学会容器监控及应用监控系统选型
  • TPS、QPS、RT、吞吐量等性能指标的含义
  • 性能测试分析及调优服务
  • 性能测试/压力测试指标参考标准
  • 性能测试/压力测试技术规范
产品
  • SSL证书5折起(DV,OV,EV,多域名,通配符,免费SSL证书安装配置) ¥2.00 ¥1.00
  • 漏洞扫描服务 ¥0.00 – ¥1,000.00
  • 阿里云云安全中心(服务器安全防护漏洞自动修复木马病毒查杀) ¥270.00 – ¥1,148.00
  • 阿里云web应用防火墙(WAF)防CC防SQL注入防网页篡改木马后门 ¥149.00 – ¥227,920.00
  • 阿里云文件存储NAS ¥157.00 – ¥840.00
云上护航
  • 阿里云负载均衡压力测试注意事项
  • 一篇文章学会容器监控及应用监控系统选型
  • TPS、QPS、RT、吞吐量等性能指标的含义
  • 性能测试分析及调优服务
  • 性能测试/压力测试指标参考标准
  • 性能测试/压力测试技术规范
热门内容
  • 阿里云混合云解决方案
  • 数据库上云迁移方案
  • 网站运维服务都包含哪些?
  • 为什么网站要有SSL证书?
  • 服务器迁移服务
服务分类
  • 云服务器运维
  • 网站运维
  • 云数据库技术
  • 云存储技术
  • 云安全服务
  • 云网络服务
  • 大数据和人工智能
  • CDN与边缘计算
  • 弹性计算
  • 优惠活动
  • 解决方案咨询与实施
  • 云架构设计优化
  • 容灾备份服务
  • 云上护航
  • Linux系统运维
  • 混合云与专有云
专题
AnalyticDB CDN技术 ClickHouse数据库 PolarDB SSL证书 web应用防火墙 云堡垒机 云存储网关 云数据库MongoDB 云数据库RDSmysql 云数据库redis 云服务器 云防火墙 全局流量管理 全球加速 多模数据库Lindorm 安全加固 实人认证 容器服务 对象存储OSS 弹性伸缩 性能测试 数据仓库 数据库备份DBS 数据库审计 数据库自治服务DAS 数据湖 文件存储NAS 日志服务 服务网格 混合云存储 物联网安全 等保测评 表格存储Tablestore 运维技术 阿里云优惠
  • © 2020 云技术|云慧采. All Rights Reserved 服务电话13121395187