程序这玩意,性能是很关键的点,之前我一直以为自己写的程序能承载很多很多并发量之类的,然后,被一个搞搞安全的前辈来了个当头一棒,为什么?因为他给我测试了一下我程序的并发量,然后,我想死的心都有了,至于数量是多少,我就不说了
性能测试工具有很多,像 Tomcat 里面的 JMeter ,至于为什么我不用这个工具?因为我发现,做不到并发的效果,它会像队列一样,如果有多个请求进来,它就会自动排列,导致响应速度过慢,但是也是能运行,并且没什么大问题,所以我觉得效果并不是很好,跟那个前辈沟通,了解到他用的是wrk 的测试工具,那我也尝试一下吧,捣鼓了好几天都没搞好,重新屡一下思路重新搞,到现在才搞好,前后差不多一个星期,只能怪我笨咯,哈哈哈哈
好,废话就不多说了,我们来搭建
1)首先,得有一个CentOS 系统的服务器,不管你用虚拟机搞的,还是在什么阿里云,腾讯云、、、、、等等的平台购买的服务器,我是直接购买的
2)链接方式,我用的是 Xshell5 现在下载这个好像要注册码,我这个是问朋友要的,有人需要的话可以问我拿,,这个是用来打命令的
3)文件传输我用的是:WinSCP,2 -- 3 两步都很简单,我就不说了
4)安装 make 工具和 gcc 编译环境
命令如下:
# 安装 make 工具 yum -y install make # 安装 gcc 编译环境 yum -y installl gcc
这是安装 make 的
这是安装 gcc 的,下面还有一大堆这些我看不懂的,慢慢等就是了
5)接下来就是去安装 wrk 了
wrk 的下载地址,https://github.com/wg/wrk
6)将这个文件用 WinSCP 拉到服务器上并去到这个文件夹的根目录,然后 make
7)然后,你会发现又抛了异常
这是因为我们装 perl ,要是装了的,就跳过这步
8)下载 perl ,链接如下:http://www.perl.org/get.html
8.1)解压并拉到服务器并去到根目录
8.2)执行命令(以下每一行是一句命令)
rm -f config.sh Policy.sh
sh Configure -de
make
make test
make install
8.3)命令解释
config.sh Policy.sh 为以前安装时的配置文件,新安装或升级安装时需要将其删除。
sh Configure -de 安装使用默认配置,一般而言将会 ok .
安装完成后 perl 所在目录为 /usr/local/lib/perl5, perl 执行文件在 /usr/local/bin 中
9)继续返回第六步 ,就是去到 wrk 的根目录下 make
好了,以上就完成了 wrk 的安装
现在开始测试了
用以下命令测试
./wrk -c 1 -t 1 -d 1 http://www.baidu.com
简单说一下wrk里面各个参数什么意思?
- -t 需要模拟的线程数
- -c 需要模拟的连接数
- --timeout 超时的时间
- -d 测试的持续时间
结果:
- Latency:响应时间
-
Req/Sec:每个线程每秒钟的完成的请求数
- Avg:平均
- Max:最大
- Stdev:标准差
-
+/- Stdev: 正负一个标准差占比
标准差如果太大说明样本本身离散程度比较高. 有可能系统性能波动很大.