真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

如何進行磁盤的I/O測試-創(chuàng)新互聯(lián)

如何進行磁盤的I/O測試

 

創(chuàng)新互聯(lián)公司成立與2013年,我們提供高端網站建設、小程序開發(fā)、電商視覺設計、手機APP定制開發(fā)及網絡營銷搜索優(yōu)化服務,在傳統(tǒng)互聯(lián)網與移動互聯(lián)網發(fā)展的背景下,我們堅守著用標準的設計方案與技術開發(fā)實力作基礎,以企業(yè)及品牌的互聯(lián)網商業(yè)目標為核心,為客戶打造具商業(yè)價值與用戶體驗的互聯(lián)網+產品。

https://wiki.mikejung.biz/Benchmarking

譯文有增刪

 

1 Linux 常見基準測試工具

FIO

Sysbench

Phoronix Test Suite (moved to it's own page)

IOzone

Ioping

UnixBench

Google's Perfkit Benchmarker

 

2 FIO

fio算是比較老的io測試工具了,作者是Jens Axboe。

主頁https://www.thomas-krenn.com/en/wiki/Fio

fio的安裝

我的測試環(huán)境有centos7 redhat5 因此要下載兩個版本的fio包

redhat5 版本的需要去歸檔站點去下載

http://archives.fedoraproject.org/pub/archive/epel/

下載后的安裝 rpm -ivh fio-1.57-1.el5.x86_64.rpm

 

centos7 則可以去很多鏡像站點下載,站點列表可以查詢

/tupian/20230522/span

如果配置了epel 的yum 源,直接yum install -y fio

 

 

fio測試選項和例子

示例 使用fio測試磁盤的隨機寫

 

fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k \

  --direct=0 --size=512M --numjobs=8 --runtime=240 --group_reporting

 

--rw=randwrite 指定隨機寫

--direct=0 指定使用buffered IO 還是direct IO。如果使用buffer,注意總大小不要超過物理內存

--numjobs=8 啟動8個進程

--size=512M 每個進程寫512M

--group_reporting  將多個進程的統(tǒng)計結果進行聚合,更易閱讀

--runtime=240 持續(xù)運行時間4分鐘

--bs=4k  --blocksize=4k (default)

--ioengine=libaio 可用的io引擎可以使用 fio --enghelp查看(fio-2.2.8)

--iodepth=1 缺省 測試ssd磁盤時,可以擴大到32,通常4就夠了 

The iodepth option defines the amount of IO units that will continue to hammer a file with requests during the test.

 

 

避免使用buffer的方法是指定--direct=1 或者使用比物理內存大一倍的寫文件

 

fio結果的重點關注項目:

iops=1416        iops = 1416

95.00th=[    2]  95%的IO在2毫秒完成

util=99.62%      設備繁忙程度

 

示例 使用fio測試磁盤的隨機讀

 

fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k \

  --direct=0 --size=512M --numjobs=8 --runtime=240 --group_reporting

 

 

fio 幫助

man fio

fio -h

fio -v

 

fio 命令行中寫上選項,也可以將命令行選項寫入一個參數(shù)文件job file中

fio 安裝后,自帶了一些樣例

# rpm -ql -p fio-1.57-1.el5.x86_64.rpm

/usr/bin/fio

/usr/bin/fio_generate_plots

/usr/share/doc/fio-1.57

/usr/share/doc/fio-1.57/COPYING

/usr/share/doc/fio-1.57/HOWTO

/usr/share/doc/fio-1.57/README

/usr/share/doc/fio-1.57/REPORTING-BUGS

/usr/share/doc/fio-1.57/examples

/usr/share/doc/fio-1.57/examples/1mbs_clients

/usr/share/doc/fio-1.57/examples/aio-read

......

aio-read 參數(shù)文件,修改一下可以馬上使用

 

# fio aio-read.bak

 

file1: (g=0): rw=randread, bs=128K-128K/128K-128K, ioengine=libaio, iodepth=4

file2: (g=0): rw=randread, bs=128K-128K/128K-128K, ioengine=libaio, iodepth=32

file3: (g=0): rw=randread, bs=128K-128K/128K-128K, ioengine=libaio, iodepth=8

file4: (g=0): rw=randread, bs=128K-128K/128K-128K, ioengine=libaio, iodepth=16

fio 1.57

......

 

fio 輸出結果的一些注釋

 

   io     Number of megabytes of I/O performed.

   bw     Average data rate (bandwidth).

   runt   Threads run time.

   slat   Submission  latency  minimum, maximum, average and standard deviation. This

          is the time it took to submit the I/O.

   clat   Completion latency minimum, maximum, average and standard deviation.   This

          is the time between submission and completion.

   bw     Bandwidth  minimum,  maximum,  percentage  of aggregate bandwidth received, average and standard deviation.

 

   The group statistics show:

          io     Number of megabytes I/O performed.

          aggrb  Aggregate bandwidth of threads in the group.

          minb   Minimum average bandwidth a thread saw.

          maxb   Maximum average bandwidth a thread saw.

          mint   Shortest runtime of threads in the group.

          maxt   Longest runtime of threads in the group.

 

   Finally, disk statistics are printed with reads first:

          ios    Number of I/Os performed by all groups.

          merge  Number of merges in the I/O scheduler.

          ticks  Number of ticks we kept the disk busy.

          io_queue

                 Total time spent in the disk queue.

          util   Disk utilization.

示例 隨機讀直接IO

fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=1 --size=1G --numjobs=8 --runtime=240 --group_reporting

 

csdn上一個翻譯成中文的帖子 /tupian/20230522/8722417 沒耐心看英文的估計中文的也不會看完。

3 sysbench

sysbench可以測試cpu \ oltp mysql\ fileio 網上用來測試mysql的文章比較多。

sysbench的安裝

在centos 中,可以從epel直接安裝。安裝時需要mysql / postgresql

源文中的安裝方法

wget ftp://ftp.gnome.org/mirror/fedora/epel/6/x86_64/sysbench-0.4.12-5.el6.x86_64.rpm

wget http://downloads.mysql.com/archives/mysql-5.1/MySQL-shared-compat-5.1.49-1.rhel5.x86_64.rpm

rpm -iv MySQL-shared-compat-5.1.49-1.rhel5.x86_64.rpm

yum install postgresql-libs.x86_64

rpm -iv sysbench-0.4.12-5.el6.x86_64.rpm


當前題目:如何進行磁盤的I/O測試-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/ephjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部