我们平时买个人电脑时一般会看CPU,内存,硬盘,显卡,操作系统等一些信息,但这样只能有一个直观的感觉.没有一个统一的标准来衡量这台电脑是好还是坏,性价比高不.不过个人电脑就自己用用,价钱也不贵,也不用太较真.但要买服务器(server)就不同了,不仅价钱昂贵,而且是很多人用,影响重大,必须得慎重考虑...这时我们自然也会考虑Server的硬件,操作系统等信息.但同样这不容易有个客观的标准,因为单独的的硬件可能有些客观的衡量标准,但软硬件做为一个整体组合在一起时性能怎么样呢?这其实是我们更看重的.
TPC组织
那没有客观标准的的时候我们只能被生产Server的厂商忽悠了.针对这个情况一个非盈利组织TPC(Transaction Process Performance Council)事务处理性能委员会应运而生了.它制定了一些标准(Benchmark)来衡量一个Server的性能好坏.TPC官网:http://www.tpc.org/
刚开始制定了TPC-A,TPC-B标准,但现在基本废弃了.后面又出现了TPC-C,TPC-D,TPC-E,TPC-H.TPC-DS等.其中TPC-C,TPC-E是针对OLTP系统的,TPC-E是TPC-C的改进版.
TPC-D,TPC-H,TPC-DS是针对OLAP系统的.TPC-D基本上没用了,现在主要用TPC-H和TPC-DS.
测TPC标准的时候一般是在一个Server上装一个数据库,然后在数据库中做一些操作,最后会得到tpm(transaction per minute)或tps(transaction per second)这样的结果.也就是数据库一分钟或一秒钟能处理多少个事务.我们就是用这个结果来评价Server的性能好坏.这个值越大表示性能越好.另外还可以用Server的价钱除以这个值,这就是性价比,值越低越好.TPC的测试是Server厂商去做,然后卖Server的时候会公布这个结果.当然客户自己也可以去做TPC的测试
OLAP和OLTP
补充: OLAP和OLTP和简单介绍. OLTP即联机事务处理系统,关系数据库的应用大部分是属于这一范畴.OLAP即联机分析处理系统,也叫决策支持系统.数据仓库的应用基本上属于这范畴.参看:http://baike.baidu.com/view/277075.htm
因为平时用的最多的是OLTP系统,所以最常用的标准也就是TPC-C和TPC-E
TPC具体怎么用
TPC标准它只提供一个规范,就是用文字描述一种标准的业务场景,但具体怎么实现TPC组织不管,你自己写代码实现去.当然有些软件产品会提供这些功能
.其中TPC-C标准就是定义这样一种业务场景:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货
详细介绍参考eygle同志的博客:http://www.eygle.com/archives/2004/10/howto_implement_benchmark_test01.html
TPC对Server生产厂商有很大用处:参照那个标准来让自己的Server在TPC的测试中得分越来越高,然后卖的时候也可以拿TPC测试结果做为一个宣传手段来吸引客户.
客户在选Server的时候也可以根据TPC结果来做比较.另外客户通过估计自己的应用系统的一些使用情况,比如总使用人数,每天使用人数,峰值等一些信息可以大概的计算出Server需要达到哪个TPC标准测试结果值才能满足业务需求.这样即不会花多余的钱买个太贵的Server,也不花太钱少了买个Server不能满足需求.
TPC-C的计算方式参考:http://hi.baidu.com/huntercys/blog/item/7c341fa41e8172f29152ee42.html