sysbench测试服务器性能
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 ...
随机推荐
- Apex Design Patterns
Apex allows you to build just about any custom solution on the Force.com platform. But what are the ...
- 【Android开发坑系列】之try-catch
try { mViewPager.postDelayed(new Runnable() { @Override public void run() { getCurrentPage().render( ...
- 让淘宝链接在微信中分享,GO
老婆开了个淘宝店,小卖家的心理大家都知道,一开始的小店总是没有光顾,吸引流量成了重中之中. 所以她到处发链接,微信里发了好多条,可是没过多久有好友微她,问她发的时什么,为什么都是打不开的.结果直接傻眼 ...
- Core Java - 流(Stream) - 字节流和字符流(一)
0. 概述: Java中基于流的I/O构建在4个抽象类之上, 其中2个是字节流,另外2个是字符流. 字节流: InputStream / OutputStream 当操作字节或其它二进制对象时,应当使 ...
- mysql主从复制原理
复制如何工作 整体上来说,复制有3个步骤: (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events): ...
- Spark源码系列(三)作业运行过程
作业执行 上一章讲了RDD的转换,但是没讲作业的运行,它和Driver Program的关系是啥,和RDD的关系是啥? 官方给的例子里面,一执行collect方法就能出结果,那我们就从collect开 ...
- 在UWP应用中实现Gif播放
众所周知,在UWP应用框架中,Image控件是无法播放GIF的图片,只能显示静态图,这样的体验不是特别友好.我在Win8.WP8.1的时候实现过gif播放功能,但是最近发现性能和播放效果都差强人意,大 ...
- 配置svn
Linux搭建SVN Server 其中包括添加防火墙规则
- [原]ffmpeg编译android 硬解码支持库 libstagefright
最近花了一天时间将ffmpeg/tools/build_stagefright执行成功,主要是交叉编译所需要的各种动态库的支持没链接上,导致各种报错,基本上网络上问到的问题我都碰到了,特此记录下来. ...
- Winform快速开发组件的实现(一)
好久好久没有露面了,呵呵,对于写文章都有点生疏了. 在拿到任何一个项目,不管是b/s的还是c/s,我不会立即开始写代码,我一般会为使这些项目能够快速开发制定一系列的支持组件,虽然可能前期会付出一些代价 ...