曹晋的空间

我们一直在努力....

如何做好系统的压力测试

标签: 系统压力测试

 没日没夜的项目赶工基本告一段落了。对于我们的团队来说,整体功能的测试通过,系统正式上线是个十分重要的里程碑。生活和工作的节奏改变,白天和黑夜的加班。如果系统实际上线后,没有出现大的系统故障,而是日趋稳定,那么项目团队的苦日子就算是熬到头了。当然如果没有系统压力测试的话.

但是,如果系统上线后,重大故障频发,频遭用户投诉,怎么办?前天是系统服务器CPU 100%,导致无法响应客户请求;昨天是数据库锁表,大量数据库连接阻塞,无法获取需要的数据;今天是某个接口在高并发下出现异常……每天,我们在不停的灭火和陪笑,无止境的抱怨消耗着我们本不多的耐心。

靠人人跑,靠树树倒,只有自己拯救自己了,但要如何才能拯救我们自己于水火之中呢?最重要的技术手段,恐怕就要靠系统压力测试了。

系统压力测试不应该仅仅是孤立的测试各个软硬件的性能指标,而最重要的是要与软件应用系统结合,尽可能的模拟真实的业务场景和数据,从而充分评估系统上线后可能发生的情况。也就是说,当业务量达到高峰时,各个服务器CPU指标大概是多少,内存指标大概是多少,当大量数据被查询时,数据库的响应时间是多久,IO、网络是否有问题?所有这些都应当事先被测量。

那么,如何去测量这些内同?主要就是以下方法:

1、确定存量数据的规模(一般应至少制造出35年的存量数据,足够的数据才能测出实际的效率和性能);

2、确定需要进行系统压力测试的业务(一般是用户使用最频繁,或者业务操作最复杂的业务,比如各类的分析报表等);

3、确定操作用户的的数量、各类操作用户的比例;

4、峰值业务量的要求(一般是1个小时内最多要处理的笔数);

5、对实时业务响应时间的要求(如在峰值情况下,一项操作的处理时间(如小于20S));

当我们详细测试了每一个主要性能,消除了其中隐含的性能故障;当我们设计了完整系统压力测试方案,按照系统实际压力进行测试,再用2倍的压力、3倍的压力测试……我们消除了一个又一个系统瓶颈,仔细检查每一个细节,找不到错误的理由。现在,在系统性能方面,我们已经无法做的更好,因为我们已经做了所有应该做的事,和所有能做的事。

最后,时间会验证我们的系统压力测试结果。


    分享: 收藏到CSDN 收藏到javaeye 收藏到博客园 收藏&分享
  • 浏览 (564)
  • 评论 (0)
  • 发表于 2009-07-30 10:35
    评分: 请先登录再投票,同一篇博客一月只能投票一次!
    无人投票

评论


发表评论

最近访客
关注此文的人们还关注