服务器基准测试

合集下载

基准测试_性能测试的知识

基准测试_性能测试的知识

什么是基准测试?基准测试(benchmarking)是一种测量和评估软件性能指标的活动。

你可以在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响。

这是基准测试最常见的用途。

其他用途包括测定某种负载水平下的性能极限、管理系统或环境的变化、发现可能导致性能问题的条件,等等。

基准测试的具体做法是:在系统上运行一系列测试程序并把性能计数器的结果保存起来。

这些结构称为“性能指标”。

性能指标通常都保存或归档,并在系统环境的描述中进行注解。

比如说,有经验的数据库专业人员会把基准测试的结果以及当时的系统配置和环境一起存入他们的档案。

这可以让他们对系统过去和现在的性能表现进行对照比较,确认系统或环境的所有变化。

基准测试通常都是些功能测试,即测试系统的某个功能是否达到了预期的要求。

有些性能测试工具可以对系统几乎所有的方面(从最常见的操作到最复杂的操作,从小负载到中等负载到大负载)进行测试。

大部分程序员只在系统发生了奇怪的事情时才考虑进行基准测试,但我认为定期进行基准测试,尤其是在重大事件(比如系统或环境发生变化)之前和之后进行基准测试更有意义。

一定要首先进行一次基准测试以创建基准线。

如果没有基准线作为参照物,在事件发生之后进行的基准测试是不会对你有多大帮助的。

1、优秀基准测试的指导原则在进行基准测试的时候,有许多好的实践方法。

在这一节里,我将向大家介绍几个我认为对大家最有帮助的基准测试原则。

首先,应该牢记“事前快照”和“事后快照”的概念。

不要等到你对服务器做出修改之后才想起应该进行一次基准测试并把测试结果与你在六个月前建立的基准线进行对比。

六个月的时间会发生许多事情!你应该在做出修改之前进行一次测试,做出修改,然后再对系统进行一次基准测试。

这可以让你对三组性能指标进行对比:系统的预期性能、它在修改前的实测性能以及它在修改后的实测性能。

服务器性能测试与基准测试案例分析

服务器性能测试与基准测试案例分析

服务器性能测试与基准测试案例分析随着互联网应用的快速发展和用户数量的不断增加,服务器性能问题逐渐成为互联网企业关注的焦点。

为了确保服务器的高性能和稳定运行,服务器性能测试和基准测试变得越来越重要。

本文将以实际案例为基础,探讨服务器性能测试与基准测试的方法和重要性。

一、背景介绍最近,某互联网企业在推出新产品之前,遇到了服务器响应慢的问题。

用户在访问该产品时,页面加载速度明显变慢,导致用户体验下降。

为了解决这个问题,该企业决定进行服务器性能测试与基准测试,以找出问题的原因并采取相应的优化措施。

二、服务器性能测试的目的与方法服务器性能测试旨在评估服务器在正常工作条件下的性能表现,以找出潜在的问题和性能瓶颈。

在本案例中,该企业决定采用负载测试方法进行服务器性能测试。

他们使用了模拟真实用户访问的工具,通过向服务器发送大量请求模拟用户访问的情况,并记录服务器的响应时间、吞吐量和并发量等指标。

三、基准测试的目的与方法基准测试是通过在特定条件下对服务器性能进行测试和测量,以建立服务器性能的基准水平。

在本案例中,该企业进行了应用基准测试和负载基准测试两种方法。

应用基准测试是通过对服务器上的应用程序进行测试,以确定应用程序的性能瓶颈和优化空间。

该企业使用了压力测试工具,模拟不同场景下的真实用户负载,记录了服务器的响应时间和处理能力等指标。

负载基准测试是对服务器承受的最大负载进行测试和测量。

该企业使用了负载测试工具,逐渐提高负载并记录服务器的性能指标,直到服务器达到负载极限。

通过负载基准测试,该企业得出了服务器的最大承载量和响应时间等重要指标。

四、案例分析与结果解读通过服务器性能测试和基准测试,该企业得出了以下重要结果:1. 服务器的响应时间在高负载情况下明显增加,超过了用户的可接受范围。

2. 服务器在处理大量并发请求时,出现性能瓶颈,导致部分请求被延迟处理。

3. 应用程序在高并发和大数据量的情况下,性能下降明显。

