MySQL基准測試套件Benchmark裝置DBI組件進程分享。本站提示廣大學習愛好者:(MySQL基准測試套件Benchmark裝置DBI組件進程分享)文章只能為提供參考,不一定能成為您想要的結果。以下是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.
很明顯這裡缺乏DBI組件,它是perl銜接數據庫的主要接口,先來檢討一下這個包能否存在
[mysql@beanvm ]$ rpm -qa |grep perl-DB
可以直接用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
從下面的成果可以得知,曾經存在libmysqlclient.so.18文件了,然則版本不符,是以照樣須要這個libmysqlclient.so.16文件,那末從哪裡可以找到呢?最輕便的辦法就是裝置MySQL RPM裝置套件中的MySQL-shared-compat包:(我的MySQL是編譯裝置的,然則在同版本的RPM套件中MySQL-shared-compat-5.6.16-1.el6.i686.rpm包卻供給了需要的libmysqlclient.so.16文件,就這點來講編譯安排照樣沒有RPM裝置來的周全)
# 我的MySQL版本:5.6.16
[root@beanvm ~]# rpm -ivh MySQL-shared-compat-5.6.16-1.el6.i686.rpm
Preparing... ########################################### [100%]
1:MySQL-shared-compat ########################################### [100%]
再次裝置perl-DBD-MySQL-4.013-3.el6.i686.rpm便可以了
[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
Preparing... ########################################### [100%]
1:perl-DBD-MySQL ########################################### [100%]
綜上所述,裝置DBI建議次序裝置三個包:
# DBI裝置包:
perl-DBI-1.609-4.el6.i686.rpm
# 必備的庫文件包,留意版本,這裡重要供給的是libmysqlclient.so.16
MySQL-shared-compat-5.6.16-1.el6.i686.rpm
# DBD組件
perl-DBD-MySQL-4.013-3.el6.i686.rpm
勝利後便可以應用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)
......
機械太差,數據請疏忽。。