亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server 服務器磁盤測試之SQLIO篇(二)

2024-08-31 00:55:49
字體:
來源:轉載
供稿:網友
SQL Server 服務器磁盤測試之SQLIO篇(二) 上次放出了一篇文章,針對磁盤卷簇大小默認4KB和自定義64KB進行了測試,測試內容為隨機和順序讀寫,大小為8KB和64KB,有人覺得這并沒有照顧到SQL Server所有的IO使用情景。這篇測試文章,我們就來盡可能模擬一下SQL Server IO的行為,全方位對簇大小4KB、8KB和64KB做一次驗證,注意:本次我們增加了簇為8KB的大小。

重點說明:本測試使用的是兩塊SSD組成的RAID1

首先,我們先來分析SQL Server的IO行為,參考網址:Choosing what SQLIO tests to Run and Automating the Tests

下面的幾點是我根據文章整理,并非完全翻譯:

1、SQL Server每個邏輯CPU上都會分配一個調度器,每個調度器上根據系統負載不同,會有多個Worker Thread,但是在同一個時刻,每個調度器上只能有一個Worker Thread處于運行狀態,即:每個邏輯CPU在同一時刻只能支配一個Worker Thread干活。也就是說:SQLIO Param.txt 文件中定義的testfile.dat 8 0×0 5000 不能超過測試服務器邏輯CPU的數目,我測試的服務器為:2物理CPU*6核心*雙線程=24邏輯CPU,即最大設置為:testfile.dat 24 0×0 5000

2、SQL Server間歇性的寫入數據,寫數據的行為由CheckPoint或者Lazy Writer(當內存有壓力的時候)完成。當二者觸發執行時,由單一的線程將內存中的臟頁寫入磁盤,因此當測試“寫”的時候,在Param.txt 中配置超過1個線程都是毫無意義的,因為這種行為在即使多個數據庫時也是串行的,(當然你可以配置線程數為2來壓榨出IO寫能力的極限)。并且,SQL Server在寫入數據的時候,大部分情況下一次性寫入32個page即256K的數據,因此你應該配置寫入的Size為256K。但是也有例外,那就是Eager Writer,該行為在將數據庫恢復模式設置為“大容量日志模式”時,最小化記錄日志時將觸發,該行為的寫入Size為8KB(或者可能是64KB)。

3、SQL Server連續不斷的進行數據讀取操作,絕大多數的讀操作是8KB為單位的,預讀的塊大小是64個page即512KB,直接讀取整個區Extent即64KB也是較為常見的,因此對于讀操作,測試8KB、64KB、512KB就可以了。

4、對于日志寫,定一個測試Size是非常困難的,因為寫入日志的大小取決于系統的負荷大小,但是一般不會超過60KB,但是對于測試,“我”建議使用8KB作為測試單位,這個大小覆蓋了Eager Writer和Log Writer。在微軟亞太博客的這篇文章中:SQL server每個日志寫(log write)究竟有多大?,我們也可以了解到,SQL Server的日志寫確實很不固定,一個簡單的commit是512byte,而負荷較高時,接近60KB,在這里,我決定擅自再使用一個接近512byte的1KB作為測試大小,并且實際上,我用PRocessMonitor在生產環境抓取了一段時間Log Writer后,絕大多數的日志寫確實在1K及以下。

QQ圖片20140423115548

5、作者的第5條認為SAN存儲,由于有巨大的緩存,并且優化了讀寫機制,所以讀寫的差距不是很大,所以建議只使用Random作為測試方式,這一點,我決定不茍同于作者,仍然按照Data和Log的讀寫特性來進行測試,隨機和順序都會照顧到。

綜上所述,根據個人知識點,測試要點總結如下:

QQ截圖20140422162044

1、我們首先建立兩個Para.txt文件,一個Thread為邏輯CPU數目24,另外一個Thread我們設置為1,對應于上圖中“使用線程數”中的內容,另外,我還將測試文件testfile.dat的大小調整為了5000M。

本次我為了避免誤差,僅使用同一組RAID1來完成這三組簇分別為4KB/8KB/64KB大小的測試。

ParamMT.txt

D:/testfile.dat 24 0x0 5000

ParamST.txt

D:/testfile.dat 1 0x0 5000

2、以下為測試腳本,我們將-o參數從1開始增加,然后以翻倍的形式,測試出IO的最大能力。

