已登录 首页 | 产品报价 全国行情 产品排行榜 | 渠道商情 商铺大全 | 新闻 评测 专题 下载 | 培训 视频 高端访谈 | 产品论坛 MY168 圈子 装备
IT168.com
当前位置:IT168首页 > 服务器 > TPC-E和TPC-C测试结果比较之我见
[收藏此页] [打印] [推荐] [评论]

TPC-E和TPC-C测试结果比较之我见

责任编辑:洪钊峰作者:雪原   2008-09-08   
文本Tag: 数据库服务器

    【IT168 专稿】众所周知,微软在OLTP基准测试方面已经从TPC-C转向了全新的TPC-E。TPC-C包括5种存储过程调用(stored procedure calls):新订单、付款、送货、订单状态和库存水平。其结果是用每分钟完成的交易次数来衡量的,即rate of New-Order calls。TPC-C平均每个新订单需要执行2.22次调用。

    而全新的TPC-E数据类型更加丰富,由3类扩展为10类,模拟的交易条件更复杂。每一次交易都要对客户端的WEB页面作出响应,和现代的数据密集型应用相仿,也是由多个存储过程调用组成。对于TPC-E而言,平均每次交易有25.4次数据库存储过程调用。

    这里我们比较HP ProLiant DL580 G5 和 IBM x3850分别参与TPC-C和TPC-E的结果。

    HP ProLiant DL580 G5 配置4颗四核 Xeon X7350 2.93GHz 处理器,其TPC-C测试结果是407,079 tpm-C。这相当于每秒执行6785次交易,由于每次交易要做2.22次调用,也就是说每秒钟可执行15,062次 SQL Batches批处理,反过来说,每次调用大约需要消耗1毫秒的CPU资源(计算方法是Average CPU-sec / call = 处理器利用率*处理器数量/ SQL Batches/sec,这里处理器利用率是100%,由于是四路四核,所以处理器数量是16)。

    IBM x3850同样是基于4颗四核 Xeon X7350处理器,其TPC-E的测试结果是479.51 tps-E(每秒完成交易次数),相当于12,180 SQL Batches/sec(计算方法是479.51*25.4),也就是说平均每次调用需要消耗1.2毫秒的CPU时间。

    我之所以关注SQL Batches/sec 和每次调用CPU消耗时间(average CPU per call )这两个指标,是因为它们会影响到性能分析。对于一台满负荷运转的服务器来说,SQL Batches/sec值比较小的话,意味着每次调用都要消耗更多昂贵的CPU资源,这有可能是因为所执行的操作本身就比较消耗CPU资源,或者是CPU在指令编译过程中浪费了资源;而如果SQL Batches/sec值比较大的话,意味着在数据库查询/索引优化方面的空间不太大,关键是尽量去减少网络传输延迟。但受测试规则所限,网络调优不适合TPC基准测试。

    TPC-C和TPC-E存有很大的差别。在TPC-C中,最常见的两种调用是新订单和付款。新订单大约有11行数据,可执行选择、更新和插入等操作,每个新订单包含10列字段。付款由3行更新和1次插入组成。TPC最重头的部分也就是对数据表的插入和更新。在TPC-C中,只有一次组合查询。而在TPC-E中,除了一般的操作外,还包含了多表连接查询,更加复杂。(本文编译自Joe Chang的博客:http://sqlblog.com/blogs/joe_chang/archive/2008/03/07/comments-on-tpc-e-and-tpc-c.aspx

上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://server.it168.com/a2008/0908/204/000000204056.shtml
友情推介