今天在拿项目里的接口去测压,我信誓旦旦觉得脚本没问题,然后跑了一轮发现Jmeter批处理跑的时候卡住了,然后我就去测试大佬的群里问了,大佬给建议让我看服务器,然后我就去查了服务器
然而我还在熟悉服务器的过程我也不知道看啥,我就通过`netstat -anp|grep 7711|awk '{printf $7}'|cut -d '/' -f 1`查了服务对应的pid,然后top -c,然后我根据我之前的经验我看了top命令的指标我也没发现啥问题(性能小白的快乐就是top -c),所以我去找了我们的开发。
发现他们一般是先查项目的log,然后再排nignx再排redis的错,然后我悄咪咪学了手tail -n 200 fileneme看日志。
当然最后是开发排出来的。
重启redis之后登录接口又能正常访问。
然后下午开发又排了一次,发现是redis请求到10w的时候会出现问题,具体的解决方案还在摸索中
我脚本也有一些问题,比如为了省事我是直接写死的token,token在运行过程中失效了,正常的写法参照下面大佬的blog,我准备明天再压压看
jmeter登录接口获取token及token过期问题解决_beishida123的博客-CSDN博客_jmeter的token失效怎么办问题一、如何获取token问题解决:登录完成后,通过json提取器获取问题二、多线程组参数如何传递问题解决:添加一个beanshell后置处理程序,并通过函数设置全局变量:KaTeX parse error: Expected group after '_' at position 2: {_?_setProperty(to…{token},)}获取全局变量token问题三、因为token会过期,所以需要每过一段时间执行一次登录接口问题解决:通过添加测试活动,来暂停运行线程。例如下图,则是https://blog.csdn.net/beishida123/article/details/120343402
开发大佬排出来这个问题,是因为redis里的token估计是我之前压登录接口的时候不注意压了10万条进去,满了...我...
然后开发清了,后面就没这个问题了。
|