iozone 教程 :Linux 上磁盤 I/O 性能測(cè)量的 iozone 示例

      網(wǎng)友投稿 5181 2025-03-31

      如果有人抱怨在一臺(tái)服務(wù)器(具有特定文件系統(tǒng)或 RAID 配置)上運(yùn)行的數(shù)據(jù)庫(kù)(或任何應(yīng)用程序)比在另一臺(tái)服務(wù)器上運(yùn)行的相同數(shù)據(jù)庫(kù)或應(yīng)用程序運(yùn)行得更快,您可能需要確保在兩臺(tái)服務(wù)器上的磁盤級(jí)別相同。對(duì)于這種情況,您可以使用 iozone。


      如果您在某個(gè) SAN 或 NAS 環(huán)境中運(yùn)行您的數(shù)據(jù)庫(kù)(或任何應(yīng)用程序),并希望將其遷移到不同的 SAN 或 NAS 環(huán)境,您應(yīng)該在兩個(gè)系統(tǒng)上執(zhí)行文件系統(tǒng)基準(zhǔn)測(cè)試并進(jìn)行比較。對(duì)于這種情況,您可以使用 iozone。

      如果您知道如何使用 iozone,您幾乎可以將其用于各種文件系統(tǒng)基準(zhǔn)測(cè)試目的。

      下載并安裝 IOZone

      Iozone是一個(gè)開(kāi)源文件系統(tǒng)基準(zhǔn)測(cè)試實(shí)用程序。

      按照以下步驟在您的系統(tǒng)上下載并安裝 iozone。

      wget http://www.iozone.org/src/current/iozone3_394.tar tar xvf iozone3_394.tar cd iozone3_394/src/current make make linux

      IOzone 效用測(cè)量什么?

      IOzone 執(zhí)行以下 13 種測(cè)試。如果您在數(shù)據(jù)庫(kù)服務(wù)器上執(zhí)行 iozone 測(cè)試,則可以專注于第 1 6 個(gè)測(cè)試,因?yàn)樗鼈冎苯佑绊憯?shù)據(jù)庫(kù)性能。

      Read——表示讀取文件系統(tǒng)中已存在的文件的性能。

      Write——表示將新文件寫入文件系統(tǒng)的性能。

      Re-read - 讀取文件后,表示再次讀取文件的性能。

      Re-write - 表示寫入現(xiàn)有文件的性能。

      Random Read——表示通過(guò)從文件中讀取隨機(jī)信息來(lái)讀取文件的性能。即這不是順序讀取。

      Random Write - 指示在各種隨機(jī)位置寫入文件的性能。即這不是順序?qū)懭搿?/p>

      Backward Read

      Record Re-Write

      Stride Read

      Fread

      Fwrite

      Freread

      Frewrite

      10 個(gè) IOZone 示例

      1. 使用默認(rèn)值運(yùn)行所有 IOZone 測(cè)試

      -a 選項(xiàng)代表自動(dòng)模式。這會(huì)創(chuàng)建大小從 64k 到 512MB 的臨時(shí)測(cè)試文件,用于性能測(cè)試。此模式還使用 4k 到 16M 的記錄大小進(jìn)行讀寫(稍后會(huì)詳細(xì)介紹)測(cè)試。

      -a 選項(xiàng)還將執(zhí)行所有 13 種類型的測(cè)試。

      $ ./iozone -a

      iozone 輸出的第一組包含標(biāo)題信息,其中顯示有關(guān) iozone 實(shí)用程序的信息,以及用于生成此報(bào)告的所有 iozone 選項(xiàng),如下所示。

      Iozone: Performance Test of File I/O Version $Revision: 3.394 $ Compiled for 32 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Run began: Sat Apr 23 12:25:34 2011 Auto Mode Command line used: ./iozone -a Output is in Kbytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 Kbytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size.

      輸出的第二部分包含各種測(cè)試的輸出值(以每秒為單位)。

      第 1 列 KB:表示用于測(cè)試的文件大小。

      第 2 列 reclen:表示用于測(cè)試的記錄長(zhǎng)度。

      直到最后一列的第 3 列:表示執(zhí)行的各種測(cè)試及其每秒輸出值。

      random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 64 4 495678 152376 1824993 2065601 2204215 875739 582008 971435 667351 383106 363588 566583 889465 64 8 507650 528611 1051124 1563289 2071399 1084570 1332702 1143842 2138827 1066172 1141145 1303442 2004783 64 16 587283 1526887 2560897 2778775 2366545 1122734 1254016 593214 1776132 463919 1783085 3214531 3057782 64 32 552203 402223 1121909 1388380 1162129 415722 666360 1163351 1637488 1876728 1685359 673798 2466145 64 64 551580 1122912 2895401 4911206 2782966 1734491 1825933 1206983 2901728 1207235 1781889 2133506 2780559 128 4 587259 1525366 1801559 3366950 1600898 1391307 1348096 547193 666360 458907 1486461 1831301 1998737 128 8 292218 1175381 1966197 3451829 2165599 1601619 1232122 1291619 3273329 1827104 1162858 1663987 1937151 128 16 650008 510099 4120180 4003449 2508627 1727493 1560181 1307583 2203579 1229980 603804 1911004 2669183 128 32 703200 1802599 2842966 2974289 2777020 1331977 3279734 1347551 1152291 684197 722704 907518 2466350 128 64 848280 1294308 2288112 1377038 1345725 659686 1997031 1439349 2903100 1267322 1968355 2560063 1506623 128 128 902120 551579 1305206 4727881 3046261 1405509 1802090 1085124 3649539 2066688 1423514 2609286 3039423 ...

      2. 使用 iozone -b 將輸出保存到電子表格

      要將 iozone 輸出保存到電子表格,請(qǐng)使用 -b 選項(xiàng),如下所示。-b 代表二進(jìn)制,它指示 iozone 以二進(jìn)制格式將測(cè)試輸出寫入電子表格。

      $ ./iozone -a -b output.xls

      注意:-b 選項(xiàng)可以與下面提到的任何示例一起使用。

      從電子表格中保存的數(shù)據(jù)中,您可以使用電子表格工具的圖形功能創(chuàng)建一些漂亮的圖形。以下是從 iozone 輸出創(chuàng)建的示例圖。

      圖:IOZone 圖

      iozone 教程 :Linux 上磁盤 I/O 性能測(cè)量的 iozone 示例

      3. 使用 iozone -i 僅運(yùn)行特定類型的測(cè)試

      如果您對(duì)只運(yùn)行特定類型的測(cè)試感興趣,請(qǐng)使用 -i 選項(xiàng)。

      句法:

      iozone -i [test-type]

      測(cè)試類型是一個(gè)數(shù)值。以下是各種可用的測(cè)試類型及其數(shù)值。

      0=write/rewrite

      1=read/re-read

      2=random-read/write

      3=Read-backwards

      4=Re-write-record

      5=stride-read

      6=fwrite/re-fwrite

      7=fread/Re-fread,

      8=random mix

      9=pwrite/Re-pwrite

      10=pread/Re-pread

      11=pwritev/Re-pwritev

      12=preadv/Re-preadv

      以下示例將僅運(yùn)行寫入測(cè)試(即寫入和重寫)。正如您從輸出中看到的,其他列是空的。

      $ ./iozone -a -i 0 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 64 4 353666 680969 64 8 477269 744768 64 16 429574 326442 64 32 557029 942148 64 64 680844 633214 128 4 187138 524591

      您還可以通過(guò)在命令行中指定多個(gè) -i 來(lái)組合多種測(cè)試類型。

      例如,以下示例將測(cè)試讀取和寫入測(cè)試類型。

      $ ./iozone -a -i 0 -i 1 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 64 4 372112 407456 1520085 889086 64 8 385574 743960 3364024 2553333 64 16 496011 397459 3748273 1330586 64 32 499600 876631 2459558 4270078

      4. 使用 iozone -s 指定文件大小

      默認(rèn)情況下,iozone 會(huì)自動(dòng)創(chuàng)建大小從 64k 到 512M 的臨時(shí)文件,以執(zhí)行各種測(cè)試。

      iozone 輸出中的第一列(帶有列標(biāo)題 KB)表示文件大小。正如您從之前的輸出中看到的,它從 64KB 文件開(kāi)始,并且會(huì)不斷增加直到 512M(每次文件大小都翻倍)。

      您可以使用選項(xiàng) -s 指定文件大小,而不是對(duì)所有文件大小運(yùn)行測(cè)試。

      以下示例將只對(duì)文件大小為 1MB(即 1024KB)的文件執(zhí)行寫入測(cè)試。

      $ ./iozone -a -i 0 -s 1024 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024 4 469710 785882 1024 8 593621 1055581 1024 16 745286 1110539 1024 32 610585 1030184 1024 64 929225 1590130 1024 128 1009859 1672930 1024 256 1042711 2039603 1024 512 941942 1931895 1024 1024 1039504 706167

      5. 使用 iozone -r 指定測(cè)試的記錄大小

      當(dāng)您運(yùn)行測(cè)試時(shí),對(duì)于特定的文件大小,它會(huì)使用從 4k 到 16M 的不同記錄大小進(jìn)行測(cè)試。

      如果您喜歡對(duì)托管 oracle 數(shù)據(jù)庫(kù)的 I/O 子系統(tǒng)進(jìn)行 I/O 性能測(cè)試,您可能希望將 iozone 中的記錄大小設(shè)置為與 DB 塊大小相同的值。數(shù)據(jù)庫(kù)根據(jù) DB 塊大小進(jìn)行讀寫。

      reclen 代表記錄長(zhǎng)度。在前面的示例中,第 2 列(列標(biāo)題為“reclen”)表示應(yīng)該用于測(cè)試 IOzone 的記錄長(zhǎng)度。在前面的示例輸出中,對(duì)于 1024KB 的文件大小,iozone 測(cè)試使用從 4k 到 16M 的各種記錄大小來(lái)執(zhí)行寫入測(cè)試。

      除了使用所有這些默認(rèn)記錄長(zhǎng)度大小外,您還可以指定要測(cè)試的記錄大小。

      下面的示例將僅對(duì) 32k 的記錄長(zhǎng)度運(yùn)行寫入測(cè)試。在輸出中,第二列現(xiàn)在將只顯示 32。

      $ ./iozone -a -i 0 -r 32 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 64 32 566551 820553 128 32 574098 1000000 256 32 826044 948043 512 32 801282 1560624 1024 32 859116 528901 2048 32 881206 1423096

      6.結(jié)合文件大小和記錄大小

      您還可以同時(shí)使用 -s 和 -r 選項(xiàng)來(lái)指定確切的臨時(shí)文件大小和需要測(cè)試的確切記錄長(zhǎng)度。

      比如下面會(huì)使用一個(gè)2M的文件,記錄長(zhǎng)度為1M的運(yùn)行寫測(cè)試

      $ ./iozone -a -i 0 -s 2048 -r 1024 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 2048 1024 1065570 1871841

      7. 使用 iozone -t 進(jìn)行吞吐量測(cè)試

      要在吞吐量模式下執(zhí)行 iozone,請(qǐng)使用 -t 選項(xiàng)。您還應(yīng)該指定在此測(cè)試期間需要處于活動(dòng)狀態(tài)的線程數(shù)。

      以下示例將使用 2 個(gè)線程對(duì)寫入執(zhí)行 iozone 吞吐量測(cè)試。請(qǐng)注意,您不能將 -a 選項(xiàng)與 -t 選項(xiàng)結(jié)合使用。

      $ ./iozone -i 0 -t 2 Children see throughput for 2 initial writers 1= 433194.53 KB/sec Parent sees throughput for 2 initial writers = 7372.12 KB/sec Min throughput per process = 0.00 KB/sec Max throughput per process = 433194.53 KB/sec Avg throughput per process = 216597.27 KB/sec Min xfer = 0.00 KB Children see throughput for 2 rewriters = 459924.70 KB/sec Parent sees throughput for 2 rewriters = 13049.40 KB/sec Min throughput per process = 225610.86 KB/sec Max throughput per process = 234313.84 KB/sec Avg throughput per process = 229962.35 KB/sec Min xfer = 488.00 KB

      要為所有測(cè)試類型執(zhí)行吞吐量,請(qǐng)從上面的示例中刪除“-i 0”,如下所示。

      $ ./iozone -t 2

      8. 使用 iozone -+u 包含 CPU 使用率

      在執(zhí)行 iozone 測(cè)試時(shí),您還可以使用 -+u 選項(xiàng)指示 iozone 收集 CPU 利用率。

      選項(xiàng)前面的 -+ 可能看起來(lái)有點(diǎn)奇怪。但是,您必須給出整個(gè) -+u(不僅僅是 -u 或 +u)才能使其正常工作。

      以下示例將執(zhí)行所有測(cè)試,并將 CPU 利用率報(bào)告作為它生成的 Excel 電子表格輸出的一部分。

      $ ./iozone -a -+u -b output.xls

      注意:這將為它執(zhí)行的每個(gè)測(cè)試顯示單獨(dú)的 CPU 利用率。

      9. 使用 iozone -g 增加文件大小

      這個(gè)很重要。如果您的系統(tǒng)有超過(guò) 512MB 的 RAM,您應(yīng)該增加 iozone 用于測(cè)試的臨時(shí)文件大小。如果不這樣做,您可能無(wú)法獲得準(zhǔn)確的結(jié)果,因?yàn)橄到y(tǒng)緩沖區(qū)緩存將在其中發(fā)揮作用。

      為了獲得準(zhǔn)確的磁盤性能,建議將臨時(shí)文件大小設(shè)置為系統(tǒng)緩沖區(qū)緩存大小的 3 倍。

      以下示例將通過(guò)將最大文件大小增加到 2GB 來(lái)運(yùn)行 iozone,并為寫入測(cè)試運(yùn)行自動(dòng) iozone 測(cè)試。

      $ ./iozone -a -g 2G -i 0 random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 64 4 556674 1230677 64 8 278340 441320 64 16 608990 1454053 64 32 504125 1085411 64 64 571418 1279331 128 4 526602 961764 128 8 714730 518219 ...

      10. 使用 iozone -F 一起測(cè)試多個(gè)掛載點(diǎn)

      通過(guò)組合幾個(gè) iozone 選項(xiàng),您可以在多個(gè)掛載點(diǎn)上執(zhí)行磁盤 I/O 測(cè)試,如下所示。

      如果您有 2 個(gè)掛載點(diǎn),則可以啟動(dòng) 2 個(gè)不同的 iozone 線程以在這兩個(gè)掛載點(diǎn)上創(chuàng)建臨時(shí)文件以進(jìn)行測(cè)試,如下所示。

      $ ./iozone -l 2 -u 2 -r 16k -s 512M -F /u01/tmp1 /u02/tmp2

      -l 表示應(yīng)該啟動(dòng)的最小iozone進(jìn)程數(shù)

      -u 表示應(yīng)該啟動(dòng)的最大iozone進(jìn)程數(shù)

      -F 應(yīng)該包含多個(gè)值。即如果我們?cè)?-l 和 -u 中都指定 2,我們應(yīng)該在這里有兩個(gè)文件名。請(qǐng)注意,只有掛載點(diǎn)需要存在。-F 選項(xiàng)中指定的文件不需要存在,因?yàn)?iozone 將在測(cè)試期間創(chuàng)建此臨時(shí)文件。在上面的示例中,掛載點(diǎn)是 /u01 和 /u02。文件 tmp1 和 tmp2 將由 iozone 自動(dòng)創(chuàng)建用于測(cè)試目的。

      Linux 數(shù)據(jù)庫(kù)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel教程之修改Excel表格自動(dòng)保存默認(rèn)路徑(excel設(shè)置保存路徑)
      下一篇:Qt BarChart實(shí)踐
      相關(guān)文章
      在线观看国产区亚洲一区成人| 久久亚洲中文字幕无码| 日韩亚洲人成在线综合| 亚洲日韩一区二区一无码| 亚洲AV综合色区无码二区爱AV| 97久久精品亚洲中文字幕无码| 亚洲国产精品久久久久| 久久久亚洲精品国产| 久久精品国产亚洲夜色AV网站| 亚洲国产第一站精品蜜芽| 亚洲国产精品va在线播放| 亚洲bt加勒比一区二区| 久久久久亚洲精品无码蜜桃| 亚洲黄色高清视频| 亚洲综合网美国十次| 亚洲国产成人资源在线软件| 天堂亚洲国产中文在线| 亚洲精品无码久久久久YW| 亚洲欧美国产国产一区二区三区 | 丁香亚洲综合五月天婷婷| 久久亚洲精品无码gv| 苍井空亚洲精品AA片在线播放| 色噜噜噜噜亚洲第一| 亚洲精品国产精品乱码不卡 | 亚洲男人天堂影院| 亚洲高清资源在线观看| 亚洲国产成人久久综合一区| 亚洲综合成人婷婷五月网址| 亚洲爆乳少妇无码激情| 国产精品亚洲一区二区无码| 国产国拍亚洲精品福利 | 亚洲制服中文字幕第一区| 亚洲明星合成图综合区在线| 最新国产成人亚洲精品影院| 亚洲国产精品无码第一区二区三区 | 亚洲日韩国产一区二区三区在线| 亚洲av无码专区亚洲av不卡| 亚洲精品97久久中文字幕无码| 亚洲一区二区三区香蕉| 亚洲一卡2卡三卡4卡有限公司| 亚洲成人网在线观看|