TPC(Transaction Processing Performance Council)-事务处理性能委员会
2013-09-06 13:45
225 查看
什么是TPC
TPC全称Transaction Processing Performance Council,即事务处理性能委员会。根据wikipedia的解释:TPC是一个非盈利组织,成立于1988年,这个组织主要的功能是定义事务处理、数据库的基准,这个基准用于评估服务器的性能,并且把服务器评估的结果发布在TPC的官方网站上。简单的讲TPC就是系统评测皇家科学院。官方网站:www.tpc.orgTPC是由十几家服务器厂商组成的(华为是该组织唯一一个中国公司)参与参与制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。TPC Benchmark测试结果是服务器类设备性能拼比核心技术指标。
TPC Benchmark
TPC有多种的基准测试体系。有TPC-C,TPC-DC,TPC-E,TPC-H,TPC-VMS,TPC-Pricing,TPC-Energy,还有一些已经作废不用的几个基准:TPC-A,TPC-B,TPC-D,TPC-R,TPC-W,TPC-APP每一个Benchmark并不是一成不变的,随着时间的推移,每一个Benchmark测试程序也都在更新。TPC-C is an on-line transaction processing benchmark.TPC-DC:The New Decision Support Benchmark Standard TPC-E is a new On-Line Transaction Processing (OLTP) workload developed by the TPC. TPC-H is an ad-hoc, decision support benchmark.TPC-Energy is a new TPC specification which augments the existing TPC Benchmarks with Energy Metrics developed by the TPC. 因为TPC-C和TPC-E使用的更为广泛些,这里做一点特别介绍。
TPC-C
92年代初发布的TPC-C是用来评估OLTP的Benchmark,当前(2013.9)最新的版本是5.11,是2010年2月更新的版本。TPC-C比其前身TPC-A更为复杂,TPC-C包含五个OLTP事务的测试程序,基本模拟了一个真实的销售流程,五个测试程序有:新增订单,付款,发货,订单状态,库存级别。TPC-C的五种Transaction是操作是针对9张表,每一个Transaction都包含了数据库的Update,Insert,Delete以及Abort的动作。
TPC-C的几个重要测试指标tpmC:Transactions Per Minute,即每分钟处理的事务数(eg.每分钟内系统处理的新订单个数),C指TPC中的C基准程序,是最主要的性能指标Price/tpmC:系统的总价格(单位是美元)除以 tpmC数值,这个数值越小,说明这个服务器的性价比越高。Watts/KtpmC:用于评测系统的能耗效率,即 瓦特/性能,很多TPC的评测不会对能耗这一项做记录。
下图为以tpmC排序的,前十强的系统:Link:http://www.tpc.org/tpcc/results/tpcc_perf_results.asp
TPC-E
2007年, TPC发布了OLTP测试新标准TPC-E,目的在于替代原有的TPC-C。TPC-E在测试模型上进行了巨大的革新与改进,很多企业都已经把TPC-E基准作为数据库采购的新标准。跟TPC-C相比,TPC-E更复杂,它模拟证券经纪公司而不是批发商的流量和交易模式,从C/S架构过渡到B/S架构,事务类型从原来的5种增加到12种,数据表由原来的9个增加到了33个,数据库构成更加复杂,也更加符合实际应用,当然对服务器的性能要求也更高了。 TPC-E评测的不仅仅服务器硬件性能,而是整体方案的性能,这个方案包括服务器、存储、OS、数据库、客户端等软硬件在内的一整套系统。TPC组织之所以要用TPC-E取代TPC-C,主要原因有两点:一是TPC-C的模型已经使用了十多年,而当今无论是软硬件技术,还是实际应用环境都发生了巨大改变,所以必须对原有模型进行更新;二是过去厂商参加TPC-C,需要搭建宠大的软硬件环境,成本非常高,导致一般的小型服务器厂商无法参加。
TPC-C和TPC-E存有很大的差别。在TPC-C中,最常见的两种调用是新订单和付款。新订单大约有11行数据,可执行选择、更新和插入等操作,每个 新订单包含10列字段。付款由3行更新和1次插入组成。TPC最重头的部分也就是对数据表的插入和更新。在TPC-C中,只有一次组合查询。而在TPC- E中,除了一般的操作外,还包含了多表连接查询,更加复杂。
TPC-E的主要指标 tpsE: 指系统在执行多种交易时,每秒钟可以处理多少交易(tpmC是以分钟为单位)
TPC-E TOP Ten Performance ResultsLink:http://www.tpc.org/tpce/results/tpce_perf_results.asp
References:TPC-C Overview:http://www.tpc.org/information/sessions/sigmod/sigmod97.pptTPC-E Overview:http://www.tpc.org/tpce/spec/TPCEpresentation.pptTPC-E and TPC-C Comments
相关文章推荐
- 服务器事务处理性能测评标准TPC-C简介
- Mysql的事务(transaction)处理简析
- MyBatis3整合Spring3的Transaction事务处理
- Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很高性能。
- Transaction Response Time事务响应时间图-我整理的LR性能测试结果分析
- 事务处理Transaction
- [Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction
- opensession()和getCurrentSession()方法的区别(JTA(java Transaction Api,分布式事务)事务和Connection事务:数据库自带的事务处理方式)
- .NET中的处理 Transact-SQL 事务(C#)SqlTransaction 类
- html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
- RevitAPI: 事务的错误或警告信息的处理 - Failure Processor of Transaction
- System.Transaction处理数据库事务时 MSDTC不可用的解决办法。
- Executing a batch in a transaction--PHP DATA OBJECT(PDO)事务处理中的批量操作
- html5 本地数据库(Web SQL Database)之事务处理函数 transaction和executeSQL 详解
- SQL Server数据库事务处理详解 TRANSACTION
- RevitAPI: 事务的错误或警告信息的处理 - Failure Processor of Transaction .
- beego一个请求中的事务处理不能使用全局的orm实例,否则:transaction has started
- 使用事务处理SQL数据时,遇到Exception:The transaction manager has disabled its support for remote/network transactions
- ORA-01591: lock held by in-doubt distributed transaction 以及分布式事务处理总结
- Hyperledger Fabric Transaction Flow——事务处理流程