如何测试mysql的性能和稳定性

如何测试mysql的性能和稳定性,第1张

 有一些有用的工具可以测试MySQL 和基于MySQL 的系统的性能。这里将演示如何利用这些工具进行测试。

  mysqlslap

  mysqlslap可以模拟服务器的负载,并输出计时信息。它包含在MySQL 51 的发行包中,应该在MySQL 41或者更新的版本中都可以使用。测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中)。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句。

  MySQL Benchmark Suite (sql-bench)

  在MySQL 的发行包中也提供了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试。它是单线程的,主要用于测试服务器执行查询的速度。结果会显示哪种类型的操作在服务器上执行得更快。

  这个测试套件的主要好处是包含了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试。其也可以用于高层次测试,比较两个服务器的总体性能。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)。这些测试大部分是CPU 密集型的,但也有些短时间的测试需要大量的磁盘I/O 操作。

  这个套件的最大缺点主要有:它是单用户模式的,测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考

  Super Smack

  Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。这是一个复杂而强大的工具,可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素。

  Database Test Suite

  Database Test Suite 是由开源软件开发实验室(OSDL,Open Source DevelopmentLabs)设计的,发布在SourceForge 网站上,这是一款类似某些工业标准测试的测试工具集,例如由事务处理性能委员会(TPC,Transaction Processing Performance Council)制定的各种标准。特别值得一提的是,其中的dbt2 就是一款免费的TPC-C OLTP 测试工具(未认证)。之前本书作者经常使用该工具,不过现在已经使用自己研发的专用于MySQL 的测试工具替代了。

  Percona's TPCC-MySQL Tool

  我们开发了一个类似TPC-C 的基准测试工具集,其中有部分是专门为MySQL 测试开发的。在评估大压力下MySQL 的一些行为时,我们经常会利用这个工具进行测试(简单的测试,一般会采用sysbench 替代),在源码库中有一个简单的文档说明。

  sysbench

  sysbench是一款多线程系统压测工具。它可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、操作系统调度器、内存分配和传输速度、POSIX 线程,以及数据库服务器等。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、操作系统和硬件的硬件测试。(节选自《高性能MySQL》)

关于大型机、中型机、小型机

大型机(Mainframe) 大型机(mainframe)这个词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。虽然这个词已经通过不同方式被使用了很多年,大多数时候它却是指system/360 开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl, Hitachi Data Systems (HDS) 制造的兼容的系统。

  有些人用这个词来指IBM的AS/400 或者iSeries 系统,这种用法是不恰当的;因为即使IBM自己也只把这些系列的机器看作中等型号的服务器,而不是大型机。

什么是I/O通道(Channel)

  一条大型机通道(channel)某种程度上类似于PCI 总线(bus),它能将一个或多个控制器连接起来,而这些控制器又控制着一个或更多的设备(磁盘驱动器、终端、LAN端口,等等。)大型机通道和PCI总线之间的一个主要区别是大型机通道通过几对大的bus and tag 电缆(并行通道方式),或者通过最近常使用的ESCON(Enterprise System Connection)光导纤维电缆(串行通道方式)以及光纤通道来连接控制器。这些通道在早期是一些外置的盒子(每个约6’X30’’X5’H大小),现在都已经整合到了系统框架内。

  这些通道的超强I/O处理能力是大型机系统功能如此强大的原因之一。

什么是DASD

  DASD 是 Direct Access Storage Device(直接存取存储设备)的缩写;IBM创造这个词来指那些可以直接(并随意)设定地址的存储系统,也就是今天我们所说的磁盘驱动器。但在过去,这个词也指磁鼓(drums)和数据单元(datacell)等等。什么是数据单元? 嗯,在磁盘驱动器变得廉价、快速并普遍使用前,IBM曾经制造过一种设备,基本上就是由一个磁鼓和绕在磁鼓上的许多磁条(单元)中的一个组成,然后读写的资料就被纪录在卷动的磁条的磁道上。这种存取数据的方法和磁盘很类似,但当(磁鼓)搜寻资料的时候需要更换磁带的话,所需的时间显然就得按秒来计算。数据单元设备还有个调皮的习惯,它喜欢在卸下一个单元到存储槽的时候卷成一块,这有时会造成介质的物理损坏。可见,在取得目前的技术进步前,我们已经走了很长一段路了。

