1
webgeekman 2012-11-28 17:28:33 +08:00
推荐Loadrunner!
|
2
wuxiaolin OP @webgeekman 其实我想问的是,如何能得到一个较为准确的测试结果
|
3
hehe 2012-11-28 21:01:05 +08:00
webbench
http_load and so on |
4
webgeekman 2012-11-29 00:21:03 +08:00
@wuxiaolin
测试数据越接近实际数据越好(包括数据大小、复杂程度,当然测试阶段接近最高值比较好); 测试模拟的过程越接近实际使用过程越好(模拟用户实际操作的流程); 被测试服务器与实际部署服务器配置越接近越好; 发起测试机配置当然也越高越好,能够更好的模拟并发; 测试机与被测试机最好在同一局域网下; 测试次数越多越能得到准确的测试结果。 |
5
sivacohan 2012-11-29 01:44:50 +08:00
ab
jmeter 都可以简单测试 当然,网络因素也要考虑一下。 |
6
wuxiaolin OP @webgeekman 谢谢哥们详细的解说
|
8
sampeng 2012-11-30 00:53:56 +08:00
首先问题是定义,什么叫准确。
|
9
sampeng 2012-11-30 00:56:52 +08:00
我走压力测试,一定是以现有数据推算一个值,然后去压。符合这个值。就算ok。。。
服务器和线上服务器最好一致。不一致就在推算的数据值进行比例换算。 要想知道是不是准确的很简单。。 每个操作就是一个事物。TPS是可以在代码里面就算的。一统计就知道TPS了。。 如果是每秒多少个页面请求。1,可以自己代码里面进行记录。2,直接分析web服务器的日志也一样的。然后和测试数据一比就知道了。。 所以才说,一定要现定义什么叫准确,自己预期压力是多少 |
10
venglide 2012-11-30 12:05:56 +08:00
你应该先要明白你要测的是什么,比如:
- 有预期并发量,测试系统响应及资源利用 - 无预期并发量,想测试系统能有多大的容量 - 测试系统的稳定性而非响应速度 各种测试所用的测试策略是不一样的,依需求而测。 |
12
wuxiaolin OP @sampeng 因为之前没搞过这块,所以也是很凌乱,这个是新的系统,所以并没一个可估算的值,现在是想测试在这一个环境下面能支持最大的容量等,想得出到底在什么情况之下得加机器,就想这样的测试
|
14
sampeng 2012-12-10 23:25:47 +08:00
@wuxiaolin web的压力测试只是一个补充,不能起绝对作用。所有数据都是有相对前提的。。。
一个tps1000的系统也很有可能一个小小的疏漏1-2个人就玩卡死了。 |
15
sampeng 2012-12-10 23:26:57 +08:00
@wuxiaolin 我以前服务的一家公司是要求cpu不能超过50%。否者必须扩容,所以才用压力测试。平常都是盯着。loader太高,响应明显变慢才加机器。一般初步估计的够用个1-2年的
|
16
venglide 2012-12-17 12:23:36 +08:00
@wuxiaolin 可以尝试这样做:
1)取一个并发量N作为基数进行测试 2)在1)通过的前提下用2*N并发进行测试 3)若上一轮测试通过,取2*2N并发进行测试;若未通过,取(N+2N)/2并发进行测试 重复第3)步可以得到系统的最大容量 Note: 1)基数N根据系统实际情况进行预估 2)增量可以采用其它方式,如在N基础上加/减一个定量 3)测试通过判定:系统主要功能正常运行,没有出现大量错误及系统故障(系统响应慢是可接受的) 更好的建议可以参看:http://www.loadtest.com.au/types_of_tests/volume_tests.htm |