基于以上结果,该企业采取了以下优化措施:1. 针对服务器响应时间过长的问题,优化了服务器的硬件和网络配置,提升了服务器的处理能力和网络带宽。

性能测试之基准测试

性能测试之基准测试

性能测试之基准测试一、基准测试1、定义通过设计合理的测试方法,选用合适的测试工具和被测系统,实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。

2、特质①、可重复性:可进行重复性的测试,这样做有利于比较每次的测试结果,得到性能结果的长期变化趋势,为系统调优和上线前的容量规划做参考。

PS:这种特质是为了满足基准测试的日常轮询需要。

②、可观测性:通过全方位的监控(包括测试开始到结束,执行机、服务器、数据库),及时了解和分析测试过程发生了什么。

③、可展示性:相关人员可以直观明了的了解测试结果(web界面、仪表盘、折线图树状图等形式)。

④、真实性:测试的结果反映了客户体验到的真实的情况(真实准确的业务场景+与生产一致的配置+合理正确的测试方法)。

⑤、可执行性:相关人员可以快速的进行测试验证修改调优(可定位可分析)。

3、前置条件基准测试一定要在可控的条件下进行。

面对日益复杂的系统和不断增长的用户数,以及性能测试可能涉及到的多个业务系统,只有做到基准测试所涉及的业务场景、系统架构、测试环境等在可控状态下,才能得到相对准确的结果,为容量规划、缺陷定位、系统调优提供参考和依据。

4、意义①、为容量规划确定系统和应用程序的极限;②、为配置测试的参数和配置选项提供参考依据;③、为验收测试确定系统是否具备自己所宣称的能力;④、为性能基线的建立提供长期的数据统计来源以及比较基准;5、前提①、测试目的:明确测试的目的,测试什么?用什么测试方法、策略?②、测试环境:被测系统的环境是什么,SIT还是UAT活着PAT?③、测试限制:要执行测试有哪些限制因素,该如何解决?④、风险因素:测试可能存在哪些风险,解决方案是什么?⑤、结果分析:对测试结果如何分析?测试产生的数据如何分析、定位?6、原则①、测试策略:稳定且连续的工作负载,多次运行,看测试结果数据的正态分布趋势,尽量取平均值;②、数据统计:真实环境下测试数据的平均值、峰值各是多少,取值的维度;③、差异风险:明确存在哪些风险,风险对测试结果的影响,是否忽略;④、特殊情况:有哪些特殊情况,是否有对应的解决方案(比如支付场景中的支付服务调用,是否采用挡板等);7、需要考虑的因素交易配比:某些业务场景,一个流程包含多个事务,在模拟并发中,不同的事务各自的占比;突发性的读写操作:某些特殊业务场景,会有短时的大流量冲击或者请求数量骤减,该如何模拟(浪涌测试);系统配置:不同环境的系统配置不同,测试结果如何换算、如何对比?测试时长:测试执行过程中,运行多长时间,不同交易运行的时间分配等;结果展示类型:平均值、峰值、百分比值如何展示,如何对比?成功/失败占比:每次测试过程中,成功和失败的事务占比统计;是否可重现:如测试过程中出现报错或某些异常情况,是否可以重现?是否可对比:是否有其他测试工具或者测试结果进行对比(尽量多次执行测试,进行测试结果对比:标准方差、正太分布了解一下?)?8、简单可行的方法逐渐增加系统负载是一个确定系统所能处理的最大吞吐量的简单办法,也是寻找系统性能拐点的可行策略(阶梯式加压测试)。

服务器能效测试标准-概述说明以及解释

服务器能效测试标准-概述说明以及解释

服务器能效测试标准-概述说明以及解释1.引言1.1 概述服务器能效测试标准指的是对服务器能效进行评估和测试的标准和方法。

随着信息技术的飞速发展,服务器的能效问题日益受到关注。

能效指标不仅能够反映服务器能耗的合理性,还能够评估服务器的性能和可靠性。

因此,制定一套科学合理的服务器能效测试标准对于提高服务器的整体性能和降低运营成本具有重要意义。

服务器能效是指在完成一定任务的前提下,所消耗的能源相对于服务器性能的比值。

能效标准主要包括能耗指标和性能指标。

能耗指标反映了服务器在完成任务时所消耗的能源大小,包括服务器功耗、散热消耗等。

而性能指标则反映了服务器在完成任务时的性能水平,如计算速度、响应速度等。

制定服务器能效测试标准的目的在于为用户提供能效评估的依据,同时也对服务器厂商提出了能效方面的要求。

通过统一的测试标准,不仅能够让用户更加客观地评估和选择服务器产品,同时也能够激励厂商在设计和生产过程中注重能效问题的解决。

这对于减少服务器能耗、降低运营成本、提高节能环保水平都具有积极影响。

本文将围绕服务器能效测试标准展开详细讨论。

首先,我们将介绍现有的一些服务器能效测试标准及其特点,并对比其优缺点。

然后,我们将提出一种新的服务器能效测试标准的设计思路,并详细介绍其实施细节。

最后,我们将对未来服务器能效测试标准的发展进行展望,探讨新技术和方法在此领域的应用前景。

通过本文的阐述,希望能够增进读者对服务器能效测试标准的理解和认识,为相关研究和实际应用提供一定的借鉴和指导。

同时,也希望能够引起更多人对服务器能效问题的重视,促进服务器能效技术的持续创新和发展。

文章结构部分主要介绍了本篇长文的组织结构和各个章节的内容,以便读者能够清晰地了解文章的整体架构。

文章结构如下:本篇长文分为引言、正文和结论三大部分。

1. 引言部分主要包括概述、文章结构和目的三个小节。

1.1 概述:在概述部分,我们将介绍服务器能效测试的背景和重要性,以及目前存在的问题和挑战。

服务器TPC性能测试指标介绍

服务器TPC性能测试指标介绍

服务器TPC性能测试指标介绍一.TPC-C作为一家非盈利性机构,事务处理性能委员会(TPC)负责定义诸如TPC-C、TPC-H 和TPC-W基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。

TPC基准测试采用极为严格的运行环境,并且必须在独立审计机构监督下进行。

委员会成员包括大多数主要数据库产品厂商以及服务器硬件系统供应商。

相关企业参与TPC基准测试以期在规定运行环境中获得客观性能验证,并通过应用测试过程中所使用的技术开发出更加强健且更具伸缩性的软件产品及硬件设备。

TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。

这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。

许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。

TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。

特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。

独立审计机构将负责对基准测试结果进行公证,同时,TPC将出据一份全面彻底的测试报告。

这份测试报告可以从TPC Web站点()上获得。

tpmC定义: TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行20分钟。

1.TPC-C规范概要TPC-C是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。

TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。

服务器TPCC值计算

服务器TPCC值计算

服务器TPCC值计算TPC-C是一个基准测试,用于评估OLTP(在线事务处理)系统的性能。

它模拟了一个订单处理环境,通过执行一系列的事务来评估系统的吞吐量和响应时间。

TPC-C基准测试涉及到以下几个主要的表和事务:1. Warehouse(仓库)表:存储仓库信息,比如仓库编号,地址等。

2. District(区域)表:存储区域信息,比如区域编号,仓库编号等。

3. Customer(客户)表:存储客户信息,比如客户编号,区域编号等。

4. Order(订单)表:存储订单信息,比如订单编号,客户编号等。

5. Order-Line(订单行)表:存储订单行信息,比如订单行编号,订单编号等。

6. Stock(库存)表:存储库存信息,比如库存编号,仓库编号等。

TPC-C测试中包含以下几种基本事务:1. New-Order(新订单)事务:模拟一个新订单的生成,包括生成订单、订单行、库存更新等操作。

2. Payment(付款)事务:模拟一个客户付款的过程,包括根据客户编号查询订单信息、更新客户余额等操作。

3. Order-Status(订单状态)事务:根据客户编号查询订单状态信息,包括查询最近的订单、订单行等操作。

4. Delivery(发货)事务:模拟一个订单发货的过程,包括查询订单、更新订单状态等操作。

5. Stock-Level(库存水平)事务:查询特定仓库的库存水平信息,包括查询最近的订单行、库存数量等操作。

TPC-C测试的目的是通过执行大量的基本事务,来模拟真实的OLTP 环境,从而评估系统的性能和扩展性。

测试的主要指标是每分钟完成的事务数量(TPM)和平均响应时间。

TPC-C测试的计算方法如下:1.将所有的基本事务按照预定的比例进行混合执行,比如新订单事务占比45%,付款事务占比43%,订单状态事务占比4%,发货事务占比4%,库存水平事务占比4%。

2.根据实际的测试情况,确定每个事务的平均响应时间,比如新订单事务的平均响应时间为2秒,付款事务的平均响应时间为1秒,订单状态事务的平均响应时间为0.5秒,发货事务的平均响应时间为1.5秒,库存水平事务的平均响应时间为0.8秒。

服务器性能测试和基准测试方法

服务器性能测试和基准测试方法服务器性能测试和基准测试方法是评估服务器硬件和软件性能的一种有效手段。

通过性能测试和基准测试,可以了解服务器的承载能力、响应时间和资源利用率等关键指标,帮助企业选择合适的服务器方案,优化系统性能,提高用户体验。

本文将介绍服务器性能测试和基准测试的方法和步骤。

一、性能测试方法性能测试是通过模拟真实场景对服务器进行负载测试,以检测服务器在高负载下的表现和性能瓶颈。

常见的服务器性能测试方法包括负载测试、压力测试和稳定性测试。

1. 负载测试(Load Testing)负载测试是模拟真实用户并发情况对服务器进行测试的方法,主要目的是评估服务器在不同负载下的性能表现。

负载测试可以通过工具软件模拟并发用户的请求,测试服务器的吞吐量、响应时间、资源利用率等指标。

在负载测试中,可以通过调整并发用户数量、请求频率等参数来模拟不同的负载情况。

2. 压力测试(Stress Testing)压力测试是对服务器进行极限加载的测试方法,通过不断增加负载,测试服务器的极限性能和稳定性。

在压力测试中,可以通过增加并发用户数量、提高请求频率等方式来增加服务器的负载,直至达到服务器的极限承载能力。

压力测试可以帮助发现服务器的性能瓶颈和资源不足问题,并进行相应的优化。

3. 稳定性测试(Stability Testing)稳定性测试是在长时间运行的情况下对服务器进行测试的方法,主要目的是检测其在长期运行中的稳定性和可靠性。

稳定性测试可以模拟真实场景下的长期运行状况,测试服务器对连续负载的适应性和稳定性。

在稳定性测试中,可以通过监测服务器的运行状态、资源使用情况、错误日志等来评估服务器的稳定性。

二、基准测试方法基准测试是通过对服务器在标准环境下进行测试,获取基准性能指标,以便与其他系统进行比较和评估。

常见的基准测试方法包括基准测试套件和基准测试工具。

1. 基准测试套件(Benchmark Suite)基准测试套件是一组标准化的测试程序,用于评估服务器硬件和软件性能。

服务器性能测试和压力测试的方法和工具

服务器性能测试和压力测试的方法和工具随着互联网的迅速发展和应用的广泛化,服务器的性能和稳定性对于保证系统的正常运行和用户体验质量至关重要。

为了有效评估和优化服务器的性能,我们需要进行服务器性能测试和压力测试。

本文将介绍服务器性能测试和压力测试的方法和常用工具。

一、服务器性能测试的方法1. 基准测试(Benchmark Testing)基准测试是用来测量服务器性能的一种基本方法。

它通过记录服务器在标准化负载条件下的运行情况来获得性能指标。

基准测试可以评估服务器的处理能力、响应时间和吞吐量等关键指标,并提供性能基准数据供后续的性能优化和比较分析使用。

2. 资源利用率测试(Resource Utilization Testing)资源利用率测试是用来测量服务器在不同负载条件下资源的利用情况的方法。

通过监测服务器的CPU、内存、硬盘和网络等资源的使用情况,可以评估服务器在高负载条件下的性能表现和资源利用率,从而找出系统的瓶颈和优化方向。

3. 响应时间测试(Response Time Testing)响应时间测试是用来衡量服务器处理请求所需的时间的方法。

通过模拟用户请求并记录服务器的响应时间,可以评估服务器在不同负载条件下的响应速度和延迟情况。

响应时间测试可以帮助发现系统的瓶颈和性能瓶颈,并提供改进系统响应速度的建议。

二、服务器压力测试的方法1. 负载测试(Load Testing)负载测试是用来模拟服务器在高负载条件下运行的方法。

通过逐渐增加并维持大量请求的负载,测试服务器在负载峰值时的性能表现和稳定性。

