web 程序做压力测试怎么让结果最精准

2012-11-28 17:16:39 +08:00
 wuxiaolin
如题,我现在需要做这方面的测试,暂时只是测一个接口。一般我们做压测,应该怎么开始,环境有什么要求没有?测试时数据应该怎么调整?要对几次测试结果进行汇总对比才能得出一个更加准确的结果。暂时用ab在测试
4717 次点击
所在节点    PHP
16 条回复
webgeekman
2012-11-28 17:28:33 +08:00
推荐Loadrunner!
wuxiaolin
2012-11-28 17:37:25 +08:00
@webgeekman 其实我想问的是,如何能得到一个较为准确的测试结果
hehe
2012-11-28 21:01:05 +08:00
webbench
http_load
and so on
webgeekman
2012-11-29 00:21:03 +08:00
@wuxiaolin
测试数据越接近实际数据越好(包括数据大小、复杂程度,当然测试阶段接近最高值比较好);
测试模拟的过程越接近实际使用过程越好(模拟用户实际操作的流程);
被测试服务器与实际部署服务器配置越接近越好;
发起测试机配置当然也越高越好,能够更好的模拟并发;
测试机与被测试机最好在同一局域网下;
测试次数越多越能得到准确的测试结果。
sivacohan
2012-11-29 01:44:50 +08:00
ab
jmeter
都可以简单测试
当然,网络因素也要考虑一下。
wuxiaolin
2012-11-29 09:25:57 +08:00
@webgeekman 谢谢哥们详细的解说
wuxiaolin
2012-11-29 09:27:08 +08:00
@sivacohan 现在就是用ab在做测试,就是不知道怎么得到一个更加准确的结果
sampeng
2012-11-30 00:53:56 +08:00
首先问题是定义,什么叫准确。
sampeng
2012-11-30 00:56:52 +08:00
我走压力测试,一定是以现有数据推算一个值,然后去压。符合这个值。就算ok。。。
服务器和线上服务器最好一致。不一致就在推算的数据值进行比例换算。

要想知道是不是准确的很简单。。

每个操作就是一个事物。TPS是可以在代码里面就算的。一统计就知道TPS了。。
如果是每秒多少个页面请求。1,可以自己代码里面进行记录。2,直接分析web服务器的日志也一样的。然后和测试数据一比就知道了。。

所以才说,一定要现定义什么叫准确,自己预期压力是多少
venglide
2012-11-30 12:05:56 +08:00
你应该先要明白你要测的是什么,比如:
- 有预期并发量,测试系统响应及资源利用
- 无预期并发量,想测试系统能有多大的容量
- 测试系统的稳定性而非响应速度
各种测试所用的测试策略是不一样的,依需求而测。
wuxiaolin
2012-12-08 15:29:21 +08:00
@venglide 我现在是- 无预期并发量,想测试系统能有多大的容量 测试这条
wuxiaolin
2012-12-08 15:32:57 +08:00
@sampeng 因为之前没搞过这块,所以也是很凌乱,这个是新的系统,所以并没一个可估算的值,现在是想测试在这一个环境下面能支持最大的容量等,想得出到底在什么情况之下得加机器,就想这样的测试
yegle
2012-12-09 08:27:59 +08:00
@wuxiaolin 直接上线撑不住就立即扩容…这个不是更好么…
sampeng
2012-12-10 23:25:47 +08:00
@wuxiaolin web的压力测试只是一个补充,不能起绝对作用。所有数据都是有相对前提的。。。
一个tps1000的系统也很有可能一个小小的疏漏1-2个人就玩卡死了。
sampeng
2012-12-10 23:26:57 +08:00
@wuxiaolin 我以前服务的一家公司是要求cpu不能超过50%。否者必须扩容,所以才用压力测试。平常都是盯着。loader太高,响应明显变慢才加机器。一般初步估计的够用个1-2年的
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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/53538

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX