我们使用Apache ab来做压力测试工具
示例代码 http.js
var http = require('http')
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.write('Hello Nodejs')
res.end()
})
.listen(2015)
在node命令行运行
node http.js
在浏览器访问:localhost:2015
新开一个命令行
ab -n1000 -c10 http://localhost:2015/
// -n1000 表示总的请求数是1000,默认是1
// -c10 表示并发量是10,默认值是1
// -t 表示测试的总时间
// -p 表示post时候的数据文件
// -w 表示以html表格的形式输出
Server Software: 表示被测试的web服务器软件的名称
Server Hostname: 表示请求url的主机名称
Server Port: 表示监听的端口
Document Path: 标签请求的url里面的跟绝对路径
Document Length: 表示HTTP响应正文的长度
Concurrency Level: 表示并发数
Time taken for tests: 表示所有请求花费的总时间
Complete requests: 表示完成的总请求数量
Failed requests: 表示失败的总请求数
Total transferred: 表示整个过程中的网络传输量,所有数据的响应数据总和,包括http响应的头信息和正文数据的长度
HTML transferred: 表示整个过程当中HTML的网络传输量
Requests per second: 表示服务器的吞吐率
Time per request: 表示用户平均请求的等待时间
Transfer rate: 表示这些请求在单位时间的请求量
Connection Times表示网络上时间的分解
Connect: 表示连接
Processing: 处理
Waiting: 等待
Total: 总数