混沌工程实践指南:Linux文件句柄满载

发表于:2023-1-29 10:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:guoxilin    来源:twt

  一、测试目的及背景说明
  在linux里头“一切皆文件”,所以虽然提示“文件”打开太多,其实也有可能是socket打开太多或者设备打开太多 ,linux在文件句柄的数目有限制;数量限制针对系统级别和用户级别。默认情况下每个用户所能使用的句柄数是1024。一般情况下1024也够用了,但是在大容量的系统上,特别是会频繁使用网络通信和文件IO的系统上,1024可能不够。因此文件句柄耗尽极端异常是一个比较常见的异常;此测试目的模拟在出现服务器文件句柄耗尽(Too Many Open Files)故障后,对业务连续性的影响,系统稳定性和可恢复性以及应急处理能力
  主要达到以下目的:
  ( 1 )验证了各个业务系统在指定故障场景下的稳定性和可恢复性。
  ( 2 )验证监控和告警的有效性以及指标是否全面 。
  ( 3 ) 故障突袭,提升相关人员定位,故障问题的能力 。
  二、测试步骤步骤描述
  1、查看空闲状态下的打开文件描述符数量
  cd /proc/{pid};ls fd/wc
  2、发起背景压力,查看打开文件描述符数量,修改/etc/security/limits.conf配置,加入:
Weblogic soft nofile {限制数量}
Weblogic hard nofile {限制数量}
  3、重启应用节点
  故障注入指令说明:
  1、echo “weblogic soft nofile 600”>> /etc/security/limits.conf:
echo “weblogic hard nofile 600”>> /etc/security/limits.conf
   su – weblogic  -c “ulimit -n”
  2、查看打开文件描述符数量
  lsof –u weblogic |wc
  3、查看日志发现提示“too many open files”异常
  三、整体故障表现
  1、故障注入期间交易失败率7.9%,登录和xx交易与故障强相关。
  2、故障影响时长与故障注入时长一致
  3、故障节点能自动隔离
  4、故障解除后恢复时长快速恢复,恢复程度100%
  四、故障影响评估
  1、影响范围主要为渠道类系统
  2、故障严重等级中
  3、故障发生概率评估;比较易出现
  五、针对性优化建议
  1.linux句柄数合理配置
  2.使用线程池和连接池,避免进程句柄 耗光数 ,进程崩溃。
  3.用到HttpClient,尽量也应该使用连接池来控制连接数。
  4.超时时间合理设置;满足漏斗原则。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号