sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍看:http://sysbench.sourceforge.net。
它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、Mysql数据库性能(OLTP基准测试)

sysbench支持 MySQL,pgsql,oracle 这3种数据库。

一、安装
首先,在 http://sourceforge.net/projects/sysbench 下载源码包。

接下来,按照以下步骤安装:

[root@xutest /]#tar zxf sysbench-0.4.12.tar.gz
[root@xutest /]#cd sysbench-0.4.12
[root@xutest /]#./configure && make && make install
[root@xutest /]#strip /usr/local/bin/sysbench

如果 MySQL 安装在标准默认目录下的可以直接按照以上步骤安装,如果 MySQL不是安装在默认路径下,那么就需要自己指定 MySQL 的路径。比如我的 MySQL 喜欢自己安装在 /opt/mysql 下,则按照以下方法编译:

[root@xutest /]#./configure --with-mysql-includes=/opt/mysql/include --with-mysql-libs=/opt/mysql/lib && make && make install

当然了,用上面的参数编译的话,就要确保你的 MySQL lib目录下有对应的 so 文件,如果没有,可以自己下载 devel 或者 share 包来安装。
另外,如果想要让 sysbench 支持 pgsql/oracle 的话,就需要在编译的时候加上参数

--with-pgsql

或者

--with-oracle

这2个参数默认是关闭的,只有 MySQL 是默认支持的。

二、测试
         编译成功之后,就要开始测试各种性能了,测试的方法官网网站上说明了非常的详细,根据官网的说明文档测试的步骤大致如下:

1、cpu性能测试

[root@xutest /]#sysbench --test=cpu --cpu-max-prime=20000 run

cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。

2、线程测试

[root@xutest /]#sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

3、磁盘IO性能测试

[root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw prepare
[root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw run
[root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw cleanup

上述参数指定了最大创建8个线程,创建的文件总大小为4G,文件读写模式为随机读。

4、内存测试

[root@xutest /]#sysbench --test=memory --memory-block-size=16k --memory-total-size=2G run

上述参数指定了本次测试整个过程是在内存中传输 2G 的数据量,每个 block 大小为 16K。

5、OLTP测试

[root@xutest /]#sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 \
--mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost \
--mysql-password=test prepare

上述参数指定了本次测试的表存储引擎类型为 myisam,指定了表最大记录数为 1000000,其他参数就很好理解了,主要是指定登录方式。测试 OLTP 时,可以自己先创建数据库或者自己用参数 --mysql-db 来指定其他数据库。--mysql-table-engine 还可以指定为 innodb 等 MySQL 支持的表存储引擎类型.

注:整个的安装过程和参数设置参考了 sysbench

sysbench 做性能测试相关推荐

  1. sysbench的安装和做性能测试

    sysbench的安装和做性能测试 http://imysql.cn/node/312 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. ...

  2. sysbench服务器性能测试

    sysbench服务器性能测试 一.sysbench简介 二.开源网站 三.配置参数详解 四.开始测试 4.1 cpu性能测试 4.2 线程测试 4.3 磁盘IO性能测试 4.4 内存测试 转载:原文 ...

  3. python可以做测试软件吗_Python如何给你的程序做性能测试

    问题 你想测试你的程序运行所花费的时间并做性能测试. 解决方案 如果你只是简单的想测试下你的程序整体花费的时间, 通常使用Unix时间函数就行了,比如: bash % time python3 som ...

  4. 用BenchmarkDotNet给C#程序做性能测试

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用BenchmarkDotNet给C#程序做性能测试. 转载于:https://www.cnblogs. ...

  5. 在做性能测试之前需要知道什么

    以下是我自己录制的关于这篇文章的一小段视频,有兴趣的可以下载看看 https://yunpan.cn/cPQc4mm2DjbMu  访问密码 a76f //此篇摘抄于虫师博客,个人觉得通俗易懂 关于理 ...

  6. 在java中使用JMH(Java Microbenchmark Harness)做性能测试

    文章目录 使用JMH做性能测试 BenchmarkMode Fork和Warmup State和Scope 在java中使用JMH(Java Microbenchmark Harness)做性能测试 ...

  7. 轻松做性能测试,月入3万的主流测试工具大揭秘

    在为大家介绍性能测试工具以前,先让我们一起回顾一下什么是性能测试. 1.为什么需要性能测试? 举个例子.下图是一张交通图.图中的车流类似于性能测试中的数据,图中的车道.十字路口就相当于数据流量的规则和 ...

  8. 怎么做性能测试--响应时间

    做性能测试先要懂性能,响应时间(response time)作为性能测试过程中两大重要指标之一是我们必须关注的.           从用户角度来说,用户最讨厌等待.在大量的处理环境中,超过3秒以上的 ...

  9. 使用Jmeter做性能测试

    上周刚刚做完项目的性能测试.今天整理和总结一下,随便分享给大家. 首页呢,测试前,我们是有明确的性能指标的,而且测试环境和数据都已准备好,业务分析.场景分析大家根据自己的项目系统进行分析设计,我们选用 ...

最新文章

  1. 本硕非科班,单模型获得亚军!
  2. 超图iServer版本安装和使用入门图解
  3. Javascript 面向对象编程中的‘new’
  4. Linux内核的l2tp实现,Linux Kernel gdth实现内核内存破坏漏洞
  5. boost::set_symmetric_difference相关的测试程序
  6. 字节内部自动化测试培训资料,明年涨薪用得上
  7. tl r402路由器设置_记一次TP-LINK路由器问题排查
  8. VC++绘图时,利用双缓冲解决屏幕闪烁 转载
  9. Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)
  10. RN与原生交互(一)——基本页面跳转
  11. 技巧篇-图层叠加之美(一)
  12. python 异常处理小结 try except raise assert
  13. 快速解决cmd命令行乱码问题
  14. flask-uploads文件上传
  15. juniper防火墙配置
  16. 苏宁数据中台架构实践
  17. mac重启php-fpm
  18. Exynos 4412处理器IIC总线控制器(包括协议)
  19. 初识angular.js之爱恨情仇
  20. 使用Matplotlib绘制3D图形

热门文章

  1. Sublime Text3批量更改文件内容
  2. 理论+实操:华为isis
  3. HCIP第十七天笔记
  4. scroll-top 设置微信小程序滚动条位置
  5. 喜欢喝咖啡的人注意了!
  6. 高德地图是直线距离吗_是直线直线
  7. 第004篇:ArcGIS中制作一张图中有多个图框(一幅多图)的方法
  8. python随机种子seed的作用(强化学习常用到)
  9. Unity 2D平面显示3D模型(RenderTextrue)
  10. Kobe退役演讲(一生致用)