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. samba权限之easy举例说明--原创

    实验环境RHEL5.0,samba3.023rc-2 一.何为browsealbe=no? 如图lingdao目录的权限为777 如图ling目录的共享设置和用户的ID和组 当用户lingdao_01 ...

  2. JavaScript-求时间差

    var date1=new Date(); //开始时间 alert("aa"); var date2=new Date(); //结束时间 var date3=date2.get ...

  3. ubuntu下matplotlib画图中文乱码问题

    最近因为论文原因在学习机器学习,看的一本叫做<机器学习实战>的书,看了看还是不错的,因为其中既有原理又有实例.今天载使用matplotlib进行画图时,发现中文会显示为小方块,这个问题真是 ...

  4. [转] The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing

    https://www.smartftp.com/support/kb/the-program-cant-start-because-api-ms-win-crt-runtime-l1-1-0dll- ...

  5. java知识大全积累篇

    原文出自:http://www.importnew.com/14429.html 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使 ...

  6. hibernate 映射 多对一

    一对多和上文讲的多对一两种映射关系,其实就是站在相反的角度考虑同样的事情. 一对多和多对一映射原理是一样的,都在多的一端加入一个外键指向一的一端.也就是说,在关系数据库的表中,他们的表及表字段都是一样 ...

  7. oracle中查询某张表都被哪些表参照了

    起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中 ...

  8. Window 通过cmd查看端口占用、相应进程、杀死进程等的命令【转】

    一. 查看所有进程占用的端口  在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序  当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知 ...

  9. algo_预备

    章 C + +程序设计 大家好!现在我们将要开始一个穿越" 数据结构.算法和程序" 这个抽象世界的特殊旅程,以解决现实生活中的许多难题.在程序开发过程中通常需要做到如下两点:一是高 ...

  10. C# 用代码创建 DataSet 和 DataTable 的列和记录

    System.Data.DataSet objSet = new DataSet(); System.Data.DataTable objTable = new DataTable("tes ...