sysbench目前已经有0.5的版本,不过最普遍使用的依旧是0.4.12,所以接下来我们会以0.4.12这个版本作为测试

Step1:下载安装sysbench

wget http://pkgs.fedoraproject.org/repo/pkgs/sysbench/sysbench-0.4.12.tar.gz/3a6d54fdd3fe002328e4458206392b9d/sysbench-0.4.12.tar.gz
tar zxvf sysbench-0.4..tar.gz
yum install libtool.x86_64 openssl-devel.x86_64 openssl-static.x86_64
cd sysbench-0.4./
libtoolize --force --copy
./autogen.sh
./configure --prefix=/usr/local/sysbench
make
make install

Step2: 执行测试脚本(请不要直接粘贴此脚本到你机器上运行,除非你知道它在做什么):

[root@DBServer data]# cat sysbench_all.sh
#!/bin/bash result_dir='/data/result'
io_file_dir='/data/iotest' if [ ! -d $result_dir ];
then
mkdir $result_dir
fi #------------------------------fileio test-----------------------------------
###RAND WRITE - thread
if [ ! -d $io_file_dir ];
then
mkdir $io_file_dir
fi cd $io_file_dir #sysbench --test=fileio --file-total-size=256G --file-num= prepare
#sleep for rwtype in seqwr seqrewr seqrd rndrd rndwr rndrw;
do
for numthread in ;
do
sysbench --test=fileio --file-total-size=256G --file-test-mode=$rwtype --max-time= --max-requests= --file-block-size=4K --file-num= --num-threads=$numthread run >> $result_dir/io_${rwtype}_thread${numthread}.txt ;
sleep ;
done
done #-----------------------------cpu test-------------------------------- for each in `seq `;
do
sysbench --test=cpu --cpu-max-prime= --num-threads=$each run >> $result_dir/CPU_thread$each.txt ;
sleep
done #------------------------------ram test-------------------------------- # for read
for each in `seq `;
do
sysbench --test=memory --memory-block-size=4K --memory-scope=global --memory-total-size=256G --memory-oper=read --num-threads=$each run >> $result_dir/RamRead_thread$each.txt ;
sleep ;
done #for write
for each in `seq `;
do
sysbench --test=memory --memory-block-size=4K --memory-scope=global --memory-total-size=256G --memory-oper=write --num-threads=$each run >> $result_dir/RamWrite_thread$each.txt ;
sleep ;
done #--------------------------mysql test------------------------------ # start mysql
mysqld_safe --defaults-file=/data/mysql/my3306.cnf & #wait mysql startup completely
sleep #prepare is 2G
#sysbench --test=oltp --db-driver=mysql --mysql-host=127.0.0.1 --mysql-user=root --mysql-password= --mysql-db=t_sysbench --oltp-table-size= --num-threads= prepare # only read
for each in ;
do
sysbench --test=oltp --oltp-table-size= --db-driver=mysql --mysql-host=127.0.0.1 --mysql-db=t_sysbench --mysql-user=root --mysql-password= --max-time= --oltp-read-only=on --max-requests= --num-threads=$each run >> $result_dir/mysql_read_thread$each.txt
sleep
done #read and write
for each in ;
do
sysbench --test=oltp --oltp-table-size= --db-driver=mysql --mysql-host=127.0.0.1 --mysql-db=t_sysbench --mysql-user=root --mysql-password= --max-time= --max-requests= --num-threads=$each run >> $result_dir/mysql_rw_thread$each.txt
sleep
done mysqldadmin -uroot -p123 -h127.0.0. shutdown

Step3:分析处理,需要用到类似如下的处理分析脚本(以分析mysql为例)

[root@DBServer result]# awk -F '[():]' '/Number of threads:/{printf $2 "\t"} /transactions:/{printf $3 "\t"} /deadlocks:/{printf $2 "\t"}  /read\/write requests:/{printf $3 "\t"}  /approx.  95 percentile:/{printf $2 "\n"}' mysql_rw_thread* | sort -k  -n
403.66 per sec. 7669.51 per sec. .83ms
1409.01 per sec. 26771.12 per sec. .20ms
2704.40 per sec. 51383.70 per sec. .30ms
4032.52 per sec. 76618.00 per sec. .51ms
4504.20 per sec. 85580.07 per sec. .29ms
5549.82 per sec. 105447.54 per sec. .58ms
5920.90 per sec. 112499.04 per sec. .54ms

