Techyou labs
文章RSS
评论RSS
登录
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
搜索
关于作者
文章分类
Default
Linux/Unix
Database
Cloud
Networking
Security
Programming
最新文章
带你重走 TiDB TPS 提升 1000 倍的性能优化之旅
Unicode 中的 BIDI 双向性算法[转]
在linux中设置优先使用ipv4,而不是ipv6
linux下WPS高分辨率下因字体缩放导致字体发虚的问题
ssh-rsa not in pubkeyacceptedalgorithms问题解答及处理办法 Permission denied (publickey)
在 Ubuntu 22.04 中使用 PipeWire 替换 PulseAudio
MYSQL简单监控指标
deepin-wine6-stable下TIM悄悄崩溃问题
openwrt 设置ipv6地址分配
Redis 实战篇:巧用数据类型实现亿级数据统计
最新评论
renothing: 备注:路由器端优先设置ipv4并不影响客户端的ip...
renothing: 二次反向代理跟你应用程序得处理时间有关系吧?尤其是...
二次反向代理性能很差,怎么优化的?: 我也用nginx 做了个二次反向代理,但是并发连3...
hostyep: 交换链接么?目前每天保持30个左右对口IP,每月都...
yzhkpli: error while loading share...
美肤宝: 感谢分享。。。
lq: 嗯 喜欢弄得点单点
按月归档
March 2023
December 2022
November 2022
September 2022
August 2022
March 2022
January 2022
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
February 2021
September 2020
May 2020
September 2019
August 2019
July 2019
June 2019
May 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
April 2018
March 2018
December 2017
October 2017
September 2017
August 2017
April 2017
March 2017
February 2017
August 2016
July 2015
November 2014
September 2014
August 2014
July 2014
June 2014
July 2013
April 2013
September 2012
July 2012
May 2012
April 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
June 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
September 2008
August 2008
July 2008
June 2008
常用标签
Mysql
nginx
mysql优化
linux
debian
Powered by
Typecho)))
Optimized by
EAimTY
在 Linux 中使用 Fio 来测评硬盘性能
September 16, 2012
Fio(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件。 它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。 Fio 接受一种非常简单易于理解的文本格式的任务描述。软件默认包含了几个示例任务文件。 Fio 展示了所有类型的 I/O 性能信息,包括完整的 IO 延迟和百分比。 它被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持 Linux 、FreeBSD 、NetBSD、 OpenBSD、 OS X、 OpenSolaris、 AIX、 HP-UX、 Android 以及 Windows。 #安装 Fio 对于 Ubuntu 和 Debian 来说, Fio 已经在主仓库内。你可以很容易的使用类似 yum 和 apt-get 的标准包管理器来安装 Fio。 对于 Ubuntu 和 Debian ,你只需要简单的执行下述命令: ``` sudo apt-get install fio ``` 对于 CentOS/RedHat 你只需要简单执行下述命令。 在 CentOS ,你可能在你能安装 Fio 前需要去安装 EPEL 仓库到你的系统中。你可以通过执行下述命令来安装它: ``` sudo yum install epel-release -y ``` 你可以执行下述命令来安装 Fio: ``` sudo yum install fio -y ``` #使用 Fio 进行磁盘性能测试 现在 Fio 已经安装到了你的系统中。现在是时候看一些如何使用 Fio 的例子了。我们将进行随机写、读和读写测试。 ##执行随机写测试 执行下面的命令来开始。这个命令将要同一时间执行两个进程,写入共计 4GB( 4 个任务 x 512MB = 2GB) 文件: ``` sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=512M --numjobs=2 --runtime=240 --group_reporting ... fio-2.2.10 Starting2 processes randwrite:(groupid=0, jobs=2): err=0: pid=7271:SatAug513:28:442017 write: io=1024.0MB, bw=2485.5MB/s, iops=636271, runt=412msec slat (usec): min=1, max=268, avg=1.79, stdev=1.01 clat (usec): min=0, max=13, avg=0.20, stdev=0.40 lat (usec): min=1, max=268, avg=2.03, stdev=1.01 clat percentiles (usec): |1.00th=[0],5.00th=[0],10.00th=[0],20.00th=[0], |30.00th=[0],40.00th=[0],50.00th=[0],60.00th=[0], |70.00th=[0],80.00th=[1],90.00th=[1],95.00th=[1], |99.00th=[1],99.50th=[1],99.90th=[1],99.95th=[1], |99.99th=[1] lat (usec):2=99.99%,4=0.01%,10=0.01%,20=0.01% cpu : usr=15.14%, sys=84.00%, ctx=8, majf=0, minf=26 IO depths :1=100.0%,2=0.0%,4=0.0%,8=0.0%,16=0.0%,32=0.0%,>=64=0.0% submit :0=0.0%,4=100.0%,8=0.0%,16=0.0%,32=0.0%,64=0.0%,>=64=0.0% complete :0=0.0%,4=100.0%,8=0.0%,16=0.0%,32=0.0%,64=0.0%,>=64=0.0% issued : total=r=0/w=262144/d=0,short=r=0/w=0/d=0, drop=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=1 Run status group 0(all jobs): WRITE: io=1024.0MB, aggrb=2485.5MB/s, minb=2485.5MB/s, maxb=2485.5MB/s, mint=412msec, maxt=412msec Disk stats (read/write): sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00% ``` ##执行随机读测试 我们将要执行一个随机读测试,我们将会尝试读取一个随机的 2GB 文件。 ``` sudo fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting ``` 你应该会看到下面这样的输出: ``` ... fio-2.2.10 Starting4 processes randread:Laying out IO file(s)(1file(s)/512MB) randread:Laying out IO file(s)(1file(s)/512MB) randread:Laying out IO file(s)(1file(s)/512MB) randread:Laying out IO file(s)(1file(s)/512MB) Jobs:4(f=4):[r(4)][100.0%done][71800KB/0KB/0KB/s][17.1K/0/0 iops][eta 00m:00s] randread:(groupid=0, jobs=4): err=0: pid=7586:SatAug513:30:522017 read : io=2048.0MB, bw=80719KB/s, iops=20179, runt=25981msec slat (usec): min=72, max=10008, avg=195.79, stdev=94.72 clat (usec): min=2, max=28811, avg=2971.96, stdev=760.33 lat (usec): min=185, max=29080, avg=3167.96, stdev=798.91 clat percentiles (usec): |1.00th=[2192],5.00th=[2448],10.00th=[2576],20.00th=[2736], |30.00th=[2800],40.00th=[2832],50.00th=[2928],60.00th=[3024], |70.00th=[3120],80.00th=[3184],90.00th=[3248],95.00th=[3312], |99.00th=[3536],99.50th=[6304],99.90th=[15168],99.95th=[18816], |99.99th=[22912] bw (KB /s): min=17360, max=25144, per=25.05%, avg=20216.90, stdev=1605.65 lat (usec):4=0.01%,10=0.01%,250=0.01%,500=0.01%,750=0.01% lat (usec):1000=0.01% lat (msec):2=0.01%,4=99.27%,10=0.44%,20=0.24%,50=0.04% cpu : usr=1.35%, sys=5.18%, ctx=524309, majf=0, minf=98 IO depths :1=0.1%,2=0.1%,4=0.1%,8=0.1%,16=100.0%,32=0.0%,>=64=0.0% submit :0=0.0%,4=100.0%,8=0.0%,16=0.0%,32=0.0%,64=0.0%,>=64=0.0% complete :0=0.0%,4=100.0%,8=0.0%,16=0.1%,32=0.0%,64=0.0%,>=64=0.0% issued : total=r=524288/w=0/d=0,short=r=0/w=0/d=0, drop=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=16 Run status group 0(all jobs): READ: io=2048.0MB, aggrb=80718KB/s, minb=80718KB/s, maxb=80718KB/s, mint=25981msec, maxt=25981msec Disk stats (read/write): sda: ios=521587/871, merge=0/1142, ticks=96664/612, in_queue=97284, util=99.85% ``` 最后,我们想要展示一个简单的随机读-写测试来看一看 Fio 返回的输出类型。 ###读写性能测试 下述命令将会测试 USB Pen 驱动器 (/dev/sdc1) 的随机读写性能: ``` sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75 ``` 下面的内容是我们从上面的命令得到的输出: ``` fio-2.2.10 Starting1 process Jobs:1(f=1):[m(1)][100.0%done][217.8MB/74452KB/0KB/s][55.8K/18.7K/0 iops][eta 00m:00s] test:(groupid=0, jobs=1): err=0: pid=8475:SatAug513:36:042017 read : io=3071.7MB, bw=219374KB/s, iops=54843, runt=14338msec write: io=1024.4MB, bw=73156KB/s, iops=18289, runt=14338msec cpu : usr=6.78%, sys=20.81%, ctx=1007218, majf=0, minf=9 IO depths :1=0.1%,2=0.1%,4=0.1%,8=0.1%,16=0.1%,32=0.1%,>=64=100.0% submit :0=0.0%,4=100.0%,8=0.0%,16=0.0%,32=0.0%,64=0.0%,>=64=0.0% complete :0=0.0%,4=100.0%,8=0.0%,16=0.0%,32=0.0%,64=0.1%,>=64=0.0% issued : total=r=786347/w=262229/d=0,short=r=0/w=0/d=0, drop=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=64 Run status group 0(all jobs): READ: io=3071.7MB, aggrb=219374KB/s, minb=219374KB/s, maxb=219374KB/s, mint=14338msec, maxt=14338msec WRITE: io=1024.4MB, aggrb=73156KB/s, minb=73156KB/s, maxb=73156KB/s, mint=14338msec, maxt=14338msec Disk stats (read/write): sda: ios=774141/258944, merge=1463/899, ticks=748800/150316, in_queue=900720, util=99.35% ```
暂无评论
添加新评论
称呼
Email
网站
取消回复
内容
发表评论