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测试服务器性能的更多相关文章
-
利用 apache ab 测试服务器性能
安装步骤:https://blog.csdn.net/ahaaaaa/article/details/51514175 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin ...
-
【阿里云产品公测】PTS压力测试服务器性能
作者:阿里云用户xsnjxjj 在PTS服务之前,经常使用webbench来对服务器进行压力测试,在看到阿里云PTS服务的介绍以后,深深的被PTS强大的功能所吸引 非常感谢阿里云团队给予的测试 ...
-
用systemtap对sysbench IO测试结果的分析1
http://www.actionsky.com/docs/archives/171 2016年5月6日 黄炎 近期在一些简单的sysbench IO测试中, 遇到了一些不合常识的测试结果. 从结 ...
-
使用ab对nginx进行压力测试
nginx以高并发,省内存著称. 相信大多数安装nginx的同学都想知道自己的nginx性能如何. 我想跟大家分享下我使用ab工具的压力测试方法和结果, ab是针对apache的性能测试工具,可以只安 ...
-
Apache-AB压力测试实例
一 AB背景介绍 Apache附带的压力测试工具apache bench--简称ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求.ab可以直接在Web服务器本地发起测试请求,这对 ...
-
敌情篇 ——DDoS攻击原理
敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...
-
C10K问题2
http://blog.csdn.net/zhoudaxia/article/details/12920993 是时候让 Web 服务器同时处理一万客户端了,你不觉得吗?毕竟,现在的 Web 是一个大 ...
-
study notes: high performance linux server programming
1:linux网络API分为:socker地址API,socker基础API,网络信息API 1,socker地址API:包含IP地址和端口(ip, port).表示TCP通信的一端. 2,socke ...
-
MySQL实验准备(二)--Python模拟数据(MySQL数据库)
Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...
随机推荐
-
iOS 笔记
1. 使用断言NSAssert()调试程序错误 NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续 ...
-
WinForm 简单蒙版实现控件遮盖
在Web上面要实现一个遮罩层或者说是蒙版吧,有了DIV那不算什么难事,只要给div定好位置和大小,把颜色的Alpha值设一下就有透明的效果.不过在Winform中实现起来就没那么简单了事.尝试过用一个 ...
-
java基础十二[集合与泛型](阅读Head First Java记录)
集合 List 知道索引顺序的集合,ArrayList.LinkedList.Vector三个子类实现了List接口 ArrayList ArrayList没有排序方法,可以用Collection ...
-
android 常用小功能(第二版)
经历过一段岁月,转眼2013的半年都过去了,第二版整理好的小功能,答应大家发布的,直到今日,终于和大家相见了,第二版没有第一版多,大家也可以去参考第一版的内容,希望大家使用愉快! 目录: 1.获取当前 ...
-
mybatis分页插件PageHelper的使用(转)
Mybatis 的分页插件PageHelper-4.1.1的使用 Mybatis 的分页插件 PageHelper 项目地址:http://git.oschina.net/free/Mybatis_P ...
-
UDP程序设计
UDP是不可靠的连接,广泛应用于各种聊天工具 使用UDP发送的信息,对方不一定会接收到.所有的信息使用数据报的形式发送出去,这就要求客户端要始终等待服务器发送的信息才能进行接收.在Ja ...
-
Java基础知识强化之网络编程笔记21:Android网络通信之 Android常用OAuth登录(获取令牌信息)
1. 首先我们去下载开发相关SDK(Android): 下载百度使用OAuth的SDK(Android),如下: 下载链接为:http://developer.baidu.com/wiki/index ...
-
Python 引用、浅拷贝、深拷贝解析
引用 Python是动态数据类型的语言,故在对变量进行赋值时是不用制定变量类型的. 或者说,你可以把变量赋值的过程,当作是贴一个标签,去引用该数据. 看下面的例子: In [54]: a=4 In [ ...
-
Object Detection︱RCNN、faster-RCNN框架的浅读与延伸内容笔记
一.RCNN,fast-RCNN.faster-RCNN进化史 本节由CDA深度学习课堂,唐宇迪老师教课,非常感谢唐老师课程中的论文解读,很有帮助. . 1.Selective search 如何寻找 ...
-
Android Multimedia框架总结(十三)CodeC部分之OpenMAX框架初识及接口与适配层实现
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52629598 前言:上篇中介绍O ...