在進行下一組測試前,我們只需要將后面的寫入文件Cluster_4KB_test中的4KB全部替換為8KB或者64KB即可。
echo ****** Read Tests *****echo ******random_R_8KB**********sqlio -kR -s300 -frandom -o1 -b8 -LS -BH -FparamMT.txt > Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o2 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o4 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o8 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o16 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5echo ******random_R_64KB**********sqlio -kR -s300 -frandom -o1 -b64 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o2 -b64 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o4 -b64 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o8 -b64 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o16 -b64 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5echo ******random_R_512KB**********sqlio -kR -s300 -frandom -o1 -b512 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o2 -b512 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o4 -b512 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o8 -b512 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kR -s300 -frandom -o16 -b512 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5echo ******random_W_8KB**********sqlio -kW -s300 -frandom -o1 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o2 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o4 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o8 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o16 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5echo ******random_W_256KB**********sqlio -kW -s300 -frandom -o1 -b256 -LS -BH -FparamST.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o2 -b256 -LS -BH -FparamST.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o4 -b256 -LS -BH -FparamST.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o8 -b256 -LS -BH -FparamST.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -frandom -o16 -b256 -LS -BH -FparamST.txt >> Cluster_4KB_test.txttimeout /T 5echo ******sequential_W_1KB**********sqlio -kW -s300 -fsequential -o1 -b1 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o2 -b1 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o4 -b1 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o8 -b1 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o16 -b1 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5echo ******sequential_W_8KB**********sqlio -kW -s300 -fsequential -o1 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o2 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o4 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o8 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5sqlio -kW -s300 -fsequential -o16 -b8 -LS -BH -FparamMT.txt >> Cluster_4KB_test.txttimeout /T 5
3、在進行了漫長的等待后,我們終于拿齊了三個文件,用SqlioAnalyzer導出為文件,值得注意的是,導入txt文件時,報錯,只需要將”1 thread”全部替換為”1 threads”,再次導入即可。4、整理,取出每組測試最大值,所得結果如下。看到結果,我驚呆了,在盡可能模擬SQLServer IO行為的前提下,我們這組SSD組成的Raid1不再是簇為64KB時性能全面領先!
  • 先說第二個直方圖,我們可以看到,在順序寫時,三種簇大小下幾乎是沒有差別的;
  • 第一個直方圖,在隨機讀取64KB和512KB時,簇為4KB相比其它兩種情況是有優勢的;其它讀寫情況下,還是簇為8KB和64KB時占據優勢。
  • 我們上面已經說過,SQL Server的隨機讀,絕大多數還是以8KB為單位的,從這點來看,依然還是簇為8KB和64KB比簇為4KB在全局來講,要占據優勢,而簇為64KB比8KB的優勢,是微乎其微的。
2014-04-29_122339然后根據需要比較的項做成直方圖,隨機看IOS/sec,順序看MB/sec。QQ截圖20140429121832QQ截圖20140429121903測試總結:

在盡可能模擬SQL Server IO行為的前提下,我們測試的兩塊SSD硬盤組成的RAID1表現出了與第一篇測試文章時不同的性能行為。

SSD的特性是不再以物理尋道的形式獲取數據,而是電子存儲芯片顆粒直接讀寫,再也沒有磁頭移動消耗的時間,并且,SSD硬盤的并發讀寫能力是建立在多線程之上的,在同一時刻的工作絕不會局限于一個顆粒之上,本例我們測試的最大線程為24(測試服務器邏輯CPU數目),也許這是制約這組SSD硬盤沒有發揮出最大功效的原因吧。即使這樣,我們仍然可以察覺出簇為64KB比4KB時是有優勢的。

如果您有不同意見,請提出,我們繼續討論。

