这里有一些技巧包括如何获得BENCHMARK () 函数正确结果。这几点如下:
建议多次执行该函数;
允许仅适用scalar表达;
表达式必须返回单个列或单个行;
该功能减少了由于网络或语法分析器而带来的干扰。
使用SysBench
MySQL的开发者建议使用一款流行的测试工具——SysBench(由MySQL开发者开发),这是一款多功能的工具允许数据库管理员测试CPU、文件IO以及MySQL性能。
下面我们就来看下利用SysBench对CPU、MySQL进行基准测试。
CPU性能
用于CPU性能基准测试命令显示如下:该命令将启动一个进程并且产出大量的数字。
sysbench --test=cpu --cpu-max-prime=20000 run
然而,最重要的数字是以总的时间(以秒为单位)为主。利用所花费的时间来计算所需要的被测试的计算参数。这一点很重要,你可以用来对比基准测试在横跨多个系统时最有价值的数据。
MySQL性能
SysBench可以用来测量MySQL性能。要想做到这一点,首先我们可以在数据库‘monitis’中创建1,000,000行数据测试表。通过以下命令执行:
sysbench --monitis=oltp --oltp-table-size=1000000 --mysql-db=monitis --mysql-user=root --mysql-password=yourrootsqlpassword prepare
接着在MySQL基准测试中输入:
sysbench --monitis=oltp --oltp-table-size=1000000 --mysql-db=monitis –mysql-user=root –mysql-password=yourrootsqlpassword –max-time=60 –oltp-read-only=on –max-requests=0 –num-threads=8 run
当基准测试结果显示后,查看交易列表。这个值是以每秒为交换单位。
为了确保所需要的基准测试在系统中能够很好的运行,这里只需要输入简单的命令:
sysbench -- monitis =oltp --mysql-db= monitis --mysql-user=root --mysql-password=yourrootsqlpassword cleanup
尽管可能会出现大量的MySQL性能基准测试类型,但上面的这些信息足够你使用了。
结束语:
MySQL性能测试针对不同的项目采用不同的解决方案。这是因为由不同的需求、时间,目标决定的。当然在MySQL系统上运行基准测试,就其技术本身而言在日常业务运作时也是非常必要的,希望这些实践对你有所帮助。