##前期工作
- 检查apache的版本
sudo apachectl -v
- 检查apache是否工作
sudo apachectl status
- 了解一下apache ab
ab是apache的性能测试工具…
##使用
开启我们的http性能测试
#####输入命令
ab -n1000 -c10 http://hyperdai.com/
#####命令解释
-n1000 表示总的请求数是1000个,他默认的值是1
-c10 表示并发是10,默认值也是1
http://127.0.0.1:3000/ 表示要测试的地址,注意这个地址后面需要加上/
除了/n,/c,还有其他参数
-t 表示用来测试所进行的总时间
-p 表示post时候的数据文件
-w 以html表格的形式输出结果
#####效果
#####名词解释
Server Software: 表示被测试web服务器软件的名称
Server Hostname: 表示请求url中到主机名称,主机名
Server Port: 表示监听的端口
Document Path: 表示请求url中的根节点路径
Document Length: 表示响应正文的长度
Concurrency Level: 并发数,这里是设置好的参数
Time taken for tests: 所有请求花费的总时间
Complete requests: 完成的请求数量,这也是我们设置好的参数
Failed requests: 失败的总请求数,这里失败表示请求服务器,发送数据,接收数据发生异常,也包括无响应超时的情况
Total transferred: 整个网络过程中的网络参数量,所有响应数据的长度总和,包括http响应的头信息和正文响应的长度
HTML transferred: 整个过程html的参数量,
Requests per second: 服务器的吞吐率,相当于每秒的事务数
Time per request: 用户平均请求的等待时间,相当于平均事务的响应时间
Time per request: 每个连接请求,实际运行时间的平均值
Transfer rate: 这些请求,单位时间内,网络上的流量,可以帮助排除是否是网络流量过大而导致响应时间延长
Connection Times: 网络上消耗时间的分解,像连接,等待,处理这些
Percentage of the requests served within a certain time: 在一定时间内送达的请求的百分比
eg
90% 4: 表示90%的用户平均请求的时间是少于4ms的
##NodeJs搭建的http服务器测试
本地测试,地址为本地回环地址。
Nodejs服务器搭建代码http-test.js如下:
var http = require('http')
http
.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.write('Hello Nodejs')
res.end()
})
.listen(3000)
启动http服务器:node http-test.js
输入命令:ab -n1000 -c10 http://127.0.0.1:3000/
后记
提醒自己apache jmeter记得学