一种测试评估国产cpu事务处理能力的方法

文档序号:6525475阅读:2023来源:国知局
一种测试评估国产cpu事务处理能力的方法
【专利摘要】本发明公开了一种测试评估国产CPU事务处理能力的方法,该方法在国产CPU单核、双核、四核、八核各种状态下从CPU运算能力、内存读写速率、I/O吞吐性能、JVM性能、多线程并发处理性能等方面进行基准性能测试,分析CPU缺陷,并在此基础上基于标准和特定的应用系统对国产CPU的性能进行测试分析,从而对国产CPU的事务处理能力进行整体评估。本发明具备的有益技术效果是:填补国产CPU事务处理能力测试评估方法空白,加速国产CPU发展进程,是一种适用于国产CPU的测试工具。
【专利说明】一种测试评估国产CPU事务处理能力的方法

【技术领域】
[0001] 本发明涉及一种测试评估国产CPU事务处理能力的方法。

【背景技术】
[0002]目前,服务器的事务处理能力主要是采用TPC-C的测试方法进行。TPC-C基准是联 机事务处理工作量的一个衡量标准。TPC-C测试是一种旨在衡量0LTP系统性能与可伸缩 性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务 在内的广泛数据库功能进行测试。许多数据专业设计人员将TPC-C视为衡量"真实"0LTP 系统性能的有效指示器。尽管这种基准提供了一个很好的环境来模拟许多联机事务处理设 备,但是这种基准不能反映全部的联机事务处理所涉及的必要条件。因而对国产CPU事务 处理能力的评估不能采用现有的普遍服务器事务处理能力方法进行测试。


【发明内容】

