Sysbench性能测试(一):sysbench简介与安装_-Obliviate的博客-程序员秘密_sysbench

技术标签: Sysbench性能测试  mysql  测试工具  数据库  

Sysbench性能测试

传送门:
Sysbench性能测试(一): sysbench简介与安装
Sysbench性能测试(二): sysbench基本使用和CPU性能测试
Sysbench性能测试(三): 内存性能测试
Sysbench性能测试(四): 文件I/O性能测试
Sysbench性能测试(五): 数据库性能测试

1 sysbench简介

​ sysbench是一个模块化的、跨平台的多线程性能测试工具,它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的复杂工作负载,如CPU、内存、磁盘I/O、线程以及互斥锁的性能测试。sysbench是基于LuaJIT的可编写脚本的多线程基准测试工具。本文所用sysbench版本为1.0.20。

​ sysbench支持如下的基准测试:

  • CPU性能测试
  • 文件I/O性能测试
  • 内存性能测试
  • 数据库性能测试
  • 线程子系统性能测试
  • 互斥锁性能测试

2 sysbench安装

2-1 源码链接
https://github.com/akopytov/sysbench //源码可在github下载
2-2 安装过程
  1. 下载软件包,并解压

  2. 检查是否满足安装所需依赖:make、automake、libtool、pkgconfig、libaio-devel、vim-common

  3. 进入到sysbench源码目录,执行autogen.sh生成configure文件

    cd sysbench-1.0
    ./autogen.sh
    
  4. 执行configure

    ./configure --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
    

    如果mysql为标准安装,可以直接运行configue,否则需要在配置文件中指定如下参数:

    • with-mysql-includes路径为mysql.h 文件所在目录,可通过find / -name mysql.h查找
    • with-mysql-libs路径为libmysqlclient.so 所在目录,可通过find / -name libmysqlclient.so查找
  5. 执行 make && make install

    make
    make install
    
  6. 测试是否安装成功

    sysbench --version
    

    安装成功后,所有sysbench自带的压测lua脚本都可以在/usr/local/share/sysbench目录下找到。

