mysql数据库套件_MYSQL数据库MySQL基准测试套件Benchmark安装DBI组件过程分享

《MYSQL数据库MySQL基准测试套件Benchmark安装DBI组件过程分享》要点:

本文介绍了MYSQL数据库MySQL基准测试套件Benchmark安装DBI组件过程分享,希望对您有用。如果有疑问,可以联系我们。

MYSQL应用本日打算用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.

MYSQL应用很显然这里缺少DBI组件,它是perl连接数据库的重要接口,先来反省一下这个包是否存在

代码如下:

[mysql@beanvm ]$ rpm -qa |grep perl-DB

MYSQL应用可以直接用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

MYSQL应用在安装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

MYSQL应用

从上面的结果可以得知,已经存在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%]

MYSQL应用再次安装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%]

MYSQL应用综上所述,安装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

MYSQL应用成功后就可以使用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

MYSQL应用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.

MYSQL应用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)

MYSQL应用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)

MYSQL应用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)

......

MYSQL应用机械太差,数据请无视..

维易PHP培训学院每天发布《MYSQL数据库MySQL基准测试套件Benchmark安装DBI组件过程分享》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值