摘自百度百科:
http://baike.baidu.com/linkurl=i2E0siqQQ0thsa2uAQBp_unMHl83WT0RnhyhR7SngWg47Rfkx1boieQ95Vo6lXCUoyELenYovGLweaQVXZLbLYpZO2YQaz4Mlb0NmSYVOIvjxgsD03QW94DhuYW6I4Bv
概念
使用ab工具必须安装apache: http://httpd.apache.org/
输入命令
ab [options] [http[s]://]hostname[:port]/path
//其中-n表示请求数,-c表示并发数 后面接上测试地址
ab -n 10000 -c 10 http://192.168.20.68:8080/firstweb/RP
下面是我在Linux下进行测试输出的测试报告:
[root@localhost html]# ab -n 10000 -c 10 http://192.168.20.68:8080/firstweb/RP
版本信息
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
完成的请求
Benchmarking 192.168.20.68 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Web服务器的信息,可以看到服务器采用的是Apache,域名是192.168.20.68,端口是8080
Server Software: Apache-Coyote/1.1
Server Hostname: 192.168.20.68
Server Port: 8080
请求的文档的相关信息,所在位置“/firstweb/RP”,文档的大小为338436 bytes(此为http响应的正文长度)
Document Path: /firstweb/RP
Document Length: 1 bytes
//并发请求数
Concurrency Level: 10
//测试时间
Time taken for tests: 9.867 seconds
//完成的请求数
Complete requests: 10000
//失败的请求
Failed requests: 986 (Connect: 0, Receive: 0, Length: 986, Exceptions: 0)
Write errors: 0
//网络传输量
Total transferred: 1221474 bytes
//html内容传输量
HTML transferred: 10990 bytes
//吞吐率
Requests per second: 1013.48 [#/sec] (mean)
//用户平均请求等待时间
Time per request: 9.867 [ms] (mean)
//服务器平均请求处理时间
Time per request: 0.987 [ms] (mean, across all concurrent requests)
//传输速率
Transfer rate: 120.89 [Kbytes/sec] received
//网络上消耗的时间的分解
Connection Times (ms) min mean[+/-sd] median max
Connect: 0 4 10.0 3 426
Processing: 1 6 15.3 4 427
Waiting: 0 4 11.4 3 426
Total: 2 10 18.4 8 451
//每个请求处理时间的分布情况
Percentage of the requests served within a certain time (ms)
50% 8
66% 8
75% 9
80% 9
90% 11
95% 13
98% 20
99% 28
100% 451 (longest request)
这是一款纯java代码写的测试工具,运行需要jdk环境
API: http://jmeter.apache.org/api/index.html
官网:http://jmeter.apache.org/
官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
或者到本人百度云下载:链接:http://pan.baidu.com/s/1gf1IyCb 密码:j33m
安装之后双击打开bin目录下的
右键添加一个 线程组setUp Thread Group
右键 serUp Thread Group 添加一个http请求
填写HTTP请求配置
点击 绿色的小箭头就可以运行了
会提示你保存一下
程序右上角的是指 总共1000个线程,执行了937个
我之前发过一篇多线程的文章,我们知道:内存越大 能开启的线程更多
那如何设置程序的运行内存呢?
http://blog.csdn.net/gfd54gd5f46/article/details/55058552
-Xms 初始堆大小
-Xmx 最大堆大小
-Xmn 年轻代大小(1.4or lator)
运行java程序时做配置
在VM grguments 下输入配置信息,分配程序的运行内存
jvisualvm
即可打开然后我运行一个程序,就可以监控到程序的信息了
里面开启4个线程
在Demo1(类名)下面的线程里就能看到当前运行的线程了
我在程序里面里面开启了4个线程
颜色的表示的是状态