有差不多1年的时间都没有接触压测了,现在所在的团队中有专业的压测人员,心想应该以后都不会接触到压测了,一边为了可以不用支持压测而高兴,一边又怕丢了这门技术而纠结。纠结约3个月左右,专业压测人员走了,而我这个替补就派上用场了,好久没有折腾压测了,有些知识点都有些生疏啦,花费了好大的力气才摸索清楚了一些东西,现在先记录下来,以免后期又出现这种窘境。
1、 ls /proc/11848/fd | wc -l 查看句柄数
Linux服务器有默认句柄数1024,如果在压测时连接的句柄数达到最大值,后来所有请求都会直接被拒绝,所以在压测的时候一定要监控句柄数。当然如果句柄数达到1024,就需要检查程序,一般句柄数在800左右都算高的了,如果达到1024有可能是因为程序没有释放句柄。
2、netstat -an | grep TIME_WAIT -wc 查看事物等待时长
查看事物等待时长是协助定位问题的一个元素,当事物的等待时长超过预定的最大值时,这个时候就没有压测的必要,需要研发人员定位优化问题。
3、ls -lht 查看文件大小可以用于查看日志文件大小
在压测过程中监控日志增加量,把日志内容控制在合理范围内,也可以通过日志增加量侧面印证压测过程中是否出现异常。
4、echo 1 > /proc/sys/vm/drop_caches 释放内存
压测会耗费内存,当内存消耗过多时,需要用root权限登录执行释放内存命令,快速释放内存,服务器自身释放内存是比较慢的。
5、grep -c 'GFT_POS==>>请求报文:' catalina.out 查看发送多少条数据
可以统计指定内容在指定文件中出现的次数,如此处就是在catalina.out文件中统计发送了多少次请求报文,在压测过程中验证数据是否存在丢失时常用。
6、grep -a "GFT_POS==>>请求报文:" catalina.out > logbyclinva1.log
获取catalina.out文件中含有“GFT_POS==>>请求报文:”所在行的内容并保存到 logbyclinva1.log文件中。
7、cat > catalina.out 清空日志
压测过程中日志量过大时需要及时清空。