我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

在Linux实例的Apache中进行ab压力测试时,提示“apr_pollset_poll: The timeout specified has expired”错误时的问题原因、解决方案。

问题描述

在Linux实例的Apache中进行ab压力测试时(如:ab -c 10 -n 5000 http://192.168.XXX.XXX/)提示以下报错。

 

apr_pollset_poll: The timeout specified has expired

问题原因

由于压测的并发请求超出ECS实例的最大连接条目,在没有执行完就报错。

解决方案

您可以登录实例,修改/etc/sysctl.conf文件内容并在ab测试命令中加-k参数以解决此问题。

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 修改内核参数文件。

    1. 执行如下命令,打开内核参数文件(/etc/sysctl.conf)。

       

      vim etc/sysctl.conf
    2. 在内核参数文件中,添加如下内容。

       

      net.ipv4.netfilter.ip_conntrack_max = 3276800net.ipv4.tcp_tw_recycle = 0net.ipv4.tcp_tw_reuse = 0net.ipv4.tcp_orphan_retries = 1net.ipv4.tcp_fin_timeout = 25net.ipv4.tcp_max_orphans = 8192net.ipv4.ip_local_port_range = 32768    61000
    3. Esc键、输入:wq!并按Enter键。

  3. 执行如下命令,使配置生效。

     

    sysctl -p /etc/sysctl.conf
  4. 在ab测试命令中加-k参数,并重新执行该命令,确认不会再出现该问题。

    如以下示例,在ab -c 10 -n 5000 http://192.168.XXX.XXX/命令中添加-k参数。

     

    ab -c 10 -n 5000 -k http://192.168.XXX.XXX/




推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线