[0003] 本发明的目的在于提供一种测试评估国产CPU事务处理能力的方法。能够更全 面、更准确、更科学的测试评估CPU事务处理能力,解决现有技术存在的缺憾。
[0004] 本发明采用如下技术方案实现:
[0005] 一种测试评估国产CPU事务处理能力的方法,该方法在国产CPU单核、双核、四核、 八核各种状态下从CPU运算能力、内存读写速率、I / 0吞吐性能、JVM性能、多线程并发处 理性能等方面进行基准性能测试,分析CPU缺陷,并在此基础上基于标准和特定的应用系 统对国产CPU的性能进行测试分析,从而对国产CPU的事务处理能力进行整体评估,其特征 在于,包括如下步骤:
[0006] 1、搭建测试环境;
[0007] 2、在国产CPU单核、双核、四核、八核状态下进行基准性能测试;
[0008] 3、在国产CPU单核、双核、四核、八核状态下进行集成性能测试;
[0009] 4、在国产CPU单核、双核、四核、八核状态下进行应用性能测试;
[0010] 5、对国产CPU的性能进行分析;
[0011] 6、对国产CPU的事务处理能力进行整体评估;
[0012] 所述测试环境,是指为了完成软件测试工作所必须的计算机硬件、软件、网络设 备、历史数据的总称;
[0013] 所述国产CPU单核、双核、四核、八核状态是指国产CPU单核运行的状态、国产CPU 双核运行的状态、国产CPU四核运行的状态、国产CPU八核运行的状态。
[0014] 进一步的,所述国产CPU为龙芯,龙芯CPU的MIPS架构为单核单线程,单CPU为4 核4线程,目前使用的龙芯3A服务器都是双路服务器,故最多可调度8核8线程进行处理;
[0015] 所述国产CPU单核运行的处理状态指CPU处理数据时仅使用一组能处理数据的芯 片组;实现命令:taskset -c0运行的程序;
[0016] 所述国产CPU双核运行的处理状态指CPU处理数据时使用两组能处理数据的芯片 组;实现命令:taskset _cO_l运行的程序;
[0017] 所述国产CPU四核运行的处理状态指CPU处理数据时使用四组能处理数据的芯片 组;实现命令:taskset _c0_3运行的程序。
[0018] 所述国产CPU八核运行的处理状态指CPU处理数据时使用八组能处理数据的芯片 组;实现命令:taskset ~c0~7运行的程序。
[0019] 所述基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类 测试对象的某项性能指标进行定量的和可对比的测试。
[0020] 进一步的,所述基准测试进一步包括:对国产CPU进行CPU运算能力、内存读写速 率、I/o吞吐性能、JVM性能、多线程并发处理性能等方面的测试;
[0021] 所述CPU运算能力测试是指使用Lmbench、Spec2000测试工具进行测试,比较不同 类型CPU的整点运算和浮点运算性能;
[0022] 所述CPU运算能力指CPU对整型数据进行运算和对浮点型数据进行运算时的性 能。所述整型数据,是指不包含小数部分的数值类型;浮点型数据,是指包含小数部分的数 值类型;
[0023] SPEC CPU2000是由标准性能评价组织(SPEC)开发的用于评测通用型CPU性能 的基准程序测试组,是目前CPU性能评测的客观和可信的基准程序之一。SPEC是由计算 机业界几十个芯片厂商、计算机系统厂商、研究团体等构成的非营利组织,其开发的SPEC CPU2000在CPU的性能评价领域具有很大的权威性。
[0024] Lmbench是一套简易,可移植的,符合ANSI / C标准为UNIX / P0SIX而制定的微 型测评工具。
[0025] 所述内存读取速率测试是指使用Stream测试工具通过大维度的矢量数组的处理 测试,计算机平台的可持续运行的内存带宽最大值;
[0026] 所述大维度的矢量数组,是采用双精度,即每个元素为8个字节的数组,所述大维 度的矢量数组的处理,是指对数组的复制、数组的尺度变换、数组的矢量求和、数组的符合 矢量求和;
[0027] 所述I / 0吞吐性能测试包括向一个新文件写入性能的测试、向一个已存在的文 件写入性能的测试、读一个已存在的文件性能的测试、读一个最近读取过的文件的性能测 试;
[0028] 所述的I / 0是input / output的缩写,即输入输出端口,使用Ι0Ζ0ΝΕ测试工具, 测试结果单位:Kbytes / s。
[0029] 进一步的,所述JVM性能测试是指使用SPECJVM2008测试工具对JVM运行性能进 行测试评估;
[0030] SPECjvm2008是一个用来评测JVM运行性能的基准测试套件。它的测试用例涵盖 了大部分iava基础应用场景,是对JVM性能评测不可多得的利器,主要对JVM的编译时间、 图片渲染时间、加密算法时间、数据库相关逻辑、音频解码时间、Socket序列化、压缩程序时 间、XML转换、蒙特卡罗算法、快速傅立叶变换、LU分解等性能进行测试。
[0031] 所述多线程并发处理测试是指使用pingpong测试工具对操作系统多线程操作能 力的测试。
[0032] 所述多线程是指在单个程序中同时运行多个线程完成不同的工作,称为多线程。 所述线程是指线程是程序中一个单一的顺序控制流程。
[0033] 所述集成测试进一步包括:针对国产CPU,进行TPC-W、TPC-C测试;
[0034] 所述TPC-W测试是指使用bench4Q对TPC-W应用进行的测试。
[0035] TPC-W应用是指按交易处理性能委员会(TPC)的TPC-W标准规范开发的应用。所 述事务处理性能委员会(Transaction Processing Performance Council,简称TPC)是一 个非盈利性组织,该机构专门定义事务处理与数据库性能基准测试相关标准。所述TPC-W 规范是指按交易处理性能委员会(TPC)制定的电子商务应用基准。
[0036] TPC-W模拟了一个网上书店,通过执行一系列具有代表性的Web事务来模拟典型 的电子商务环境。其功能包括书籍的浏览、查询、订购等。
[0037] 所述TPC-C测试是指使用清华TPC-C测试工具针对TPC-C标准进行的测试;
[0038] 所述TPC-C标准是指按照交易处理性能委员会(TPC)基于0LTP业务模式下的基 准规范;
[0039] TPC-C模拟的是一个大型的商品批发销售公司,对查询、更新及队列式小批量事 务在内的广泛数据库功能进行测试。TPC-C主要有两个指标,流量指标(tmpC)和性价比 (Price / tmpC)。
[0040] 所述应用支撑测试进一步包括:针对国产CPU,测试应用的事务处理能力和响应 时间;所述事务处理能力是指计算机每秒钟处理的事务;所述事务是指计算机执行任务结 合在一起完成一个业务需求。
[0041] 本发明具备的有益技术效果是:填补国产CPU事务处理能力测试评估方法空白, 加速国产CPU发展进程,是一种适用于国产CPU的测试工具。

【专利附图】

【附图说明】
[0042] 图1是事务失败率计算公式的测试结果。
[0043] 图2是TPC-C的测试结果。
[0044] 图3是国产CPU在单核状态下SPEC2000测试结果对比图。
[0045] 图4是国产CPU在单核状态下Stream测试结果对比图。
[0046] 图5是国产CPU在单核状态下Pingpong测试结果对比图。
[0047] 图6是国产CPU在单核状态下Ι0Ζ0ΝΕ测试结果对比图。
[0048] 图7是国产CPU在单核状态下Spec JVM2008测试结果对比图。
[0049] 图8是并发用户数事务失败率对比图。
[0050] 图9是WIPS请求数对比图。
[0051] 图10是WIRT用户平均响应时间对比图。
[0052] 图11是相同CPU在单核、双核、四核、八核状态下的TPC-C测试结果分析图。
[0053] 图12是相同CPU在单核、双核、四核、八核状态下针对特定应用性能测试结果分析 图。
[0054] 图13是不同CPU在单核、双核、四核、八核状态下的TPC-C测试结果分析图。
[0055] 图14是不同CPU在单核、双核、四核、八核状态下针对特定应用性能测试结果分析 图。