2-3 安装过程可能的错误
  1. 执行完2-2中第五步后,运行sysbench --version出现错误:

    [[email protected] ~]# sysbench --version
    /usr/local/sysbench/bin/sysbench: error while loading shared libraries: libmysqlclient.so.21: cannot open shared object file: No such file or directory
    

    解决方法:

    • 检查动态链接库是否存在libmysqlclient.so.21

      [[email protected] ~]# ldconfig -p| grep mysql
      	libmysqlclient.so.18 (libc6,AArch64) => /usr/lib64/mysql/libmysqlclient.so.18
      
    • 不存在,则创建软连接并刷新动态链接库

      [[email protected] ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.21 /usr/lib/
      [[email protected] ~]# ldconfig
      
    • 再次检查动态链接库

      [[email protected] ~]# ldconfig -p| grep mysql
      	libmysqlclient.so.21 (libc6,AArch64) => /lib/libmysqlclient.so.21
      	libmysqlclient.so.18 (libc6,AArch64) => /usr/lib64/mysql/libmysqlclient.so.18
      
    • 此时运行sysbench --version成功

      [[email protected] ~]# sysbench --version
      sysbench 1.0.20
      
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/squirrel100/article/details/120290746

智能推荐

vue-router使用_别搞花里胡哨的的博客-程序员秘密_vue-router使用

一、vue-router基本使用二、vue-outer嵌套路由三、vue-router参数传递四、vue-router导航守卫五、keep-alive

Python 爬虫 ---- Beautiful Soup(一)_風の唄を聴け的博客-程序员秘密

Python 爬虫 ---- Beautiful Soup(一)假设有下面这样一段 HTML 代码html_doc = """<html><head>&lt

新手的.NET学习方法_yuanzhang88的博客-程序员秘密

<br />前言<br />对于新手来说,学习.NET编程是一件很痛苦的事情,这倒不是因为学习.NET是一件很难的事情,而是.NET是一个庞大的学习体系,对于新手来会感觉无从下手,从而造成永远都无法入门,看到别人成为高手的时候也只有羡慕的份。而网上很多高手介绍的方法又没有很强的可操作性,比如就叫你狂看书,狂看代码,狂写代码。当然这些方法是一种很好的学习方法,但对初学者来说,不是很合适。就算一些已经入了门的朋友,被人问到“你.NET到底学得怎么样?”时也很难全面系统地回答(我就曾经被一些公司这样问倒,一时真的

Java-使用JavaMail发送一封邮件给用户邮箱功能实现_学亮编程手记的博客-程序员秘密_java给邮箱发邮件

<—————————–start—————————–> 通过javamail发送一封邮件: 较早前,我已经编写好了发送邮件的工具类MailUtils。有以下要点需要注意: ① 发件箱的邮件服务器地址。 ② 发件箱账号。 ③ 邮箱授权码,在所使用的邮箱后台管理中设置。 ④ 激活邮件的地址。public class MailUtils { private static

服务器虚拟机播放直播,如何利用直播源码成功搭建直播平台_weixin_40008884的博客-程序员秘密

直播源码的成功运用,有以下几点:开源:开放源代码也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”。原生代码: native code是本地cpu的目标执行代码, 不是il, 所以速度很快, 它的执行不依赖某个虚拟机或者解释器,编译后可直接依附操作系统运行,...

Python数据结构与算法专栏目录_李元静的博客-程序员秘密

Python数据结构与算法专栏目录Python数据结构与算法(1)—枚举类型enumPython数据结构与算法(2)—字典序列ChainMapPython数据结构与算法(3)—统计可散列的对象CounterPython数据结构与算法(4)—双端队列dequePython数据结构与算法(5)—namedtuplePython数据结构与算法(6)—OrderedDictPython数据结构与算法(7)—数组arrayPython数据结构与算法(8)—维护有序列表bisectPython数据结

随便推点

代码优化:常量中枚举与表驱动的应用_Wenx408的博客-程序员秘密

代码优化:常量中枚举与表驱动的应用常量的简单理解就是不会变化的量,在我们程序开发时总会遇到这么一些,例如状态类:开机/关机/异常,颜色类:黄/红/蓝/绿 等等。运用的方式也有很多,直接声明或写死(以前年轻经常这么干以为很省事,事实证明修改及出问题排查时给自己找不痛快,极度不推荐)、常量类、枚举等。此次我们这里不讨论用哪种方式,我主要用的枚举并应用了下表驱动,下面我们直接以代码说明。先上个我以前...

VP9编码(1)-- 简介_CrystalGabrielle的博客-程序员秘密_vp9编码

VP9编码(1)-- 简介VP9是谷歌基于VP8发布的新版视频编解码标准,主要对标H265/H264标准。youtube目前采用VP9标准。

NoSQL之 Redis集群_m0_50854537的博客-程序员秘密

案例概述单节点Redis服务器带来的问题单点故障,服务不可用无法处理大量的并发数据请求数据丢失—大灾难解决方法搭建Redis集群Redis集群知识点Redis集群介绍Redis集群是一个提供在多个Redis间节点间共享数据的程序集Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误Redis集群通过分区来提供—定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下可继续

10.HTML+CSS ——微彩虹光晕进度条_UndeFIned丶的博客-程序员秘密

H部分:&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;彩虹光晕进度条&lt;/title&gt; &lt;link rel="stylesheet" href="c..

收货MIGO_weixin_34290000的博客-程序员秘密

FUNCTION zrfc_mm003.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(CALLNO) TYPE ZCALLNO*" VALUE(BUDAT) LIKE BAP...

VsCode 出现 UnicodeEncodeError: 'ascii' codec can't encode characters in position 311-314:_ReBrain的博客-程序员秘密

推荐一个简单的方法:将以下代码放到代码开头运行就ok。-*-coding:utf-8 -*-import ioimport sys#改变标准输出的默认编码sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')...