参考资源:

https://wiki.mikejung.biz/Sysbench

sysbench测试服务器性能的更多相关文章

  1. 利用 apache ab 测试服务器性能

    安装步骤:https://blog.csdn.net/ahaaaaa/article/details/51514175 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin ...

  2. 【阿里云产品公测】PTS压力测试服务器性能

    作者:阿里云用户xsnjxjj 在PTS服务之前,经常使用webbench来对服务器进行压力测试,在看到阿里云PTS服务的介绍以后,深深的被PTS强大的功能所吸引     非常感谢阿里云团队给予的测试 ...

  3. 用systemtap对sysbench IO测试结果的分析1

    http://www.actionsky.com/docs/archives/171  2016年5月6日  黄炎 近期在一些简单的sysbench IO测试中, 遇到了一些不合常识的测试结果. 从结 ...

  4. 使用ab对nginx进行压力测试

    nginx以高并发,省内存著称. 相信大多数安装nginx的同学都想知道自己的nginx性能如何. 我想跟大家分享下我使用ab工具的压力测试方法和结果, ab是针对apache的性能测试工具,可以只安 ...

  5. Apache-AB压力测试实例

    一 AB背景介绍 Apache附带的压力测试工具apache bench--简称ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求.ab可以直接在Web服务器本地发起测试请求,这对 ...

  6. 敌情篇 ——DDoS攻击原理

    敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...

  7. C10K问题2

    http://blog.csdn.net/zhoudaxia/article/details/12920993 是时候让 Web 服务器同时处理一万客户端了,你不觉得吗?毕竟,现在的 Web 是一个大 ...

  8. study notes: high performance linux server programming

    1:linux网络API分为:socker地址API,socker基础API,网络信息API 1,socker地址API:包含IP地址和端口(ip, port).表示TCP通信的一端. 2,socke ...

  9. MySQL实验准备(二)--Python模拟数据(MySQL数据库)

    Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...

随机推荐

  1. IPv6正则表达式

    斯蒂芬·瑞恩写了一个非常有用的正则表达式,可用于匹配任何一个合法的IPv6地址.以下为正则表达式的代码: ^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|: ...

  2. Lotus Domino中使用Xpage技术打造通讯录

    我们来完成一个类似通讯录的功能,我们可以添加人员,查看和修改,删除人员,我们假设我们的通讯录中只记录人员的名字和年龄字段.先看看完成后的效果吧 点击New可以到新增人员页面,如下图: 编辑按钮后进入编 ...

  3. mysql慢日志设置

    mysql的慢日志查询对于sql的优化还是很有意义的,具体说下如何开启这个mysql慢查询日志(默认是开启的). 关于设置在mysql的官方手册或网上都有很多,但是要注意的是,mysql5.6与之前的 ...

  4. jquery easyui 插件开发

    (function($) { /** * 插件定义 */ $.fn.resquery = function(options, param) { if (typeof options == " ...

  5. Spectrum to XYZ to sRGB

    如何将频谱响应转换为对应的RGB显示值: 首先要在频率功率分布(SPD)曲线的基础上,分别使用X/Y/Z三个频率匹配曲线(spectral matching curves,又名CIE XYZ Colo ...

  6. Android判断当前线程是否是主线程的方法

    开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法: 方 ...

  7. ASP.NET MVC验证标注的扩展-checkbox必选

    我们知道ASP.NET mvc提供一些表单的验证标注,比如必填属性RequiredAttribute 但是这个属性不适合选择框的必选 但是很多时候,我们却是需要一些必选的单选框 比如网站注册的时候,需 ...

  8. sctp和tcp的区别

    作为一个传输层协议,SCTP兼有TCP及UDP两者的特点.SCTP可以称为是TCP的改进协议,但他们之间仍然存在着较大的差别.首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TC ...

  9. java代写

    Computer Science, Claremont McKenna CollegeCS51.2 - Introduction to Computer Science, Fall 2014Probl ...

  10. Swift 自动布局框架-SnapKit

    官方网址:http://snapkit.io/ Github: https://github.com/SnapKit/SnapKit SnapKit is a DSL to make Auto Lay ...