详情页标题前

阿里云负载均衡ALB压力测试的方法-云淘科技

详情页1

应用型负载均衡ALB(Application Load Balancer )具备超强弹性及大规模应用层流量处理能力。本文旨在提供ALB压测方法,以及压测中遇到的常见问题和解决方案。

压测拓扑

下图为您介绍ALB压测拓扑流程。

阿里云负载均衡ALB压力测试的方法-云淘科技

压测方法

压测指标说明

ALB有四个关键指标:新建连接数、并发连接数和处理数据量(请求和响应)、每秒请求数。每一个指标的压测方法不一样。

  • 压测ALB新建连接数指标建议使用短连接,用于测试ALB与后端服务器的新建处理能力。建议使用简单的心跳服务测试,减少过多的带宽消耗带来的影响。使用短连接测试时,需要注意客户端端口不足的问题。

  • 压测ALB并发连接数指标建议使用长连接,用于测试ALB与后端服务器的并发处理能力。每一条长连接建议使用简单的心跳服务测试,起到保活会话的作用。使用长连接测试高并发能力时,同样需要注意客户端端口不足的问题。

  • 压测ALB处理数据量建议使用长连接,用于测试带宽上限或特殊业务。压测工具的超时时间建议设置一个较小值,如5秒。因为超时时间太大,测试结果显示平均响应时间加长,导致不利于判断是否已经到达压测水位。超时时间调小,测试结果会体现在成功率上,便于快速判断压测水位。

  • 压测ALB每秒请求数,用于测试ALB与后端服务器的请求处理能力。可以选择HTTP短连接、HTTP长连接、HTTPS短连接、HTTPS长连接进行测试。

服务器组配置建议

压测时,建议关闭健康检查功能,减少健康检查对后端服务器的访问请求。

压测工具

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

  • 不建议您使用Apache ab作为压力测试工具:Apache ab在大量并发场景下存在3秒、6秒、9秒阶梯式停顿的现象。Apache ab会通过判断content length来确定请求是否成功,而ALB挂载多台后端服务器时,返回的content length会不一致,导致测试结果有误。

使用PTS简单压测示例

创建一个ALB实例,并为该ALB实例添加一个HTTP 80监听和HTTPS 443监听,HTTP监听和HTTPS监听均添加了两台ECS实例作为后端服务器,后端端口均设置为80。ECS服务器的配置为CPU 1核,内存512 MB且使用CentOS 6.3 64位的操作系统。分别登录这两台ECS实例,执行以下步骤完成压测。关于如何登录ECS,请参见连接方式概述。

  1. 执行以下命令,安装Apache Web Server提供Web服务。

    sudo yum install -y httpd
  2. 执行以下命令,初始化默认首页index.html。

    sudo echo "testvm" > /var/www/html/index.html
  3. 执行以下命令,启动HTTP服务。

    sudo service httpd start
  4. 根据场景,执行以下命令,访问本地的80或443端口,确认Web服务可用。

    1. HTTP监听使用以下命令:

      sudo curl localhost

      sudo curl 127.0.0.1
    2. HTTPS监听使用以下命令:

      sudo curl localhost:443

      sudo curl -k 127.0.0.1:443
  5. 在PTS中创建测试场景,开始压力测试。具体操作请参见如何在一分钟内发起压测?。

可能导致压测性能低的原因

若发现压测性能低,可能是以下原因造成的:

  • 客户端端口不足

    在进行压力测试时,客户端端口不足会导致连接建立失败。

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

  • 后端服务器accept队列满

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

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

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

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

    解决方法:根据实际情况清理后端服务器上不需要的应用。

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

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

    解决方法:建议关闭健康检查功能,减少健康检查对后端服务器的访问请求。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/170193.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云负载均衡通过弹性网卡添加后端服务器-云淘科技

    弹性网卡(Elastic Network Interfaces,简称ENI)是一种可以附加到专有网络VPC类型ECS实例上的虚拟网卡,可以实现高可用集群搭建、低成本故障转移和精细化的网络管理。应用型负载均衡实例支持通过弹性网卡ENI上的主IP及其辅助IP来添加后端服务器。 背景信息 添加服务器组时,如果ECS实例绑定了多个弹性网卡,则ALB支持挂载弹性网卡E…

    阿里云负载均衡 2023年12月10日
  • 阿里云负载均衡配置会话保持-云淘科技

    默认情况下,ALB会将每个客户端请求分别分发到不同的后端服务器上。当您开启了会话保持功能后,会话保持可以使来自同一客户端的请求被转发到同一台后端服务器上。本文为您介绍会话保持的相关配置。 背景信息 默认情况下,ALB会将每个客户端请求分别分发至不同的后端服务器上。当您开启了会话保持功能后,会话保持可以使来自同一客户端的请求被转发至同一台后端服务器上,方便后端…

    阿里云负载均衡 2023年12月10日
  • 阿里云容器服务ACKIngress FAQ-云淘科技

    本文汇总了使用Nginx Ingress和ALB Ingress时的常见问题。 Nginx Ingress Ingress支持哪些SSL/TLS版本? Ingress L7请求头默认是透传的吗? 后端服务为HTTPS服务访问时是否可以通过Ingress-Nginx转发? Ingress L7透传客户端IP吗? Nginx Ingress Controller…

    阿里云容器服务 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库经济版(ARM架构)性能&价格力观测-云淘科技

    本文介绍如何在瑶池数据库控制台一键快速搭建资源完全对等的环境,对经济版(ARM架构)RDS MySQL与部署在ECS实例(X86架构)的自建MySQL基于Sysbench进行性能压测,实时动态查看性能、价格和性价比结果。 背景 阿里云提供了两种体验方式: 免费体验:阿里云提供了已部署压测相关资源的预置环境,您无需开通资源,只需配置压测参数,即可免费体验压测。…

    2023年12月9日
  • 阿里云负载均衡计费概述-云淘科技

    通过阅读本文,您可以快速了解应用型负载均衡ALB的付费方式、计费组成和定价等计费信息。 付费方式 应用型负载均衡ALB(Application Load Balancer)支持按量付费(后付费)和资源包(预付费)两种付费方式。 按量付费(后付费):按照各计费项的实际用量结算费用,先使用,后付费,适用于业务用量经常有变化的场景。 资源包(预付费):预先购买资源…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。