taker2001 发表于 2006-1-23 08:54:32

性能测试提问

我是一新手,请教一个性能测试的问题:我觉得软件系统的性能问题很多时候是硬件的瓶颈造成的。比如说一个web系统,有很多并发用户访问时,响应速度很慢。但如果把这个系统部署到一台配置很高的专业服务器上,可能就没有这个问题了,因为服务器可能有8个CPU,4G的内存等等。那性能测试的意义何在呢?而且直接升级硬件的成本,不一定就比去做测试调优的成本高呀。请高手赐教!!!

cloria_test 发表于 2006-2-9 17:32:38

我觉得楼主说的也有一定的道理,可是有时候用户的服务器配置是固定的,也就是说配置不一定很高,在这种情况下,进行性能测试更是非常必要的,既然用户的服务器配置低,那就要求进行性能测试,测试出系统的的哪一部份有问题,以便调优。

Timmy_ye 发表于 2006-2-20 09:23:11

顶下,感觉这方面我也要再多学习!

linkage 发表于 2006-2-20 22:26:18

不能这么说,你说的这种扩展硬件只能算作最后手段,也是调优层次里面最低的一级,为什么呢?

1.UNIX主机的硬件不便宜吧,增加配置也是不小的成本

2.PC服务器硬件便宜了,但是,你能确认是CPU不够,MEM不够吗,还是网络带宽不够,数据库参数配置不够好,主机配置参数不够?那么随着网站业务的不断扩大,难道你就这么无休止的扩充硬件吗?

3.别看性能调优的成本看起来比较高,这里借用一个以前看到的例子:某单位机器出现故障,请外面一工程师解决,工程师在机器某处划了一个圈,说问题就在这里,收费$10000。单位疑惑,一个圈就值$10000?工程师答:划一个圈只要$1,但是知道在什么地方划就值$9999。这个例子可能不是太贴切,但我要说的就是,在调优中,说不定就是因为你的某段程序甚至某句语句使用的不正确,就造成了性能的急剧下降,知道了问题出在哪里,那么改起来的成本几乎可以忽略。

4.调优的地方很多,一般有这样的顺序(当然,需要看性能报告),首先是应用,要知道,60%的性能问题出于应用。再举个例子,我一同事曾经写了一段SQL语句(就是多表关联),结果跑了1.5天也没出来,后来我帮他看过后,稍微改动了一点,结果不到40分钟就能处理结束。其次是你应用所在的平台(中间件或数据库),再次是主机平台,接着是网络,最后的手段才是硬件的扩展。

5.如果升级到高等级的硬件上,暂时看起来问题是解决了,但是,问题并没有解决,你并不知道到底是哪里的问题,以后的将来仍会遇到同样的问题,这样的解决问题属于本末倒置,调优,应是在硬件一定的情况下,最大限度的发挥机器的
性能,最大限度的利用资源。

奇怪,怎么我输入的回车都不起作用?

[ 本帖最后由 linkage 于 2006-2-20 22:31 编辑 ]

taker2001 发表于 2006-2-22 14:31:00

原帖由 linkage 于 2006-2-20 22:26 发表
不能这么说,你说的这种扩展硬件只能算作最后手段,也是调优层次里面最低的一级,为什么呢?

1.UNIX主机的硬件不便宜吧,增加配置也是不小的成本

2.PC服务器硬件便宜了,但是,你能确认是CPU不够,MEM不够吗 ...

明白了 谢谢大侠帮忙!

aries_wxh 发表于 2006-2-25 00:15:22

精辟Sample Text

书剑生 发表于 2006-7-24 16:59:26

性能测试的目的是确定系统在指定软硬件环境下的性能是否有问题。至于发现由硬件配置太低产生的问题如何解决,那是用户的问题不用你关心,但是可以“给出解决方案”——总不能指望286的PC Server能跑上10000个并发每秒吧。
页: [1]
查看完整版本: 性能测试提问