博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP压力测试工具wrk的安装及测试
阅读量:5105 次
发布时间:2019-06-13

本文共 2354 字,大约阅读时间需要 7 分钟。

本次在VMware虚拟机的CentOS6.3系统中进行安装wrk压测工具,具体如下:

一、预先安装需求项

为了安装顺利,不受权限的限制,首先可以把用户切换为root用户

# su + 输入root用户对应的密码
1.1 安装支持后续操作的一些组件
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc

1.2 安装编译套件

# yum install gcc perl-ExtUtils-MakeMaker

二、安装or升级版本管理工具git

2.1 查看git版本

# git --version
若libiconv字符集转换库没安装而出现错误:error: /utf8.c:463: undefined reference to 'libiconv'
解决方案:依次执行如下命令(无以上error则略过)
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
# tar zxvf libiconv-1.14.tar.gz
# cd libiconv-1.14
# ./configure --prefix=/usr/local/libiconv
# make && make install

2.2 卸载旧版本git

在CentOS6.3系统环境下,如果以上查询的版本比较早(如:1.7.1版本),对后续的安装wrk会受到阻碍,故需升级git到新版本(如:2.2.1版本)
卸载旧版本的目录为:
# yum remove git

2.3 安装新版本git

1)下载git 2.2.1进行编译安装;2)将git添加到环境变量
# wget https://github.com/git/git/archive/v2.2.1.tar.gz
# tar -zxvf v2.2.1
# cd git-2.2.1
# make configure
# ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
# make all doc
# make install install-doc install-html
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
# source /etc/bashrc
再次查看安装新版本git后的效果:
git --version

三、正式安装wrk

切换到src目录,再次检验是否安装git

# cd /usr/local/src
# yum install git -y
3.1 克隆wrk安装文件到本地
# git clone https://github.com/wg/wrk.git
3.2 编译wrk文件
# cd wrk
# make
若出现错误:xmlto: command not found,可以尝试重新安装xmlto:# yum -y install xmlto
3.3 创建软链接到指定目录
# ln -s /usr/local/src/wrk/wrk /usr/local/bin
3.4 检验wrk是否安装成功
# wrk

 

 

 

四、wrk性能测试

4.1 配置待测网站的IP指向到内网

根据测试环境的要求,进行环境配置,比如有的网站不允许在外网正式环境进行压测,就需要配置一个指向内网的环境进行测试
打开hosts编辑器
# vim /etc/hosts
配置当前环境的hosts,格式为:

# IP1 url1# IP2 url2...# IPx urlx

ESC键从编辑模式切换到正常模式,然后输入:wq保存并退出

4.2 测试http协议网站的性能

[root@localhost /]# wrk -t2 -c10 -d15 --latency http://www.baidu.comRunning 15s test @ http://www.baidu.com  2 threads and 10 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency    35.64ms    1.31ms  48.59ms   79.38%    Req/Sec   138.40     13.52   151.00     89.00%  Latency Distribution     50%   35.50ms     75%   36.13ms     90%   37.09ms     99%   40.33ms  4151 requests in 15.05s, 60.83MB read  Socket errors: connect 0, read 29, write 0, timeout 0 Requests/sec: 275.72 Transfer/sec: 4.04MB

4.3 wrk参数含义

1)语法中的参数

-t:需要模拟的线程数-c:需要模拟的连接数-d:测试的持续时间--timeout:超时的时间--latency:显示延迟统计

2)结果显示的指标

Latency:响应时间Req/Sec:每个线程每秒钟的完成的请求数Avg:平均Max:最大Stdev:标准差

转载于:https://www.cnblogs.com/zhuochong/p/10438170.html

你可能感兴趣的文章
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
java 类型转型
查看>>
基于C#编程语言的Mysql常用操作
查看>>
【转】Java反射 之 反射基础
查看>>
mysql数据库备份和还原的常用命令
查看>>
s3c2440实验---定时器
查看>>
HBase配置性能调优(转)
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
python中的字符编码
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
为什么int型最大的数是2147483647
查看>>