问题:最近有一个项目线上出现了问题,但是自己在测试环境又无法复现,所以怀疑是用户线上并发高导致的,为了在测试环境模仿高并发的情况,特地使用了一个压力测试的工具。
准备:1、linux系统、2、联网
下载安装: 在linux系统中分别运行以下命令
1、wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz 2、tar xzvfhttp_load-12mar2006.tar.gz 3、cd http_load-12mar2006/ 4、make 5、make install
操作:进入http_load文件夹内,如图
按照步骤:1、进入http_load文件夹内
2、新建test.txt文件
3、在text.txt文件内写入需要压力测试的路径,例如:
http://123.123.123.123:8080/index.html
4、在htpp_load文件夹内输入执行命令,例如:
./http_load -parallel 10 -seconds 10 test.txt
5、其中-parallel后面跟的是并发数,-seconds后面跟的是执行时间,所以这段话的意思是以10个并发来访问该路径10秒钟,访问完毕后会返回一些信息。
6、进行压力测试中,我们正常再访问服务器会发现明显的变慢了,这就证明我们压力测试成功了,当我们加大并发数会发现有些请求半天也请求不到,我们就可以随意调整并发数来进行测试。
技巧:本次是对一个正在云服务器上运行的系统进行了一个并发访问的压力测试,为了模仿真实环境并发访问造成资源带宽不稳定出现的种种问题,在这里我们只需要知道云服务器的地址和端口号,然后直接访问index.html页面就可以了,因为系统会对没有登录的用户进行一个拦截,我们在浏览器上直接访问index.html的话系统会将我们的访问重定向到登录页面(login.html)让我们登陆,所以我们直接压测首页,系统会进行大量的重定向登录页面操作,这样就造成了系统资源带宽的不稳定,大家就可以在这种环境下进行测试了,当然大家可以尝试将并发数设置的足够高,将执行时间设置的足够长,这样会有意想不到的效果等着大家去探索。