分享

发现瓶颈

 corefashion 2014-11-11

基准测试工具

你现在还没有自己的基准测试系统,事实上除非你有一些不使用现有基准系统的原因,要么根本不用去自己做一个基准测试系统。市面上已经有很多基准测试工具供你使用。以下部分就介绍下这些工具。

 

全栈式工具(Full-Stack Tools)

回忆下基准测试的类型:全栈式(full-stack )和单独组件(single-component)。不用太惊讶,已经有工具对整个应用进行基准测试了。以及还有一些工具对MySQL进行压力测试或者其他独立的组件。对整个应用进行基准测试,可以让你更为清楚的知道系统的性能。目前已有的全栈式工具如下

 

ab

ab是Apache HTTP服务器下的基准测试工具。它显示了你的HTTP服务器每秒的请求数目。如果你对WEB应用做基准测试,那么通过它就能知道整个WEB应用每秒能满足多少请求数。这是个非常简单的工具。它的用途是有限制的。因为它一次只能对一个URL进行测试。更详细的信息请参考:http://httpd./docs/2.0/programs/ab.html

 

http_load

它和ab很相似。也是为web服务器的负载所设计的。但是它更为灵活。你可以创建一个文件并写入不同的URL。http_load是在它们之间进行随机选择。你也可以设置定时的频率去运行,并不是仅仅最快的方式去运行。详细信息:

http://www./software/http_load/

 

JMeter

JMeter是Java开发的。它能读取其他的应用和测量性能。它是用来测试Web应用的。但是你也可以用它来测试FTP服务器和通过JDBC来执行些语句。

 

JMeter要比ab和http_load要复杂得多。比如,它能更灵活的使用一些参数模拟真实的用户。对于结果的图形展示,它提供了用户界面。也提供了线下的保存和重放测试结果。http://jakarta./jmeter/

 

单一组件工具

接下来介绍些测试MySQL性能以及它运行的系统环境的工具。下一章节介绍它们的使用示例。

 

mysqlslap

mysqlslap (http://dev./doc/refman/5.1/en/mysqlslap.html)模拟了服务器上的负载以及报告定时的信息。它是MySQL5.1发行版的一部分。但是它也能运行在MySQL4.1之上的版本。你可以指定它的并发连接数。你也可在命令行上给它一个SQL语句或者包含SQL语句的文件。如果不指定语句,它也能检查服务器数据库模型来生成查询语句。

 

sysbench

sysbench (http://sysbench.) 是个多线程系统的基准测试工具。就运行数据库时重要的因素而言,目标是感受系统性能。比如,你可以测量文件的I/O性能,OS的计划,内存分配和交换速度,POSIX线程,以及数据库本身。sysbench支持Lua脚本语言。这样对于不同场景测试更为灵活。

 

Database Test Suite

Database Test Suite是由Open-Source Development Labs(OSDL)设计开发的,并放在 SourceForge:http:///projects/osdldbt/上。它很像其他行业标准的基准测试工具。例如TPC(Transaction Processing Performance Council),尤其这款dbt2,它是实现TPC标准的一款测试工具。它支持InnoDB和Falcon.就目前而言,还不支持其他MySQL的事物存储引擎。

 

MySQL Benchmark Suite (sql-bench)

MySQL发布了自己的基准测试工具。你可以使用它来基准测试许多不同的数据库服务器。它是单线程以及测量服务器运行语句的速度。结果显示了那个类型的操作在服务器上表现最好。

 

它的主要优点是已经创建好了一些预定义的测试方便使用。因此很容易比较不同引擎或者配置下的测试结果。对高阶的基准测试也非常有用。如比较两台服务器的性能。你也可以运行测试的子集(比如,仅仅测试UPDATE的性能)。这些测试大都是CPU限制的,但是短周期运行测试需要大量的硬盘I/O。

 

这款工具最大的缺陷是,它是独立的用户,使用的数据集太少。不能测试站点特定的数据,以及测试结果数据变化太大。因为它是单线程和完全连续的。所以你就不能得知多CPU的优点了。但是你可以在单服务器之间做比较。

 

Perl和DBD的驱动是必须的。文档如下:http://dev./doc/en/mysqlbenchmarks.html/

 

Super Smack

Super Smack (http:///tony/supersmack/) 是个针对MySQL和PostgreSQL的基准测试,压力测试以及产生负载的工具。它是个复杂,强大的工具,你可以模拟更多的用户,以及读取测试数据到数据库中,还有就是在表中随机的产生数据。基准测试放在“smack”文件中。这个文件使用简单的语言定义用户,表,语句等等。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多