手頭上沒有SAS硬盤的RAID,如果您有興趣,可以試一下,差別應該會更大一些。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一二区| 精品成人久久av| 午夜伦理精品一区| 国产成人精品日本亚洲专区61| 青青久久av北条麻妃黑人| 亚洲日本欧美中文幕| 国产亚洲一区精品| 精品福利视频导航| 亚洲片国产一区一级在线观看| 成人精品在线视频| 97精品一区二区视频在线观看| 亚洲欧美国产精品专区久久| 日韩美女在线观看一区| 国产91精品最新在线播放| 中文字幕欧美在线| 中文字幕亚洲无线码在线一区| 欧美大片免费看| 91精品在线一区| 亚洲色图美腿丝袜| 欧美日韩高清在线观看| 日本精品一区二区三区在线| 亚洲最大成人网色| 中文字幕欧美亚洲| 久久九九免费视频| 日韩中文娱乐网| www高清在线视频日韩欧美| 欧美性生交xxxxx久久久| 久久国产精品首页| 久久99热这里只有精品国产| 成人免费xxxxx在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲最新视频在线| 精品久久中文字幕久久av| 尤物九九久久国产精品的特点| 国产精品欧美一区二区三区奶水| 伊人久久久久久久久久久久久| 国产亚洲精品高潮| 欧美高清视频在线观看| www.久久草.com| 久久亚洲精品视频| 国产精品久久久久9999| 国产成人综合一区二区三区| 国产精品久久久久久久av电影| 亚洲精品乱码久久久久久金桔影视| 中文字幕一区电影| 欧美精品在线播放| 91色琪琪电影亚洲精品久久| 久久久久久网站| 91视频国产一区| 亚洲第一级黄色片| 日韩美女毛茸茸| 欧美大片大片在线播放| 国产精品免费在线免费| 国产精品一区久久| 日韩电影视频免费| 久久中文字幕在线| 久久国产精品免费视频| 欧美日韩福利视频| 福利微拍一区二区| 日韩禁在线播放| 久久久久成人网| 日韩国产欧美精品一区二区三区| 日韩av高清不卡| 日韩a**站在线观看| 欧美一级视频免费在线观看| 国产大片精品免费永久看nba| xvideos亚洲人网站| 久久精品久久精品亚洲人| 538国产精品一区二区在线| 久久99久久久久久久噜噜| 欧美一级淫片aaaaaaa视频| 欧美午夜激情视频| 国产精品国产福利国产秒拍| 欧美做受高潮电影o| 国产精品亚洲激情| 亚洲最大福利网| 国产精品亚洲网站| 国产精品久久99久久| 国产精品久久久久久久久免费| 91美女片黄在线观看游戏| 亚洲国产精品久久精品怡红院| 国产精品女视频| 久久国产精品久久久久| 欧美精品videosex性欧美| 日韩av免费看网站| 国产精品久久久久久久久久免费| 国产在线精品成人一区二区三区| 岛国视频午夜一区免费在线观看| 日韩免费观看网站| 日韩女在线观看| 中文字幕欧美亚洲| 亚洲视频网站在线观看| 波霸ol色综合久久| 日韩精品中文字幕在线播放| 美女撒尿一区二区三区| 九九热精品视频国产| 亚洲黄页视频免费观看| 国产91在线播放精品91| 国产精品久久久久久一区二区| 亚洲欧洲日产国码av系列天堂| 欧美肥臀大乳一区二区免费视频| 精品日韩美女的视频高清| 国产精品国产三级国产专播精品人| 日韩美女视频中文字幕| 高清日韩电视剧大全免费播放在线观看| 欧美乱大交xxxxx| 欧美成年人视频| 欧美专区在线播放| 亚洲小视频在线观看| 2021国产精品视频| 欧美福利视频在线观看| 久久香蕉国产线看观看av| 91精品啪aⅴ在线观看国产| 亚洲精品www久久久久久广东| 国产精品成人观看视频国产奇米| 午夜精品一区二区三区在线播放| 欧美精品久久久久a| 91免费看国产| 欧美性生活大片免费观看网址| 欧美专区福利在线| 夜色77av精品影院| 一区二区欧美在线| 欧美激情精品久久久| 亚洲理论片在线观看| 欧美在线播放视频| 国模gogo一区二区大胆私拍| 国产亚洲精品91在线| 岛国av午夜精品| 97国产真实伦对白精彩视频8| 国产精品福利久久久| 日韩av免费在线播放| 久久国产精品免费视频| 国产精品一区专区欧美日韩| 成人欧美一区二区三区黑人孕妇| 亚洲人av在线影院| 日韩一区视频在线| 成人午夜在线影院| 中文字幕日韩欧美精品在线观看| 欧美在线亚洲在线| 久久精品电影一区二区| 91亚洲精品在线| 精品久久久一区| 欧美午夜精品久久久久久浪潮| 夜夜嗨av一区二区三区免费区| 精品国产一区二区三区久久狼黑人| 日韩电影中文字幕在线观看| 成人免费看吃奶视频网站| 日韩精品在线私人| 成人福利免费观看| 日本中文字幕成人| 亚洲欧美激情四射在线日| 91国产中文字幕| 91国产美女视频| 欧美性生交xxxxxdddd| 日韩中文字幕在线精品| 久国内精品在线| 韩国福利视频一区| 亚洲国产精品悠悠久久琪琪| 亚洲视频欧美视频| 亚洲石原莉奈一区二区在线观看| 91免费综合在线| 97超碰国产精品女人人人爽| 久久久久99精品久久久久| 亚洲国语精品自产拍在线观看|