什么是LPAR

  一个LPAR(逻辑分区 logic partition)是一种通过PR/SM(Processor Resource/System Manager, 一种最近的大型机都具有的固件fireware特性)来实施的虚拟机。在每个分区上,可以运行一个单独的镜像系统,并提供完全的软件隔离。这和UNIX操作系统上的domains 原理很相似,但IBM的方法更加细致,它允许所有的CPU和I/O子系统可以在逻辑分区间被共享。PR/SM允许在单个系统上运行15个LPAR,每个(LPAR)拥有专有真实存储(dedicated real storage RAM)并且拥有专有或共享的CPU和通道。因为对性能影响最为重要的部分都是在CPU里完成的,所以(这样做)没有多少性能的损失。IBM已经宣称它准备在不久的将来把最高可支持的LPAR数目扩展到超过15个。

大型机系统得以长盛不衰的主要原因(特点)是:RAS,I/O处理能力以及ISA。

  RAS

  RAS(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性)是一个IBM常用来描绘它的大型机的词。到70年代早期为止,IBM已经认识到商业用途系统市场远比科研计算机系统市场有利可图。他们也知道IBM商用系统的一个重要的卖点就是高可靠性。如果他们的商业客户准备采用IBM计算机来开展极其重要的商业业务,客户就得确认他们可以在任何时间都可以正常使用(IBM的机器)。所以,最近30多年来,IBM致力于使每一个新系列的系统比前一代更加可靠。这就导致了今天的系统变得如此可靠,以至于几乎没听说过有任何因为硬件问题导致的系统灾难。这些大型机系统内集成了相当高程度的冗余和错误检查(技术),这样就能防止系统发生灾难性的问题。每个CPU die装有2个完全的执行管道(execution pipelines)来同时执行每一条指令。如果这两条管道得出的结果不相同,CPU的状态就会复原,然后这条指令被重新执行。如果重新执行后结果还是不一致,最初的CPU状态就被记录下来,然后一个空闲的CPU被激活并装入存储的状态数据。这颗CPU继续做最初那颗CPU的工作。记忆芯片、内存总线、I/O通道、电源等等,都要么有冗余的设计,或者有相应的备用品并可以随时投入使用。这些(设备的)小错误可能会导致性能的一些小损失,但他们决不会导致系统中任何任务的失败。

当很罕见地出现错误的时候,高服务性就用得上了。许多组件都可以在系统运行的同时被更换(热插拔);甚至微码(microcode)的升级也可以在系统运行的同时进行。对于那些不能被同时更换的部件,如CPU,备用品的存在就保证了能够客户方便的时候安排系统停机。

  除了系统设计中的固有可靠性,IBM也创立了一个紧密联结的集群技术,叫做Parallel Sysplex,这项技术支持由最多32个系统作为一个系统镜像运行。在一个合理部署的Parallel Sysplex系统上,即使一个独立系统遭受了毁灭性损失,整个系统也不会受太大影响,而且不会导致任何工作的损失。任何在那台遭受损失的系统的上进行的工作,都可以自动地在剩下的系统上重新开始。另一个Parallel Sysplex的优势是一台(或多台)系统可以从整个系统中移出以进行硬件或软件的维护工作(例如在非工作时间),而其余的单独系统可以继续处理工作。当维护工作完成后,系统又回归加入Sysplex系统中继续工作。充分利用这一特点就可以升级整个Sysplex系统软件(一次一个单独的系统),而不会导致任何应用程序的暂停使用。

  正因为拥有所有这些功能,真正100%的系统可用性是非常实用的,并且已经在许多地方开始实施。

  I/O 吞吐量(I/O Throughput)

  这些通道实际上就是I/O处理器,他们执行通道程序。这些程序包含了成串的I/O指令,其中就包含有最原始的分流功能。这些通道极大地降低了CPU在I/O操作中的工作量,使得CPU可以更加高效地工作。每一个通道都能同时处理许多I/O操作和控制上千个设备。

  在360和370系列构架上,操作系统会创建一个通道程序并在一个已连接到所需设备的通道上执行这个程序。如果这个通道或控制单元十分忙碌,起始I/O指令就会失败,然后操作系统就会尝试在另一个已连接到不同控制单元的通道上重新开始通道程序。如果所有的道路都是繁忙的,操作系统就会把这个请求列入队列留在以后再试。XA系列里面出现的一个显著的改进就是创立了通道子系统的概念,这个子系统可以协调并安排系统里所有通道的活动。现在操作系统只需要创立通道程序,然后把程序转交给通道子系统,通道子系统就会处理所有的通道/控制单元以及队列问题。这样就使大型机具有了更加强大的I/O吞吐量并使CPU能更有效地工作,因为只有在所有的I/O操作都完成的时候才需要CPU的介入。

  目前z900大型机的I/O吞吐能力是最低每秒24GB(这是字节数,不是“位”数。)虽然我没有亲自测试这些最新系统的机会,但即使理论上的数字可能不太准确,如果说z900大型机达到了每秒100,000 次I/O,我也不会感到太吃惊。

  The ISA (IBM System Architecture)

  这些年虽然IBM大型机的整体指令集有了显著改进,IBM保持了惊人的对应用程序的向后兼容。许多最为显著的构架上的变化已经影响了一些只能直接被操作系统调用,而不能被应用程序调用的设备(如I/O子系统)。IBM已经花费了巨大的努力来保证它的客户们不必重写或重编译他们的程序来在新系统上运行。这样,客户要采用新的硬件就更为容易,客户只需要拔下旧系统,换上新系统,而不需要做额外的软件测试工作。对于只有拥有一台大型机的公司来说,只需要花几个小时就可以对旧系统进行升级,而不需要在投入正式使用前对新系统进行测试。这特别适合那些在升级前后使用同一种操作系统的客户,他们只需要将操作系统升级到所需要的版本就行了。例如,客户可以在新安装的z900系统上仍然运行31位的操作系统,然后在一个单独的LPAR上安装并测试一个64位的操作系统,然后再把全部运行的业务转移到64位的操作系统上。

