日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLIO 模拟随机或者顺序的方式来测试磁盘IO的性能

發(fā)布時間:2024/9/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLIO 模拟随机或者顺序的方式来测试磁盘IO的性能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQLIO


功能:磁盤IO壓力測試工具,SQLIO主要是模擬隨機(jī)或者順序的方式來測試磁盤IO的性能。

SQLIO Disk Subsystem Benchmark Tool工具下載地址:

http://www.microsoft.com/en-us/download/details.aspx?id=20163

RAID存儲技術(shù)在SQL Server服務(wù)器上已經(jīng)被廣泛使用,對于存儲介質(zhì),有很多層面的硬件和固件,以及存儲管理軟件配置。如果設(shè)置不恰當(dāng),同樣的硬件最后的效能會差別很大。

?

微軟提供了一個工具叫SQLIO.exe,專門用作數(shù)據(jù)庫硬盤壓力測試。工具安裝好后,主要用到的是兩個文件。

1. Param.txt。

-----------------------------內(nèi)容范例----------------------------

#c:\testfile.dat 2 0x00 100

d:\testfile.dat 4 0x00 1024

-----------------------------------------------------------------------

每行的格式及其參數(shù)的含義如下。

l <Path to test file>: 測試用的文件和它的完整路徑。

l <Number of threads (per test file)>: 測試同時使用多少個線程進(jìn)行。建議和CPU數(shù)目一致。

l <Mask>: 始終使用0x0。

l <Size of test file in MB>: 測試文件的大小,最好是SAN(或RAID Controller)的讀寫緩存大小的2到4倍,A5機(jī)器一般是512MB,這里可以用1024MB。

如果某行要注釋掉,就在最前面加一個#號。

所以上面范例的意思是,在D盤的根目錄下,用4個線程,一個1024MB的文件來做壓力測試。

?

2. SQLIO.exe。

也就是主測試文件。它有很多參數(shù),具體含義如下表:

選項

說明

-o

測試文件會在磁盤上產(chǎn)生的隊列長度(Disk Queue Length)。一般來說,這個值越高,單位時間磁盤的吞吐量就越大。但是有些磁盤會在Queue Length太大的情況下出問題。常用的有8、32和64

-LS

記錄磁盤反應(yīng)時間,這是一個推薦使用的選項

-k

指定是讀還是寫(R或W)

-s

測試持續(xù)多少秒。一般至少5到10分鐘。

-b

每次I/O請求的大小。

-f

I/O的種類,是隨機(jī)(’random’)還是連續(xù)(’sequential’)的。

-F

參數(shù)文件的名字,默認(rèn)就是param.txt


由于測試需要覆蓋不同的I/O類型,所以可以用下面這樣的批處理文件來做一套測試

見附件testIO.bat


這里輸入timeout命令的完整路徑,是因為若裝有cygwin,會因為環(huán)境變量Path的優(yōu)先級而導(dǎo)致找到的timeout命令不是Windows下的該命令,而導(dǎo)致命令失敗。

運行的時候在命令行下運行:

testIO.bat > out.txt


結(jié)果會輸出在相同目錄下的out.txt文件里。每一行命令都會有它的輸出。


在做隨機(jī)讀和隨機(jī)寫的時候,Disk Transfers/sec的數(shù)量不會因為每個Transfer(每次I/O)的大小不同而有明顯的變化,Avg. Disk sec/Transfer也差不多。所以每完成一次I/O,花的時間都差不多,Transfer越大,那么Disk Bytes/sec也就越高。但是整體性能,還是比不上做連續(xù)讀、寫的時候。


在做連續(xù)讀和寫的時候,由于數(shù)據(jù)是連續(xù)的,所以不管每次做的I/O多大,最終的Disk Bytes/sec值相差不大。


當(dāng)做的事情不一樣的時候,磁盤的吞吐量會有很大的差異。在和硬盤供應(yīng)商討論磁盤性能的時候,也要要求他們提供磁盤在不同I/O行為下的能力值,而不是某個最佳值。


對于out.txt的輸出結(jié)果,IOs/sec相當(dāng)于磁盤的IOPs,MB/s相當(dāng)于磁盤數(shù)據(jù)的吞吐量。Latency相當(dāng)于磁盤的反應(yīng)時間。

見附件out.txt

?

針對SQLIO的輸出結(jié)果有一個非常好用的分析工具(SQLIO Analyzer),將SQLIO的結(jié)果保存到txt文件,用shell命令篩選出相關(guān)數(shù)據(jù),如: ?
grep “IOs/sec” out.txt | awk ‘{print $2}’ ? ?
然后導(dǎo)入分析工具,可以出現(xiàn)下面的圖表結(jié)果。

見附件sqlio_analyzer_results.xls

?

工具地址:http://tools.davidklee.net/sqlio.aspx

總結(jié)

以上是生活随笔為你收集整理的SQLIO 模拟随机或者顺序的方式来测试磁盘IO的性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。