higkoo 发表于 2008-9-28 21:10:37

典型网站测试案例 分享

WEB的性能测试在性能测试里应该是最多,一般网站多有以下需求。

先以简单的开篇(博客/论坛等后续再讨论):
         若某公司网站仅有此需求:
                               有1000万用户,日访问量(PV)为5000万。

接下来,你会怎么做? :lol

[ 本帖最后由 higkoo 于 2008-9-30 12:32 编辑 ]

higkoo 发表于 2008-9-30 12:30:26

我的想法:

性能测试,目的就是为了测试系统是否达到预期指标。
比如:
    1. 能保证5千用户同时在线。
    2. 2百用户同时登录响应时间不超过8秒。
    3. 1周内能处理完成3千份表单。
    4. 在1年后是否上述指标的对比。
    5. ……
需求因各人而异,万变不离其中。无非就是很多人去做很多事情,不同系统的处理和业务不尽相同。我们要做的,就是要分析系统运行过程中可能会出现的各种情况。然后,逐个去验证系统是否能应对这些情况。
抛开业务、逻辑,把整个过程简化:


图中“动作块”为与服务器交互的一个时间段,应用在具体业务里可以是一个用户的整个登录过程,也可以是某一个动作的响应过程。
“吞吐量”图中定义为单位时间内完成“动作块”的数量。
整个曲线描述了一段用户(动作)加压的过程,可以是一个系统的真实场景的一部分,也可以是测试过程的一个场景。
图中可以看出,随动作块的不断增多,动作块持续的时间不断变长。
那么,怎么衡量这个系统的性能呢?上图说明了以下三点:
A. 当动作块为一个动作时,动作块的长度即为响应时间,响应时间为一个衡量标准。
B. 吞吐量曲线图中没有划出来,吞吐量就是衡量系统处理能力的重要指标。
C. 并发数也是系统的一个处理能力,是为了保证系统能正常运行不被压垮。

得出这三个指标后,与系统的需求进行对比。如果各项指标都远超预期值,那么恭喜你,系统性能非常棒。 http://js3.pp.sohu.com.cn/ppp/images/emotion/base/fine.gif

相反,如果这三个指标有(都)不能达到的,那么不多说,赶紧去调优吧。 http://js3.pp.sohu.com.cn/ppp/images/emotion/base/sorry.gif

还存在一种情况需要进一步分析的,各指标和预期值高出不多。 http://js3.pp.sohu.com.cn/ppp/images/emotion/base/complaint.gif

譬如:按最大吞吐量计算,系统有能力在规定的时间处理完规定的事情;系统能承受最大并发用户数。
   但是,用户数最多的时候是否吞吐量也是最大呢?如果不是,差别有多远?
   为什么要问这个问题?满足了还不够吗? http://js3.pp.sohu.com.cn/ppp/images/emotion/base/fright.gif 当然不行!若大用户量会导致吞吐量下降明显,那么可能会导致系统在指定时间不能完成任务喔。
   这时,存在风险!建议先调优。此时需要对系统的真实运行情况进行评估:
   * 若业务经常会集中处理(波峰波谷交替),那么系统真实运行时是达不到最大处理能力的。高风险!
   * 若业务处理基本平缓(波动不明显),偶尔出现波峰,那么OK。低风险。
   * 若情况比较复杂,应结合高压力下的吞吐量进行计算结合实际情况下给结论或建议。
   * 若情况不清楚,那么风险也是很大的,还是尽量搞清楚吧。否则就不要下结论了,描述一下在指定条件的反应。

   以上是我个人的心得体会,若有不正确的地方,欢迎批评指正。 http://js3.pp.sohu.com.cn/ppp/images/emotion/base/smile.gif
   也欢迎大家勇跃留言,发表自己的看法和意见。 http://js3.pp.sohu.com.cn/ppp/images/emotion/base/share.gif

zasdsd 发表于 2008-10-22 22:01:24

这个让我想起了奥运官网

前段时间正好听老师说过奥运官网的崩溃,现在看到你的帖子,受益良多,:lol

zy-cumt 发表于 2008-10-23 09:03:18

受益匪浅,我也想起了奥运的售票网站,从楼主那里获取了感性的认识,谢谢分享

liaogd 发表于 2008-10-23 15:05:32

支持

SMALLCAI 发表于 2008-10-23 15:10:26

不错的帖子:lol

meimei_0 发表于 2008-11-4 14:55:35

看了,但还是一头雾水,我真是绝对的新手啊!

lylus 发表于 2008-11-5 09:59:23

受用,支持!!

zhanjiezhan 发表于 2008-11-5 10:30:27

谢谢分享

archonwang 发表于 2008-11-5 11:59:39

业务分析的过程很必要,问题是如果之前没有旧有系统的参考,你会怎么做?

楼主,网络拓扑如何?采用何种架构?

[ 本帖最后由 archonwang 于 2008-11-5 12:01 编辑 ]

higkoo 发表于 2008-11-15 23:25:14

回复 10# 的帖子

此图只是抽象出压力的分布,不涉及到细节上的问题。

   无论采用何架构、网络结构。抽象分析压力结构是第一步。:handshake

higkoo 发表于 2008-11-15 23:30:08

补充说明:

此模型更适合于没有历史数据的系统。

有历史数据或可参考数据的系统,应结合实际情况确定压力的范围。

画这张图的目的实际就是:
1. 抽象出负载测试的过程。
2. 提供衡量应用程序能力的参考。

cxxhanxue 发表于 2008-12-18 17:52:06

学习

杀手要低调 发表于 2009-1-7 11:59:52

学习

polly12052000 发表于 2009-1-8 18:44:20

阅读学习一下:handshake

xiahuaoxiang 发表于 2009-5-18 08:54:23

???

nuanhuakai 发表于 2009-11-10 22:09:05

en 学习了

kekebaobao 发表于 2009-12-18 15:48:22

xuexile :victory:

freedom_me 发表于 2009-12-23 15:24:52

不怎么明白·还是要感谢lz

小不点蜗牛 发表于 2009-12-25 18:48:09

有意义,置顶楼主
页: [1] 2
查看完整版本: 典型网站测试案例 分享