大型机类型:9672/9674 = ES/9000=S/390=zSeries

中型机类型:9506/9402=AS/400=iSeries

小型机类型:RS/6000=pSeries,HP9000,SUN SPARC

小型机

不同品牌的小型机架构大不相同,使用RISC、MIPS处理器,像美国Sun、日本Fujitsu等公司的小型机是基于SPARC处理器架构,而美国HP公司的则是基于PA-RISC架构,Compaq公司是Alpha架构,IBM和SGI等的也都各不相同;I/O总线也不相同,Fujitsu是PCI,Sun是SBUS,等等,这就意味着各公司小型机机器上的插卡,如网卡、显示卡、SCSI卡等可能也是专用的;操作系统一般是基于Unix的,像Sun、Fujitsu是用Sun Solaris,HP是用HP-Unix,IBM是AIX,等等,所以小型机是封闭专用的计算机系统。使用小型机的用户一般是看中Unix操作系统的安全性、可靠性和专用服务器的高速运算能力。

小型机一般都是用UNIX操作系统,以前IO不兼容,现在基本上都是PCI总线,外设板卡一般都是兼容的。SBUS之类都是古董了。

巨型机

事实上,绝大多数当今的巨型机都是MPP或NUMA架构的,而且都采用INTEL或RISC节点。

所以说,绝大部分巨型机是由开放系统节点机(包括开放系统小型机)组成的。

巨型机是用途完全不同的东西,主要强调的是并行计算、共享内存,追求的是性能,动辄用几千个CPU,也有的用的不是CPU,而是专用的向量处理机,主要用于科学计算。典型编程语言是fortran、c。

大型机相关信息

按照IBM的说法,大型机有S/390,中型机有AS/400,小型机有RS/6000,S/390运行z/OS或者Linux/390,主要指标在于年档机只有几小时,所以又统称为z系列(zero),AS/400主要应用在银行和制造业,还有用于Domino,主要的技术在于TIMI,单级存储,有了TIMI技术可以做到硬件与软件相互独立。RS/6000比较常见,用于科学计算,事务处理。

大型机本来就不是以处理能力见长,各种排行榜如TPCC上,很少看到大型机,IO/RAS的优势现在也不明显了,以前EMC、HDS的存储都是用于大型机的,现在它们的主要市场都在小型机上,100000IOPS已经不稀奇了。

在CPU/内存容量/IO带宽方面,相对小型机里面的旗舰级产品如Sun15K,HP Superdome, IBM P690,没有优势。

大型机技术上还有很多领先的地方,但是性价比不敢恭维。不过积累了很多行业应用,一大堆非关系数据库/Cobol程序之类,这些东东没法移植,成为大型机吃老本的资本。

