MySQL的benchmark函数
MySQL实现了很多独特的函数,有时候使用起来是非常的方便,或许这就是开源的好处吧。这里记录一下benchmark函数,一个用于测试MySQL函数性能的函数。benchmark函数只有两个参数,第一个是执行次数,第二个是要测试的函数或者表达式。返回的结果始终是0,执行时间才是我们需要的结果:
mysql> select benchmark(1e8,current_date());
+-------------------------------+
| benchmark(1e8,current_date()) |
+-------------------------------+
| 0 |
+-------------------------------+
1 row in set (31.08 sec)
mysql> select benchmark(1e8,abs(1));
+-----------------------+
| benchmark(1e8,abs(1)) |
+-----------------------+
| 0 |
+-----------------------+
1 row in set (1.31 sec)
+-------------------------------+
| benchmark(1e8,current_date()) |
+-------------------------------+
| 0 |
+-------------------------------+
1 row in set (31.08 sec)
mysql> select benchmark(1e8,abs(1));
+-----------------------+
| benchmark(1e8,abs(1)) |
+-----------------------+
| 0 |
+-----------------------+
1 row in set (1.31 sec)
除法的效率明显不如乘法:
mysql> select benchmark(1e8,1*1);
+--------------------+
| benchmark(1e8,1*1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (1.45 sec)
mysql> select benchmark(1e8,1/1);
+--------------------+
| benchmark(1e8,1/1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (19.47 sec)
+--------------------+
| benchmark(1e8,1*1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (1.45 sec)
mysql> select benchmark(1e8,1/1);
+--------------------+
| benchmark(1e8,1/1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (19.47 sec)
压力测试和展示工具Swingbench简介
上次在OOW了解到一个压力测试工具Swingbench,这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。目前稳定版本2.2,最新版本2.3,基于JDK1.5。该工具是免费的,可以在作者的网站(国内无法访问,需要使用代理,推荐Torpack,最新版已经改名叫XeroBank Browser)上自由下载,并且拥有详细的使用文档。除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator和跟踪文件分析工具Trace Analyzer。