负载测试可以帮助评估服务器的负载能力和扩展性,并发现系统的性能瓶颈。

2. 并发测试(Concurrency Testing)并发测试是用来模拟服务器同时处理多个请求的方法。

通过同时发送多个并发请求,测试服务器在处理多个请求时的性能表现和资源利用率。

并发测试可以帮助评估服务器的并发处理能力和稳定性,并提供优化建议。

服务器资源评估方法

服务器资源评估方法概述随着互联网的迅速发展,服务器资源的评估变得越来越重要。

服务器资源评估是指对服务器的性能和能力进行评估,以确定服务器是否能够满足预期的工作负载。

本文将介绍一些常用的服务器资源评估方法,帮助读者更好地了解和应用这些方法。

一、负载测试负载测试是一种常见的服务器资源评估方法。

通过模拟实际的工作负载,测试服务器在不同负载下的性能表现。

负载测试可以包括多种指标,如并发连接数、请求响应时间、吞吐量等。

通过负载测试,可以评估服务器的处理能力和性能瓶颈,从而确定服务器的资源需求。

二、性能监控性能监控是一种实时监测服务器性能的方法。

通过收集服务器的性能数据,如CPU利用率、内存使用率、网络带宽等,可以了解服务器的运行状态和资源利用情况。

通过性能监控,可以及时发现和解决服务器性能问题,提高服务器的稳定性和可靠性。

三、容量规划容量规划是一种根据历史数据和趋势预测的服务器资源评估方法。

通过分析服务器的历史负载数据和趋势,可以预测未来的工作负载,并确定服务器的资源需求。

容量规划可以帮助企业合理规划服务器的配置和扩展,避免资源浪费和性能瓶颈。

四、基准测试基准测试是一种通过对服务器进行标准化测试来评估其性能的方法。

通过在相同的硬件和软件环境下进行测试,可以得到服务器的基准性能数据。

基准测试可以用于比较不同服务器的性能,选择最适合的服务器配置。

五、模拟仿真模拟仿真是一种通过建立模型来评估服务器性能的方法。

通过模拟服务器的运行过程和工作负载,可以预测服务器的性能和资源利用情况。

模拟仿真可以帮助企业在实际部署服务器之前评估服务器的性能和容量,减少风险和成本。

六、容错测试容错测试是一种评估服务器可靠性和容错能力的方法。

通过模拟服务器故障和故障恢复过程,可以评估服务器的容错能力和故障恢复时间。

容错测试可以帮助企业选择可靠性更高的服务器,提高系统的可用性和可靠性。

七、能耗评估能耗评估是一种评估服务器能耗和节能性能的方法。

浅谈基准测试SPECjbb2000

浅谈基准测试SPECjbb2000IBM 互联网服务器部李一峰众所周知,当今许多应用软件都是用Java编写的,其优势是经过一次编写后,可运行在不同的操作系统平台上,有很大的灵活性。

但不同的Java版本运行在不同的硬件平台上,会反映出不同的性能。

如何判定不同硬件平台运行Java程序的效率,是Java使用者所普遍关心的问题。

1. SPECjbb2000 Java基准测试SPECjbb2000 是SPEC委员会制定的一套Java基准测试程序,它是用于测试J ava服务器性能的。

SPECjbb2000模拟了三层客户/服务器模型结构,所有的三层结构都在一个JVM(Java虚拟机)内实现。

这三层结构模拟了一个典型的商业应用结构:第一层是用户(客户端输入);第二层是商业应用逻辑;第三层是数据库。

在SPECjbb2000里,第一层是用进程或线程模拟客户系统的随机输入;由Java类和Java 对象形成的Btree模拟第三层的数据库;在第二层里是对Btree数据库中的数据进行操作,其结构图如下:SPECjbb2000 基准测试借用了TPC-C基准测试的概念、输入产生、和交易模式。

只不过,SPECjbb2000用Java类取代数据库中的表(Table),用Java对象取代数据库中的记录(Record)。

SPECjbb2000主要关心的是第二层业务逻辑的处理能力,即考察用Java编写的应用程序运行在某台服务器上所表现出的性能。

SPECjbb2000规则中要求只运行一个Java虚拟机(JVM)。