IBM的大型机概念强调的是IO和RAS,追求的是稳定、可靠,主要用于商业管理系统;典型编程语言是Cobol。

2015年2月最新魔兽导师兑换码(新手礼包)

赠礼详情:导师的乌龟坐骑×1,导师的补给袋×1,导师的塞纳留斯之路×10

使用条件:七天内注册的战网账号,即可使用兑换码,并获得“导师的赠礼”。

兑换方法:第一步:登录redeembnet163com 第二步:检测兑换码并选择角色 第三步:登录游戏,在邮箱中获取物品

兑换码如下:

04TPCC8RR8DJG41D 04SVCBBHLKD3EZ37 04SYCJ08L5DWS23H 04SYCO5Z23D8KK5L 04T2CEXTXLDTMV6E 04TDC3W7X4DKGC28 04TEC3YC3ZDSSH1H 04TLCIBAN3DPTQ08 04TMC4ATS8DHJN13 04TMC4D1ULDUWD08

TPC是“事务处理性能委员会”、“地球和平联合组织”和“ 传输功率控制”的简称。另外,TPC应用在炼钢行业,是鱼雷罐车的意思,用于装铁水的车子。

事务处理性能委员会

  事务处理性能委员会( Transaction Processing Performance Council ),是由数10家会员公司创建的非盈利组织,总部设在美国。该组织对全世界开放,但迄今为止,绝大多数会员都是美、日、西欧的大公司。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。 TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。任何厂家或其它测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。为保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含五年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计),现在全球只有几个审核员,全部在美国。 TPC已经推出了四套基准程序,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时,不再使用了。TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(Decision Support) 的基准程序。TPC即将推TPC-E,作为大型企业(Enterprise)信息服务的基准程序。

