Sysbench性能测试(一):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出现错误:

    [root@localhost ~]# 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

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

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

      [root@localhost ~]# 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成功

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

智能推荐

mvc路由原理 php_PHP MVC原理及实现-程序员宅基地

文章浏览阅读146次。一、mvc原理mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型 与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就..._php mvc路由执行流程

Uboot启动流程(一)_init_sequence_r-程序员宅基地

文章浏览阅读757次。Uboot启动流程简要列举,帮助梳理启动流程。详细过程参考Uboot源码和《STM32MP1嵌入式Linux驱动开发指南》讲解_init_sequence_r

Android之OkHttp详解(非原创)-程序员宅基地

文章浏览阅读309次。文章大纲一、OkHttp简介二、OkHttp简单使用三、OkHttp封装四、项目源码下载一、OkHttp简介1. 什么是OkHttp  一般在Java平台上,我们会使用Apache HttpClient作为Http客户端,用于发送 HTTP 请求,并对响应进行处理。比如可以使用http客户端与第三方服务(如SSO服务)进行集成,..._android okhttp3封装使用

GIT常用命令_ugit新增仓库-程序员宅基地

文章浏览阅读198次。文章目录git笔记安装配置新建仓库。提交、关联从现有仓库克隆从另一个仓库合并代码到本地更新本地分支远端标签导出问题解决回滚到任意版本提交代码时 无法直接 git pull 问题。因为 本地分支没有和远程分支进行关联当控制台提示本地版本 滞后 远程版本时, 使用强制提交 覆盖远程分支(慎用!慎用!慎用!)代码写错分支,怎么办?欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左_ugit新增仓库

ssh另一台机器时,报Password authentication is disabled to avoid man-in-the-middle attacks.-程序员宅基地

文章浏览阅读8k次。原文地址::http://www.blogjava.net/anchor110/articles/418195.html相关文章1、好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established.的问题----http://blog.csdn.net/kimsoft/article/detai_password authentication is disabled to avoid man-in-the-middle attacks

MATLAB mmseg,Unofficial Windows Binaries for Python Extensio...-程序员宅基地

文章浏览阅读80次。GNU Aspell (LyX fork).aspell_python-1.12.win-amd64-py2.6.‌exe [473KB] [Python 2.6] [64 bit] [Aug 14, 2012]aspell_python-1.12.win-amd64-py2.7.‌exe [473KB] [Python 2.7] [64 bit] [Aug 14, 2012]...

随便推点

最新的一版,通用Android-客户端架构设计,只有你还没看过_java generate android project-程序员宅基地

文章浏览阅读919次。###日志系统日志系统要完成以下几个功能:1、Debug时的日志需求2、日志写入文件的需求,方便上线查看3、日志上报4、日志加密系统日志监控:日志奔溃信息监控修改医行者中的日志系统可以达到需求, 也可以修改Github开源项目格式化日志输出项目: Logger 和 日志收集项目:Log 达到要求。网络系统Gitbub: OkHttphttps://github.com/square/okhttpOkHttp封装:HttpGet、HttpPost、File Upload,OKHttp的使_java generate android project

原生js实现点击图片和点击按钮切换背景图片案例_前端 点击更换背景图-程序员宅基地

文章浏览阅读1.4k次。代码验证:我是新手不要喷哦<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&._前端 点击更换背景图

JavaScript—改变字体颜色和大小_js 展示字体大小和颜色-程序员宅基地

文章浏览阅读5.7k次。写一个定时器,每个一秒修改一次div内文本颜色和文字大小 最开始这个文字是默认大小,大小开始增大,当增大了6次以后, 文字大小开始缩小,缩小6次,文字在开始增大。首先改变字体颜色和大小.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="I..._js 展示字体大小和颜色

Cerc2014 Virus synthesis-程序员宅基地

文章浏览阅读110次。题目描述:你要用ATGC四个字母用两种操作拼出给定的串:1.将其中一个字符放在已有串开头或者结尾2.将已有串复制,然后reverse,再接在已有串的头部或者尾部一开始已有串为空。求最少操作次数。len<=100000题解:PAM+dp。先建出PAM,然后对于每一个偶树上的串,满足:1.得到上一个串时一定是先延长后倍增,所以dp[ i ] ...

coalesce 与 repartition的用法与区别_rdd.coalesce(100)-程序员宅基地

文章浏览阅读468次。它们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现先看coalesce: /** * Return a new RDD that is reduced into `numPartitions` partitions. * * This results in a narrow dependency, e.g...._rdd.coalesce(100)

手把手讲解在ubuntu16.04安装视觉SLAM14讲中的全部第三方库-程序员宅基地

文章浏览阅读3.3k次,点赞9次,收藏55次。本教程按照视觉SLAM14讲中的章节进行操作,所有的安装程序包括依赖库,版本均在文中标出,并且在Mac pro 虚拟机下的Ubuntu 16.04版本中安装运行过。_手把手讲解在ubuntu16.04安装视觉slam