文章目录
- 最近网站老是崩溃卡死,差不多有10来分钟无法正常运行,这就想到了测试工具,同时也检测一下到底是哪里配置出问题了;这个压力测试工具有许多,我用过apache的ab,以及最近用的siege工具;
- 这个只要服务器运行的是apache就基本带有;
- sudo apt-get install apache2-utils
- ab -n 100 -c 10 url 其中-n表示请求数,-c表示并发数
- Concurrency Level: 100 //并发请求数 Time taken for tests: 50.872 seconds //整个测试持续的时间 Complete requests: 1000 //完成的请求数 Failed requests: 0 //失败的请求数 Total transferred: 13701482 bytes //整个场景中的网络传输量 HTML transferred: 13197000 bytes //整个场景中的HTML内容传输量 Requests per second: 19.66 [#/sec] (mean) //吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值 Time per request: 5087.180 [ms] (mean) //用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值 Time per request: 50.872 [ms] (mean, across all concurrent requests) //服务器平均请求处理时间,大家最关心的指标之三 Transfer rate: 263.02 [Kbytes/sec] received //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
-
- 下载地址 下载安装 wget http://download.joedog.org/siege/siege-latest.tar.gz tar -xvf siege-latest.tar.gz cd siege-4.0.4/(注意替换成当前版本号) ./configure make make install 检查: siege -V 出现类似SIEGE 4.0.4,则安装成功
- 创建url.txt,文件名随意,其内容为网站地址,可多个地址(一行只能有一个); vi url.txt 测试 siege -c 25 -t 5s -d 1 url.txt 附加 含义 -c 线程数(用户数)25 -t 持续时间 5s -d 每个请求的延迟时间,在1和d之间 1s url.txt 进行测试的url,也可以是一个TXT文件,随机同时测多个url
- 查看配置文件目录: siege --config 会打印出一系列配置,其中resource file指示的目录为配置文件 ex : ~/.siege/siege.conf 可能需要修改的参数: 1 . limit:最大并发数,默认25或者255,当你-c值超过此值会使用默认值,建议修改为一个比较大的数值,比如100000 2 . failures:最大失败数,达到此值会自动终止测试,建议修改为较大值,100000
- Transactions: 250 hits Availability:100.00 % Elapsed time: 14.67 secs Data transferred: 448000 bytes Response time: 0.43 secs Transaction rate: 17.04 trans/sec Throughput: 30538.51 bytes/sec Concurrency: 7.38 Status code 200: 250 Successful transactions: 250 Failed transactions: 0 Longest transaction:0.22 Shortest transaction:0.01 解析: Transactions=Successful transactions:成功请求总数 Availability:正确率(成功率) Elapsed time:总耗时 Data transferred:交换的数据量 Response time:请求平均响应时间 Transaction rate:单位时间内请求数,公式:Transactions / Elapsed time Throughput:吞吐量,单位时间内交换的数据量,公式:Data transferred / Elapsed time Concurrency:并发数(估算值),公式:Transactions * Response time / Elapsed time Failed transactions:失败请求数 Longest transaction:最长请求时间 Shortest transaction:最短请求时间
最近网站老是崩溃卡死,差不多有10来分钟无法正常运行,这就想到了测试工具,同时也检测一下到底是哪里配置出问题了;这个压力测试工具有许多,我用过apache的ab,以及最近用的siege工具;
最近网站老是崩溃卡死,差不多有10来分钟无法正常运行,这就想到了测试工具,同时也检测一下到底是哪里配置出问题了;这个压力测试工具有许多,我用过apache的ab,以及最近用的siege工具;
这个只要服务器运行的是apache就基本带有;
这个只要服务器运行的是apache就基本带有;
sudo apt-get install apache2-utils
sudo apt-get install apache2-utils
ab -n 100 -c 10 url
ab -n 100 -c 10 url其中-n表示请求数,-c表示并发数
Concurrency Level: 100 //并发请求数
Time taken for tests: 50.872 seconds //整个测试持续的时间
Complete requests: 1000 //完成的请求数
Failed requests: 0 //失败的请求数
Total transferred: 13701482 bytes //整个场景中的网络传输量
HTML transferred: 13197000 bytes //整个场景中的HTML内容传输量
Requests per second: 19.66 [#/sec] (mean) //吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean) //用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests) //服务器平均请求处理时间,大家最关心的指标之三
Transfer rate: 263.02 [Kbytes/sec] received //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Concurrency Level: 100 //并发请求数
Time taken for tests: 50.872 seconds //整个测试持续的时间
Complete requests: 1000 //完成的请求数
Failed requests: 0 //失败的请求数
Total transferred: 13701482 bytes //整个场景中的网络传输量
HTML transferred: 13197000 bytes //整个场景中的HTML内容传输量
Requests per second: 19.66 [#/sec] (mean) //吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean) //用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests) //服务器平均请求处理时间,大家最关心的指标之三
Transfer rate: 263.02 [Kbytes/sec] received //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
- 下载地址
- 下载安装
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -xvf siege-latest.tar.gz
cd siege-4.0.4/(注意替换成当前版本号)
./configure
make
make install
- 检查:
siege -V
出现类似SIEGE 4.0.4,则安装成功
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -xvf siege-latest.tar.gz
cd siege-4.0.4/(注意替换成当前版本号)
./configure
make
make install
siege -V
出现类似SIEGE 4.0.4,则安装成功
-
创建url.txt,文件名随意,其内容为网站地址,可多个地址(一行只能有一个);
vi url.txt
-
测试
siege -c 25 -t 5s -d 1 url.txt
创建url.txt,文件名随意,其内容为网站地址,可多个地址(一行只能有一个);
vi url.txt
测试
siege -c 25 -t 5s -d 1 url.txt
| 附加 | 含义 |
|---|---|
| -c | 线程数(用户数)25 |
| -t | 持续时间 5s |
| -d | 每个请求的延迟时间,在1和d之间 1s |
| url.txt | 进行测试的url,也可以是一个TXT文件,随机同时测多个url |
-
查看配置文件目录:
siege --config
会打印出一系列配置,其中resource file指示的目录为配置文件 ex : ~/.siege/siege.conf
-
可能需要修改的参数:
1 . limit:最大并发数,默认25或者255,当你-c值超过此值会使用默认值,建议修改为一个比较大的数值,比如100000
2 . failures:最大失败数,达到此值会自动终止测试,建议修改为较大值,100000
查看配置文件目录:
siege --config
会打印出一系列配置,其中resource file指示的目录为配置文件 ex : ~/.siege/siege.conf
可能需要修改的参数:
1 . limit:最大并发数,默认25或者255,当你-c值超过此值会使用默认值,建议修改为一个比较大的数值,比如100000
2 . failures:最大失败数,达到此值会自动终止测试,建议修改为较大值,100000
Transactions: 250 hits
Availability:100.00 %
Elapsed time: 14.67 secs
Data transferred: 448000 bytes
Response time: 0.43 secs
Transaction rate: 17.04 trans/sec
Throughput: 30538.51 bytes/sec
Concurrency: 7.38
Status code 200: 250
Successful transactions: 250
Failed transactions: 0
Longest transaction:0.22
Shortest transaction:0.01
解析:
Transactions=Successful transactions:成功请求总数
Availability:正确率(成功率)
Elapsed time:总耗时
Data transferred:交换的数据量
Response time:请求平均响应时间
Transaction rate:单位时间内请求数,公式:Transactions / Elapsed time
Throughput:吞吐量,单位时间内交换的数据量,公式:Data transferred / Elapsed time
Concurrency:并发数(估算值),公式:Transactions * Response time / Elapsed time
Failed transactions:失败请求数
Longest transaction:最长请求时间
Shortest transaction:最短请求时间