TPCC基准测试 TPCC值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际组织。TPCC值可以反映出系统的性能价格比。TPCC测试系统每分钟处理的任务数,单位为tpm,(transactions per minute)。系统的总体价格(单位为美元)除以TPCC值,就可以衡量出系统的性价比(单位为$/tpm),系统的性价比值越小,系统的性价比越好。需要注意的是,TPCC值描述的是C/S整体系统的性能,它与系统的服务器和客户机的性能都有关系,也就是说,同样的服务器配置不同的客户端将会影响TPCC值,任何厂商和测试者都可以根据TPC提供的测试规范构造出自己最优的系统,当然测试的结果要经过TPC审核。 运行 OLTP 类型的性能基准测试程序(TPC-C、TPC-W、Trade2 等)所得到的经验,着重讨论了许多 DB2 性能调优技巧 TPC(Transactionprocessing Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。 TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。TPC在全球只有不到10名审核员,全部在美国。 TPC推出过11套基准程序,分别是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,过时的TPC-A、TPC-B、TPC-D和TPC-R,以及因为不被业界接受而放弃的TPC-S(Server专门测试基准程序)、TPC-E(大型企业信息服务测试基准程序)和TPC-Client/Server。而目前最为“流行”的TPC-C是在线事务处理(OLTP)的基准程序,于1992年7月完成,后被业界逐渐接受。 TPC-C使用三种性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。 tpmC TPC已经推出了四套基准程序,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时,不再使用了。TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(Decision Support) 的基准程序。TPC即将推TPC-E,作为大型企业(Enterprise)信息服务的基准程序。 TPC-C模拟一个批发 商的货物管理环境。该批发公司有N个仓库,每个仓库供应10个地区,其中每个地 区为3000名顾客服务。在每个仓库中有10个终端,每一个终端用于一个地区。在运 行时,10×N个终端操作员向公司的数据库发出5类请求。由于一个仓库中不可能 存储公司所有的货物,有一些请求必须发往其它仓库,因此,数据库在逻辑上是 分布的。N是一个可变参数,测试者可以随意改变N,以获得最佳测试效果。 TPC-C使用三种性能 和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是transactions per minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。要注意的是,在处理新订单的同时,系统还要按表1的要求处理其它4类事务 请求。从表1可以看出,新订单请求不可能超出全部事务请求的45%,因此,当一个 系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000多个。价格是指系 统的总价格,单位是美元,而价格性能比则定义为总价格÷性能,单位是$/tpmC。 实际应用 最理想的方式是搞一个试点,要求制造商或系统集成商配合将系统(含平台、软件和操作流程)在一个 实际用户点真正试运行一段时间。这样,用户不仅能看到实际性能,也能观察到系统是否稳定可靠、使用是否方便、服务是否周到、配置是否足够、全部价格是否合理。如果一个部门需要购买一批同类的系统,这种方式应列为首选,因为它不仅最精确、稳妥,也常常最有效率,用户还可先租一套系统作为试点。用这种方式得到的度量值常常具有很明确和实际的含义。 用户定义 如果由于某种原因第一种方式不可行,用户可以定义一组含有自己实际应用环境特征的应用基准程序。 我举两个例子:近年来,由于R/3软件是应用层软件,SAP公司的基准程序获得了越来越多国外企业的认可;中国税务总局最近也开发了自己的基准程序,以帮助税务系统进行计算机选型。这种方式在中国尤其重要,因为中国的信息系统有其特殊性。 使用通用基准程序 如果第1种和第2种方式都不行,则使用如TPC-C之类的通用基准程序,这是不得已的一种近似方法。因 此,tpmC值只能用作参考。我们应当注意以下几点: (1)实际应用是否与基准程序相符 绝大多数基准程序都是在美国制订的,而中国的企事业单位与美国的运作方式常常不一样(恐怕也不应该或不可能一样)。在使用TPC-C时,我们应该清楚地知道:我的应用是否符合批发商模式事务请求是否与表1近似对响应时间的要求是否满足表1如果都不是,则tpmC值的参考价值就不太大了。 (2)TPC度量的解释 TPC基准程序是用来测系统而不是测主机的,厂家肯定要充分优化他们的被测系统。此处的“系统”包括主机、外设(如硬盘或RAID)、主机端操作系统、数据库软件、客户端计算机及其 操作系统、数据库软件和网络连接等。在很多厂家的TPC测试系统中,主机的价格只是系统总价格的1/4或更小,而硬盘的价格有可能占到总价格的1/3以上,因为TPC-C要求被测系统必须保存180天的事务记录。如果同样的主机被用到用户的环境中,厂家报的tpmC值就意义不大,因为用户的实际系统与厂家原来用于TPC测试的系统大不一样。当同样的主机用在不同的系统中时,tpmC值可能有相当大的变化,现在很多用户还没有意识到这一点。 我举一个例子。假设用 户希望购买一批同类系统,每一系统至少需要1GB的内存和50GB的硬盘。厂家A、B、C 各报了三个价格相当的系统,tpmC值分别为3000、2800、2600。用户是否应该选厂 家A的产品呢答案是:不一定。厂家用于测试tpmC值的系统与实际提供给用户的系统配置大不一样。tpmC最低的厂家C提供给用户的系统反而有可能性能最好,不 论是以实际系统的tpmC值还是以用户的实际应用性能来衡量。 (3)TPC测试的成本 TPC-C和TPC-D都是很复杂的基准程序,做一个严格的测试是很消耗资源的,厂家当然不会说出他们花费了多少钱和时间。但据国外知情人士透露,一个厂家做第一个TPC-C测试需 要几十万到上百万美元的资金和半年左右的时间投入。因此,很多TPC的度量值都 是估计的。由于计算机系统换代频繁,如果用户一定要用通过审核的度量值,就必 须多等待半年时间,因此而不能用最先进的系统。中国的厂家通过审核的时间则 更长。

地球和平联合组织

  地球和平联合组织(Terrestrial Peaceable Consortium ),建立于2003年,在世界范围内建立的国际和平联合组织。它最早是由联合国事务总长科菲·安南以及以中国、美国、日本、俄罗斯为主的一批科学家联合创立。这个组织现 TPC本部全景

在正在迅速的发展,旨在维护时间范围内的和平与安全。 TPC另一个简称是Terrestrial Peacekeeping Commission,用在the 4Kids Entertainment English dub中。 目前地球和平联合组织在全球都有支部以及研究中心,并且在月球表面还有观测用空间基地,在小行星带边缘还建设有宇宙探测站,其总部在日本海东部,距离东京市区大约720公里。中国远东支部设立在距离上海市区30公里的南海海面。

编辑本段其他简称

  TPC 英文全称:Transmission Power Control ( 传输功率控制 ) 3G通信网络(TD网络)中用于功率控制的控制数据信息。应用于DPCH信道中,PCCPCH没有功率控制。 TPC应用在炼钢行业,是鱼雷罐车的意思,用于装铁水的车子。 Tpc英文全称:Tetraphenyl phosphonium chloride (四苯基氯化鏻)

IBM System p5™ 570 服务器旨在以转变 IT 经济的价位提供出色的性能。该服务器具备先进的 64 位 POWER5 和 POWER5+™ 处理器,对称多处理(SMP)配置,为具有苛刻需求的一系列复杂的关键业务型应用程序提供了强大的处理能力 - 从数据库服务到企业资源规划(ERP)和事务处理。它可以同时运行 AIX 5L™ 和 Linux 操作系统,从而具备了企业为实现其目标而运行所需应用程序的灵活性。同时,秉承大型机的可靠性、可用性和可维护性功能有助于确保系统为企业全天候运行。 p5-570 服务器可以通过容量随需应变(CoD)选项激活那些已安装在系统结构中且处于非活动状态的处理器或内存。只有在激活这些资源时才需要付费。通过CoD,可以毫不费力地应对临时的峰值需求或长期增加的工作负载。 p5-570 服务器可以利用通过虚拟化引擎系统技术和操作系统(OS)实现的逻辑分区(LPAR)技术。各处理器可以独立运行工作负载,从而有助于降低成本。分区采用相互间隔离的设计方法,从而具备高级别的数据安全性,并提高了应用程序的可用性。动态LPAR 允许客户动态地将系统资源分配给应用程序分区,而无需重新引导,从而提高了可用性。 p5-570还包含高级POWER 虚拟化,它提供了Micro-PartitioningTM 和虚拟I/O 服务器(VIOS)功能,这使企业能在确保应用程序持续获得所需资源的同时提高系统利用率。利用这些虚拟化技术,可以在同一个系统上运行多个操作系统的副本,从而减少所需服务器的数量,这有助于降低软件许可证成本。 p5-570服务器具备在独立的微分区中分别运行AIX 5L 和Linux 应用程序的灵活性。这可以整合资源,从而有助于减少IT 总支出。 AIX 5L 操作系统是企业级的IBM UNIX环境,针对关键业务型应用程序进行了调优,并具有卓越的安全性、可靠性和可用性功能。它增强了JavaTM 技术、Web 性能和可伸缩性,可以管理各种规模的系统- 从单个服务器到大型、复杂的电子商务安装。基于Web 的远程管理工具使管理员能够集中控制系统,使他们能够监控关键资源,包括适配器和网络可用性、文件系统状态和处理器工作负载。 AIX 5L 还包含了工作负载管理器,这是一种资源管理工具,可以指明工作负载的相对重要性,以均衡竞争资源的各个工作负载的需求并提高系统资源利用率。工作负载管理器可以帮助确保关键应用程序在系统需求峰值期间仍能作出响应。 建议采用IBM的P570企业级服务器承担系统的数据库系统的硬件平台,由于数据库系统的计算特性要求硬件平台具有支持大负载和大用户连接的的负载负载需求,要求硬件平台具有较强的大内存访问和高IO吞吐能力的系统。而IBM P570拥有全球16路CPU系统的TPCC基准测试结果的冠军,达到1,025,170 tpc-c,而且具有可以支持512GB内存、163个PCI-X插槽的企业级服务器的高扩展能力。完全适合中国建银投资证券有限责任公司-集中交易系统的数据库硬件平台。 通过IBM的主机集群软件HACMP组合成高可用的支持并发方式主机双机集群系统,可以共享独立的存储系统,实现数据的物理整合,又可以解决单机的高可用安全问题。如此,还可以实现两服务器间的大容量数据交换不需要消耗过多的网络带宽,和实现集中的高效和低成本的管理模式。 诸如VIOS 之类的创新技术允许共享昂贵的磁盘驱动器、通信和光纤通道适配器,以帮助降低复杂性和系统/管理费用。共享的处理器池能不受干扰地自动均衡分配给共享池的各分区间的处理能力- 从而提高吞吐量和利用率。IBM System StorageTM 技术在p5-570 存储基础架构内提供了额外的虚拟化和分区能力。TotalStorage○RDS8000TM 产品系列具有两个存储分区,每个分区处理不同的苛刻工作负载。这使得服务器分区或两台服务器能够共享一个物理存储服务器,从而有助于提供更为经济有效的环境和更高的投资回报率。而IBM SAN Volume Controller 通过创建虚拟大型存储池来简化SAN 磁盘阵列的管理,从而有助于提高利用率和降低总体拥有成本。 每个p5-570 系统都必须连接一个IBM 硬件管理控

  有一些有用的工具可以测试MySQL 和基于MySQL 的系统的性能。这里将演示如何利用这些工具进行测试。

  mysqlslap

  mysqlslap可以模拟服务器的负载,并输出计时信息。它包含在MySQL 51 的发行包中,应该在MySQL 41或者更新的版本中都可以使用。测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中)。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句。

  MySQL Benchmark Suite (sql-bench)

  在MySQL 的发行包中也提供了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试。它是单线程的,主要用于测试服务器执行查询的速度。结果会显示哪种类型的操作在服务器上执行得更快。

  这个测试套件的主要好处是包含了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试。其也可以用于高层次测试,比较两个服务器的总体性能。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)。这些测试大部分是CPU 密集型的,但也有些短时间的测试需要大量的磁盘I/O 操作。

  这个套件的最大缺点主要有:它是单用户模式的,测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考

  Super Smack

  Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。这是一个复杂而强大的工具,可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素。

  Database Test Suite

  Database Test Suite 是由开源软件开发实验室(OSDL,Open Source DevelopmentLabs)设计的,发布在SourceForge 网站上,这是一款类似某些工业标准测试的测试工具集,例如由事务处理性能委员会(TPC,Transaction Processing Performance Council)制定的各种标准。特别值得一提的是,其中的dbt2 就是一款免费的TPC-C OLTP 测试工具(未认证)。之前本书作者经常使用该工具,不过现在已经使用自己研发的专用于MySQL 的测试工具替代了。

  Percona's TPCC-MySQL Tool

  我们开发了一个类似TPC-C 的基准测试工具集,其中有部分是专门为MySQL 测试开发的。在评估大压力下MySQL 的一些行为时,我们经常会利用这个工具进行测试(简单的测试,一般会采用sysbench 替代),在源码库中有一个简单的文档说明。

  sysbench

  sysbench是一款多线程系统压测工具。它可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、操作系统调度器、内存分配和传输速度、POSIX 线程,以及数据库服务器等。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、操作系统和硬件的硬件测试。(节选自《高性能MySQL》)