在整个测试中,以下因素是影响测试性能的关键:∙JVM(Java虚拟机)∙JIT(即时编译)∙Garbage Collection(垃圾收集)∙Thread(线程)等技术∙操作系统的内核处理∙CPU的整型处理能力、Cache的大小,内存大小和结构。

∙服务器SMP的线性扩展能力。

SPECjbb2000测试中,并没有考察到网络、磁盘I/O、和图形处理能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 运行 – 执行23个测试脚本,记录运行时长
测试工具 – tpch
• 基准 - tpch
– warehouse = 100 – 单进程 – tpch侧重OLAP模型,而MySQL并不适合OLAP,因此 warehouse设定较小
测试报告
• cpu - sysbench
测试报告
• memory - sysbench
• 基准 - mutex
– mutex-num=5,000,000 – mutex-loops=100,000 – mutex-locks=100,000
• 基准 - fileio
– file-num=100 – file-total-size=物理内存 ~ 物理内存的8倍 – mode=seqwr/seqrewr/seqrd/rndrd/rndwr/rndrw
– – – – 和老一代产品对比,改变或优化的地方 和同档次其他厂商产品对比,优劣之处 服务器可靠性、性能表现 设计特点、功耗
方案。
了解上述几点后,针对服务器的测试也就有了相应的
大纲
• • • • 技术指标对比 测试工具 性能基准测试 可靠性测试
– 模拟意外事件 – 长期极限高压 – 模拟恶劣环境
测试工具 - sysbench
• fileio mode
seqwr seqrewr seqrd rndrd rndwr
顺序写 顺序重写 顺序读 随机读 随机写
rndrw
随机读写
• OLTP mode
nontrx
无事务
simple
complex
简单请求
复杂请求,有事务
测试工具 - iozone
• 安装
CC = gcc DATABASE = MYSQL MACHINE = LINUX WORKLOAD = TPCH
– 编辑tpcd.h,增加宏定义
#ifdef MYSQL #define GEN_QUERY_PLAN "" #define START_TRAN "START TRANSACTION" #define END_TRAN "COMMIT" #define SET_OUTPUT "" #define SET_ROWCOUNT "limit %d;\n" #define SET_DBASE "use %s;\n" #endif
可靠性测试
• 长期极限高压
– 持续数小时、数天、数周运行高负载计算、IO任务 – 考验服务器在高压下的性能波动情况 – 考验硬件设备在高压下的稳定性表现
• 模拟恶劣环境
– 供电不稳 – 通风冷却不好 – 湿气大、灰尘多
附件
• 整合sysbench测试脚本 [下载] • 整合iozone测试脚本 [下载] • 整合tpcc-mysql测试脚本 [下载] • 整合tpch测试脚本 [下载] • 汇总下载 [下载]
• 注意事项
– 持续压力过大无法反应服务器真实最优表现 – 持续压力时间过短亦无法反应服务器真实最优表现
性能基准测试 – 关注点
• CPU
– 简单素数计算、复杂浮点计算 – thread分配 – mutex性能
• 关注信息
– 计算能力 – 多线程并发 – mutex管理
常地,随着计算机工艺的发展,大部分应用下,CPU几乎不再成 为瓶颈。。一般只关注不同品牌厂商、不同工艺、不同主频下的不 同表现,其他情况下,无需太多关注。
服务器基准测试
叶金荣 @yejinrong 2012-11-30
写在最前面
• 非专业人士整理,有任何不正确的地方请指正 • 测试结果表格模板中的数据不准确,可以无视
概要
服务器是业务的基础单元,提供线上业务服务,存储 着重要数据,如何保证服务器高性能、高可靠运行非常关键。 对于服务器硬件一般关注几点:
通常,数据总量超过物理内存后,OLTP的TPS性能和磁盘IOPS 成正比关系。因此,只有不断提高内存,减少物理IO,并且不断提 升IOPS性能。
性能基准测试 – 关键因素
• 硬件
– CPU、内存、阵列卡(BBU、CACHE、条带、读写策略)、硬盘
• 系统
– 内核参数、文件系统、IO调度器
• 文件
– 块大小、访问模式
• 关注信息
– – – – – – 不同内核、文件系统下的IOPS 不同阵列级别、条带场景下的IOPS 和内存结合时的IOPS性能拐点 达到同样IOPS情景下,IO利用率差别 跑满IO以及IO压力较轻情景下,各自IO利用率差别 sar -d:tps、svctm、%util
通常,磁盘物理IO是这个计算机体系里最容易成为瓶颈的环节, 也是最难优化的,因此最需要关注。随着SSD、Fusion-IO出现,磁 盘IOPS获得了巨大提升,和内存相比,差距在不断缩小。
测试报告
• fileio - sysbench
测试报告
• fileio - iozone
测试报告
• oltp - sysbench
ቤተ መጻሕፍቲ ባይዱ 测试报告
• oltp - tpcc
测试报告
• olap – tpch
可靠性测试
• 模拟意外事件
– – – – – – – – – – – 断电(硬件冷重启) RESET(硬件热重启) 阵列卡掉线 磁盘掉线 REBOOT(系统重启) 正常关闭服务(kill -TERM) 异常关闭服务(kill -9) 磁盘空间满 删除文件 破坏性修改已打开文件 …
性能基准测试 – 关注点
• 内存
– 总带宽 – 读写效率 – CPU对内存的管理分配
• 关注信息
– 读写效率
通常,内存越大越好,可有效减少磁盘物理IO。一般只关注不 同品牌厂商、不同工艺、不同主频下的不同表现,其他情况下,无 需太多关注。
性能基准测试 – 关注点
• 磁盘IOPS
– 读写效率 – 随机写性能
硬盘 网卡 电源
性能基准测试 – 关注点
• 何为基准
– 通过设计科学的测试方法、测试工具和测试系统,实现对一类测 试对象 – – CPU:计算,尤其是浮点运算 内存:带宽、吞吐 磁盘:IOPS、响应时间 数据库:OLTP、OLAP、响应时间
• iozone
– filesystem benchmark tool
• tpcc-mysql
– Primarily for MySQL OLTP benchmarking,By Percona
• tpch
– Primarily for OLAP benchmarking
• 其他
– OLTP:mysqlslap、sql-bench – IOPS:bonnie、orion、 iometer – 综合:stress
测试工具 - sysbench
• 基准 - memory – mode=complex – engine=innodb – oltp-table-size=100,000,000 • 基准 – OLTP – mode=complex – engine=innodb – oltp-table-size=100,000,000
测试工具 - tpcc mysql
• 安装
– – – – 下载 bzr branch lp:~percona-dev/perconatools/tpcc-mysql 直接make即可 create_table.sql - 创建数据表 add_fkey_idx.sql – 创建索引及外键
• 初始化加载数据
测试工具 – tpch
• 初始化
– – – – – – – – – – 初始化测试表数据: ./dbgen -s 100 生成测试数据:mysql -f tpch < dss.ddl 默认的初始化模式无主键、无索引 LOAD DATA INFILE导入数据 注意max_binlog_cache_size限制,需要切分文件导入 执行修改主键/外键/额外索引脚本 数据表名全部改成小写,适应TPC-H测试SQL脚本 运行qgen生成测试SQL 修改部分SQL语句 拆分完成测试SQL脚本成23个测试SQL
• 其他
– 网络环境对over lan请求测试影响大 – 每完成一轮测试后要净化环境 – 每轮测试一般至少持续1小时
测试工具
• sysbench
– Primarily for MySQL OLTP benchmarking,By MySQL AB – cpu、threads、mutex、memory、fileio、oltp
性能基准测试 – 关注点
• OLTP/OLAP
– TPS、QPS、 – 响应延迟/分析、吞吐效率
• 关注信息
– – – – – – 不同内核、文件系统下的TPS 不同阵列级别、条带场景下的TPS 和内存结合时的TPS性能拐点 达到同样TPS情景下,IO负载差别 TPS满负荷、低负荷情景下,各自IO利用率差别 sar -d:tps、svctm、%util
– tpcc_load db_host db_name db_user db_passwd db_warehouse_num – 例如:tpcc_load localhost tpcc1000 user passwd 1000 • 运行OLTP测试 – ./tpcc_start -h localhost -d tpcc1000 -u root -p ' xx' -w 1000 -c 32 -r 120 -l 3600 -f ./tpcc_mysql_20120314
– make linux-AMD64 • 运行 – iozone -R -E -s 3200M -l 10 -r 4k
测试工具 - iozone
• 基准 - fileio
相关文档
最新文档