【具体实施方式】
[0056] 通过下面对实施例的描述,将更加有助于公众理解本发明,但不能也不应当将申 请人所给出的具体的实施例视为对本发明技术方案的限制,任何对部件或技术特征的定义 进行改变和/或对整体结构作形式的而非实质的变换都应视为本发明的技术方案所限定 的保护范围。
[0057] 一种测试评估国产CPU事务处理能力的方法,该方法在国产CPU单核、双核、四核、 八核各种状态下从CPU运算能力、内存读写速率、I / 0吞吐性能、JVM性能、多线程并发处 理性能等方面进行基准性能测试,分析CPU缺陷,并在此基础上基于标准和特定的应用系 统对国产CPU的性能进行测试分析,从而对国产CPU的事务处理能力进行整体评估,其特征 在于,包括如下步骤:
[0058] 1、搭建测试环境;
[0059] 2、在国产CPU单核、双核、四核、八核状态下进行基准性能测试;
[0060] 3、在国产CPU单核、双核、四核、八核状态下进行集成性能测试;
[0061] 4、在国产CPU单核、双核、四核、八核状态下进行应用性能测试;
[0062] 5、对国产CPU的性能进行分析;
[0063] 6、对国产CPU的事务处理能力进行整体评估。
[0064] 测试环境,是指为了完成软件测试工作所必须的计算机硬件、软件、网络设备、历 史数据的总称;
[0065] 国产CPU单核、双核、四核、八核状态是指国产CPU单核运行的状态、国产CPU双核 运行的状态、国产CPU四核运行的状态、国产CPU八核运行的状态。
[0066] 国产CPU为龙芯,龙芯CPU的MIPS架构为单核单线程,单cpu为4核4线程,目前 使用的龙芯3A服务器都是双路服务器,故最多可调度8核8线程进行处理;
[0067] 国产CPU单核运行的处理状态指CPU处理数据时仅使用一组能处理数据的芯片 组;实现命令:taskset -c0运行的程序;
[0068] 国产CPU双核运行的处理状态指CPU处理数据时使用两组能处理数据的芯片组; 实现命令:taskset _cO_l运行的程序;
[0069] 国产CPU四核运行的处理状态指CPU处理数据时使用四组能处理数据的芯片组; 实现命令:taskset _c0_3运行的程序。
[0070] 国产CPU八核运行的处理状态指CPU处理数据时使用八组能处理数据的芯片组; 实现命令:taskset ~c0~7运行的程序。
[0071] 基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试 对象的某项性能指标进行定量的和可对比的测试。
[0072] 基准测试进一步包括:对国产CPU进行CPU运算能力、内存读写速率、I / 0吞吐 性能、JVM性能、多线程并发处理性能等方面的测试;
[0073] CPU运算能力测试是指使用Lmbench、Spec2000测试工具进行测试,比较不同类型 CPU的整点运算和浮点运算性能;
[0074] CPU运算能力指CPU对整型数据进行运算和对浮点型数据进行运算时的性能。整 型数据,是指不包含小数部分的数值类型;浮点型数据,是指包含小数部分的数值类型;
[0075] SPEC CPU2000是由标准性能评价组织(SPEC)开发的用于评测通用型CPU性能 的基准程序测试组,是目前CPU性能评测的客观和可信的基准程序之一。SPEC是由计算 机业界几十个芯片厂商、计算机系统厂商、研究团体等构成的非营利组织,其开发的SPEC CPU2000在CPU的性能评价领域具有很大的权威性。
[0076] Lmbench是一套简易,可移植的,符合ANSI / C标准为UNIX / P0SIX而制定的微 型测评工具。
[0077] 内存读取速率测试是指使用Stream测试工具通过大维度的矢量数组的处理测 试,计算机平台的可持续运行的内存带宽最大值。
[0078] 大维度的矢量数组,是采用双精度,即每个元素为8个字节的数组,大维度的矢 量数组的处理,是指对数组的复制、数组的尺度变换、数组的矢量求和、数组的符合矢量求 和;
[0079] I / 0吞吐性能测试包括向一个新文件写入性能的测试、向一个已存在的文件写 入性能的测试、读一个已存在的文件性能的测试、读一个最近读取过的文件的性能测试;
[0080] I / 0是input / output的缩写,即输入输出端口,使用Ι0Ζ0ΝΕ测试工具,测试结 果单位:Kbytes / s。
[0081 ] JVM性能测试是指使用SPECJVM2008测试工具对JVM运行性能进行测试评估;
[0082] SPECivm2008是一个用来评测JVM运行性能的基准测试套件。它的测试用例涵盖 了大部分java基础应用场景,是对JVM性能评测不可多得的利器,主要对JVM的编译时间、 图片渲染时间、加密算法时间、数据库相关逻辑、音频解码时间、Socket序列化、压缩程序时 间、XML转换、蒙特卡罗算法、快速傅立叶变换、LU分解等性能进行测试。
[0083] 多线程并发处理测试是指使用pingpong测试工具对操作系统多线程操作能力的 测试。
[0084] 多线程是指在单个程序中同时运行多个线程完成不同的工作,称为多线程。所述 线程是指线程是程序中一个单一的顺序控制流程。
[0085] 集成测试进一步包括:针对国产CPU,进行TPC-W、TPC-C测试;
[0086] TPC-W测试是指使用bench4Q对TPC-W应用进行的测试。
[0087] TPC-W应用是指按交易处理性能委员会(TPC)的TPC-W标准规范开发的应用。事 务处理性能委员会(Transaction Processing Performance Council,简称TPC)是一个非 盈利性组织,该机构专门定义事务处理与数据库性能基准测试相关标准。TPC-W规范是指按 交易处理性能委员会(TPC)制定的电子商务应用基准。
[0088] TPC-W模拟了一个网上书店,通过执行一系列具有代表性的Web事务来模拟典型 的电子商务环境,其功能包括书籍的浏览、查询、订购等。
[0089] TPC-C测试是指使用清华TPC-C测试工具针对TPC-C标准进行的测试;
[0090] TPC-C标准是指按照交易处理性能委员会(TPC)基于0LTP业务模式下的基准规 范;
[0091] TPC-C模拟的是一个大型的商品批发销售公司,对查询、更新及队列式小批量事 务在内的广泛数据库功能进行测试。TPC-C主要有两个指标,流量指标(tmpC)和性价比 (Price / tmpC)。
[0092] 应用支撑测试进一步包括:针对国产CPU,测试应用的事务处理能力和响应时间; 事务处理能力是指计算机每秒钟处理的事务;事务是指计算机执行任务结合在一起完成一 个业务需求。
[0093] 针对三款国产CPU龙芯、飞腾、申威,采用本测试评估国产CPU事务处理能力的方 法,对其事务处理能力进行评估并分析定位性能瓶颈。具体实现如下:
[0094] 搭建测试环境:
[0095] 在国产CPU上安装国产操作系统、国产数据库、国产中间件。在应用服务器上,使 用中间件部署被测试的应用,在数据库上,新建数据库实例,导入测试应用数据。
[0096] 进行基准测试并记录测试结果:
[0097] 进行CPU运算能力测试:在国产CPU的环境:使用Spec2000、Lmbench测试工具在 (PU单核、双核、四核、八核状态下进行测试。
[0098] Spec2000测试结果指标主要有2个:SPECint2000,指计算机系统执行以整数运算 为主应用软件的性能指标;SPECfp2000,计算机系统执行以浮点运算为主应用软件的性能 指标。
[0099] 测试结果如下:(以下为举例数据,非真实测试结果)
[0100] 详见图1
[0101] 进行内存测试:在国产CPU的环境:使用Stream测试工具在CPU单核、双核、四核、 八核状态下内存读取进行单线程、4线程、16线程、32线程测试。测试流包括对读操作、写操 作、搜索操作三类流操作。
[0102] 在stream测试结果中,记录copy、Scale、Add、Traid运算方式下内存读取速度 (单位MB / s)为该次测试的结果。
[0103] 4线程结果如下:(以下为举例数据,非真实测试结果)
[0104]

【权利要求】
1. 一种测试评估国产CPU事务处理能力的方法,该方法在国产CPU单核、双核、四核、八 核各种状态下从CPU运算能力、内存读写速率、I / 0吞吐性能、JVM性能、多线程并发处理 性能等方面进行基准性能测试,分析CPU缺陷,并在此基础上基于标准和特定的应用系统 对国产CPU的性能进行测试分析,从而对国产CPU的事务处理能力进行整体评估,其特征在 于,包括如下步骤: (1)搭建测试环境; (2)在国产CPU单核、双核、四核、八核状态下进行基准性能测试; (3)在国产CPU单核、双核、四核、八核状态下进行集成性能测试; (4)在国产CPU单核、双核、四核、八核状态下进行应用性能测试; (5)对国产CPU的性能进行分析; (6)对国产CPU的事务处理能力进行整体评估; 所述测试环境,是指为了完成软件测试工作所必须的计算机硬件、软件、网络设备、历 史数据的总称; 所述国产CPU单核、双核、四核、八核状态是指国产CPU单核运行的状态、国产CPU双核 运行的状态、国产CPU四核运行的状态、国产CPU八核运行的状态。
2.根据权利要求1所述的测试评估国产CPU事务处理能力的方法,其特征在于,所述国 产CPU为龙芯,龙芯CPU的MIPS架构为单核单线程,单CPU为4核4线程,目前使用的龙芯 3A服务器都是双路服务器,故最多可调度8核8线程进行处理; 所述国产CPU单核运行的处理状态指CPU处理数据时仅使用一组能处理数据的芯片 组;实现命令:taskset -cO运行的程序; 所述国产CPU双核运行的处理状态指CPU处理数据时使用两组能处理数据的芯片组; 实现命令:taskset _cO_l运行的程序; 所述国产CPU四核运行的处理状态指CPU处理数据时使用四组能处理数据的芯片组; 实现命令:taskset _c0_3运行的程序; 所述国产CPU八核运行的处理状态指CPU处理数据时使用八组能处理数据的芯片组; 实现命令:taskset ~c0~7运行的程序; 所述基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试 对象的某项性能指标进行定量的和可对比的测试。
3.根据权利要求2所述的测试评估国产CPU事务处理能力的方法,其特征在于,所述基 准测试进一步包括:对国产CPU进行CPU运算能力、内存读写速率、I / 0吞吐性能、JVM性 能、多线程并发处理性能等方面的测试; 所述CPU运算能力测试是指使用Lmbench、Spec2000测试工具进行测试,比较不同类型 CPU的整点运算和浮点运算性能; 所述CPU运算能力指CPU对整型数据进行运算和对浮点型数据进行运算时的性能;所 述整型数据,是指不包含小数部分的数值类型;浮点型数据,是指包含小数部分的数值类 型; 所述内存读取速率测试是指使用Stream测试工具通过大维度的矢量数组的处理测 试,计算机平台的可持续运行的内存带宽最大值; 所述大维度的矢量数组,是采用双精度,即每个元素为8个字节的数组,所述大维度的 矢量数组的处理,是指对数组的复制、数组的尺度变换、数组的矢量求和、数组的符合矢量 求和; 所述I/o吞吐性能测试包括向一个新文件写入性能的测试、向一个已存在的文件写入 性能的测试、读一个已存在的文件性能的测试、读一个最近读取过的文件的性能测试; 所述的I / 0是input / output的缩写,即输入输出端口,使用Ι0Ζ0ΝΕ测试工具,测 试结果单位:Kbytes / s。
4.根据权利要求1或2或3所示的测试评估国产CPU事务处理能力的方法,其特征在 于,所述JVM性能测试是指使用SPECJVM2008测试工具对JVM运行性能进行测试评估; 所述多线程并发处理测试是指使用Pingpong测试工具对操作系统多线程操作能力的 测试; 所述多线程是指在单个程序中同时运行多个线程完成不同的工作,称为多线程,所述 线程是指线程是程序中一个单一的顺序控制流程; 所述集成测试进一步包括:针对国产CPU,进行TPC-W、TPC-C测试; 所述TPC-W测试是指使用bench4Q对TPC-W应用进行的测试; 所述TPC-C测试是指使用清华TPC-C测试工具针对TPC-C标准进行的测试; 所述TPC-C标准是指按照交易处理性能委员会(TPC)基于0LTP业务模式下的基准规 范; 所述应用支撑测试进一步包括:针对国产CPU,测试应用的事务处理能力和响应时间; 所述事务处理能力是指计算机每秒钟处理的事务;所述事务是指计算机执行任务结合在一 起完成一个业务需求。
【文档编号】G06F11/22GK104142874SQ201310723977
【公开日】2014年11月12日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】王定健, 陈鲁, 符兴斌, 李锁在, 胡春玲, 刘向军, 李亮, 孙树刚, 韩鹏, 郑永飞, 袁泉, 曹杉, 张连, 刘栩玲, 徐珊珊, 王江, 卫广辉, 谢乐鸣, 丁洪波, 吴正好 申请人:中软信息系统工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1