当前业界常见的服务器性能指标有:

TPC-C

TPC-E

TPC-H

SPECjbb2005

SPECint2006 及 SPECint_rate_2006、SPECfp2006 及 SPECfp_rate_2006、SAP SD 2-Tier

LINPACK

RPE2

一、TPC (Transaction Processing Performance Council) 即联机交易处理性能协会, 成立于1988年的非盈利组织,各主要软硬件供应商均参与,成立目标: 为业界提供可信的数据库及交易处理基准测试结果,当前发布主要基准测试为:

TPC-C : 数据库在线查询(OLTP)交易性能

TPC-E : 数据库在线查询(OLTP)交易性能

TPC-H : 商业智能 / 数据仓库 / 在线分析(OLAP)交易性能

1TPC-C测试内容:数据库事务处理测试, 模拟一个批发商的订单管理系统。实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现 正规 TPC-C 测试结果发布必须提供 tpmC值, 即每分钟完成多少笔 TPC-C 数据库交易 (TPC-C Transaction Per Minute), 同时要提供性价比$/tpmC。如果把 TPC-C 测试结果写成为tpm, TPM, TPMC, TPCC 均不属正规。

2TPC-E测试内容:数据库事务处理测试,模拟一个证券交易系统。与TPC-C一样,实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现。正规TPC-E测试结果必须提供tpsE值,即每秒钟完成多少笔TPC-E数据库交易(transaction per second),同时提供$/tpsE。测试结果写成其他形式均不属正规。

对比:TPC-E测试较TPC-C测试,在测试模型搭建上增加了应用服务器层,同时增加了数据库结构的复杂性,测试成本相对降低。截止目前,TPC-E的测试结果仅公布有50种左右,且测试环境均为PC服务器和windows操作系统,并无power服务器的测试结果。除此之外,TPC官方组织并未声明TPC-E取代TPC-C,所以,说TPC-E取代TPC-C并没有根据。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何测试mysql的性能和稳定性

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情