服务器CPU性能直接影响到系统对数据的吞吐量,尤其是对海量数据进行处理时,随着数据的增加,CPU性能将直线下降,对不同的组网和系统支持平台,选择合适的服务器,尤其是CPU的配置则是重中之重的课题。而在产品(方案)中对客户最有说服力的则是一组公认的测试原理和数据。本文介绍一通过Oracle测试服务器CPU性能的开源工具。供大家学习和探讨。欢迎Email与我联系。
Orabm通过Oracle测试服务器CPU性能是一个开源的系统CPU性能测试工具,作者Geoff Ingram 就职Oracle公司多年,著作有High Performance Oracle" (ISBN: 0471224367)
http://www.linxcel.co.uk/orabm/orabm.tar
Orabm通过Oracle测试服务器CPU性能通过并发下执行指定的事务来测定系统的性能,事务是Orabm通过Oracle测试服务器CPU性能建立的用户下ORABM_SERVERSIDE_STRESS来实现的,对于系统每个并发的Session,ORABM_SERVERSIDE_STRESS运行在Orabm通过Oracle测试服务器CPU性能命令指定的事务数量,返回完成所有任务的采样间隔内每秒的事务数量,通过舍弃头尾10%的数据来确保数据的准确性.
看到几个.sql的文件,请确保Oracle服务器开启状态,下面将在oracle下面创建测试环境,:注意:缺省的Orabm通过Oracle测试服务器CPU性能测试用用户会建立在tools表空间,如果你想把数据放在其他表空间可以修改orabm_user.sql来调整(不建议修改,为了确保oracle性能,建议不使用系统表空间).
软件已安装完毕。
为了确保数据的准确性,应选择足够的事务,以便TPS结果在不同数量并发下波动尽量小,通常100,000是一个好的选择如下建议的测试实例(执行完该命令可能需要一段时间)
Orabm通过Oracle测试服务器CPU性能 1,2,6,10,15,20,25,30 100000
结果计算,cpu的tps为每个每个session的并发tps的总和,在所有的session中取稳定的数据。数据存在误差是必然的,但基本可以代表该cpu的tps性能。
下面的一个测试实例子
统计每个session的tps
session=2 tps=160+160=320
session=3 tps=133+131+129=393
session=6 tps=67+68+65+67+67+65=399
session=8 tps=49+50+49+50+49+51+49+48=395
session=10 tps=42+41+41+41+39+39+41+38+38+38=408
可见,该服务器的tps性能在395左右(为了准确应设更多的session和并发事务数)
http://linxcel.co.uk/orabm/orabm.htm