首页 / 数据库 / MySQL / MySQL基准测试套件Benchmark安装DBI组件过程分享
今天打算用MySQL自带的基准测试套件(Benchmark Suite)来测试一下插入性能,结果出现错误: 复制代码 代码如下: # 还是交代一下环境吧 [root@beanvm ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.2 (Santiago) [root@beanvm ~]# uname -a Linux beanvm 2.6.32-220.el6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686 i686 i386 GNU/Linux # 下为报错 [mysql@beanvm ~]$ cd /usr/local/mysql/sql-bench/ [mysql@beanvm sql-bench]$ ./test-insert --server=mysql --user=root --password=mysql --log Can"t locate DBI.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at ./test-insert line 33. BEGIN failed--compilation aborted at ./test-insert line 33.
可以直接用yum来安装,这里我用的安装包的形式,幸运的是,这些包在RHEL6的安装介质中都可以找到,只要安装下面两个包就可以了: 复制代码 代码如下: [root@beanvm Packages]# rpm -ivh perl-DBI-1.609-4.el6.i686.rpm warning: perl-DBI-1.609-4.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:perl-DBI ########################################### [100%] [root@beanvm Packages]# rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm warning: perl-DBD-MySQL-4.013-3.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY error: Failed dependencies: libmysqlclient.so.16 is needed by perl-DBD-MySQL-4.013-3.el6.i686 libmysqlclient.so.16(libmysqlclient_16) is needed by perl-DBD-MySQL-4.013-3.el6.i686
在安装perl-DBD-MySQL包时,我们发现提示缺失libmysqlclient.so.16文件,如果是经常安装MySQL的话,应该知道libmysqlclient.so是一个MySQL数据库中必备的库文件,会不会是没有链接到呢? 复制代码 代码如下: [root@beanvm ~]# ls -l /usr/lib/libmysqlclient.so.16* [root@beanvm ~]# ls -l /usr/local/mysql/lib/ total 147260 -rw-r--r--. 1 mysql mysql 13322694 Feb 15 14:30 libmysqlclient.a lrwxrwxrwx. 1 mysql mysql 16 Feb 15 14:39 libmysqlclient_r.a -> libmysqlclient.a lrwxrwxrwx. 1 mysql mysql 17 Feb 15 14:39 libmysqlclient_r.so -> libmysqlclient.so lrwxrwxrwx. 1 mysql mysql 20 Feb 15 14:39 libmysqlclient_r.so.18 -> libmysqlclient.so.18 lrwxrwxrwx. 1 mysql mysql 24 Feb 15 14:39 libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0 lrwxrwxrwx. 1 mysql mysql 20 Feb 15 14:39 libmysqlclient.so -> libmysqlclient.so.18 lrwxrwxrwx. 1 mysql mysql 24 Feb 15 14:39 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0 -rwxr-xr-x. 1 mysql mysql 7654927 Feb 15 14:30 libmysqlclient.so.18.1.0 -rw-r--r--. 1 mysql mysql 129797464 Feb 15 14:38 libmysqld.a -rw-r--r--. 1 mysql mysql 10166 Feb 15 14:29 libmysqlservices.a drwxr-xr-x. 3 mysql mysql 4096 Feb 15 14:39 plugin
成功后就可以使用Benchmark进行基准测试了,下面是测试插入性能的部分数据: 复制代码 代码如下: [mysql@beanvm sql-bench]$ ./test-insert --server=mysql --user=root --password=mysql --log Testing server "MySQL 5.6.16" at 2014-02-15 16:36:17 Testing the speed of inserting data into 1 table and do some selects on it. The tests are done with a table that has 100000 rows. Generating random keys Creating tables Inserting 100000 rows in order Inserting 100000 rows in reverse order Inserting 100000 rows in random order Time for insert (300000): 879 wallclock secs ( 3.51 usr 1.21 sys + 0.00 cusr 0.00 csys = 4.72 CPU) Testing insert of duplicates Time for insert_duplicates (100000): 18 wallclock secs ( 3.81 usr 1.41 sys + 0.00 cusr 0.00 csys = 5.22 CPU) Test of prepared+execute/once prepared many execute selects Time for prepared_select (100000): 31 wallclock secs (10.87 usr 1.81 sys + 0.00 cusr 0.00 csys = 12.68 CPU) ......