性能测试的监控部署(四)——大话性能测试(18)

发表于:2022-7-08 09:41

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

 作者:胡通    来源:51Testing软件测试网原创

  sar命令在这里用于査看TCP连接状态,其中的一些输出说明如下。
  active/s表示每秒本地发起的TCP连接数,即通过connect调用创建的TCP连接数。
  passive/s表示每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接数。
  TCP连接数可以用来判断性能问题是否由建立了过多的连接造成,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是由网络环境恶劣,或者服务器压力过大导致丢包造成的。
  通过ETCP关键字可以査看TCP层的错误统计,包括重试、断连、重传、错误等。
  atmptf/s表示每秒重试失败数。
  estres/s表示每秒断开连接数。
  retrans/s表示每秒重传数。
  isegerr/s表示每秒错误数。
  另外,通过如下命令可以统计服务器上各个状态的连接数。
netstat -n | awk '/Atcp/ (++S[$NF]} END (for(a in S)print a,S[a]}
  返回结果示例如下:
  其中,SYN_RECV表示正在等待处理的连接数,ESTABLISHED表示正常数据传输状态的连接数,TIME_WAIT表示处理完毕,等待超时结束的连接数。
  注意
  TIME_WAIT状态的连接数的值过高会占用大量连接,影响系统的负载能力,需要调整参数,以尽快释放TIME_WAIT状态的连接。
  _般TCP相关的内核参数在/etc/sysctl.conf文件中。为了能够尽快释放TIME_WAIT状态的连接,可以做以下配置:
  上面讲解的都是日常工作中最实用的命令,一般在定位问题的时候是比较常用的。而在压测过程中,还需要收集每个时间点的状态。从最早的nmon工具,到后来的Zabbix,此处是作者自己写Shell脚本来搭建收集每个时间点的监控指标平台,供读者借鉴。
  该脚本通过sar、top、free等上述常用命令,按一定的时间间隔收集数据,存入InfluxDB时序数据库中,以便后续图形化展示。该脚本是基于CentOS6和CentOS7编写的,如代码清单1-2所示,读者可以根据自己的需要进行微调和增加监控内容。
代码清单1-2monitor_centos.sh
查看《大话性能测试》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号