热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

《MYSQL数据库MySQL基准测试套件Benchmark安装DBI组件过程分享》要点:本文介绍了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全面培养人才。



推荐阅读
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
author-avatar
我就是人家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有