[转]性能测试:针对事务的一个问题的解答
想了解,它在一分钟内能够对多少个账户进行帐务处理,或者连续运行8个小时,能够返回多少用户处理的结果。这样该怎么去进行测试呢?
今天有一个朋友问了一个问题如下:
比如一个银行的帐务处理系统,我想了解,它在一分钟内能够对多少个账户进行帐务处理,或者连续运行8个小时,能够返回多少用户处理的结果。这样该怎么去进行测试呢。
感觉很多性能测试方面的资料都在讲并发用户访问时,系统地响应时间之类。找不到这种类型的测试应该怎么进行
回答如下:
这个问题可以用事务来去考虑。我们拿简单的例子脚本来说:
比如以下脚本是做帐务处理的:以下我只简写)
lrs_create(IP);
lr_think_time(x);
lrs_send();
lrs_receive();
我们可以加上事务,这个想必你知道,如下:
lr_start_transaction( account);
lrs_create(IP);
lr_think_time(x);
lrs_send();
lrs_receive();
lr_end_transaction (account);
这样按场景设计运行完成后,只要看这个事务的数值就知道有多少帐户进行了处理。结合这个事务的曲线,你可以看到,在各个时间点或者时间段里的帐户处理个数曲线。
至于返回数据的结果,你可以加上验证函数。如果能直接加检查点的,加检查点就可以,不能直接加检查点的,就自己写判断语句。这个也比较好写。
下面一个问题范围比较大。我在做设计的时候,有两种情况优先级是最高的。
1,模拟客户环境(这里可以细分很多,回帖时如果假设一些环境包含在这里面,请细说);
2,模拟最大压力;
其实性能测试方法是很少的。细节会很多。稍微调整就会有很多的不同数据。所以要看目的是什么。
很多人都说:我的目的就是给服务器最大的压力,然后看看服务器能支持多少Clients。实际上这种说法,隐藏了很多的conditions。
所以你这个问题,我只能说,分析用户的需求。
如上若有不对,请拍砖讨论。