close

【電腦技術】(轉)最具有權威性的虛擬盤終極教程(二)|安心電腦維修聯盟

文章出處:http://bbs.icafe8.com/thread-58821-1-1.html

 

第二篇:<卡?不卡,慢還是快?帶的起,帶不起?>

 
看到一些朋友的回复,說說我的觀點.
12樓問:和無盤有優勢嗎?
我的回答:無盤可以理解成另外一種虛擬盤,是一種把系統也放在服務器上的虛擬盤.
從讀的本質來說,虛擬盤和無盤是完全一樣的.
他們差別只在於寫的問題,無盤服務器需要負載客戶機的大量回寫,而且寫的負擔遠比讀取要大很多.相比較而言,虛擬盤可以將所有的資源用於讀,比無盤服務器要輕鬆的多.
所以,在速度上,它們並無本質區別.


好了言歸正傳,今天繼續開講,先來說一些最基本的東西.
第一個問題,網吧怎樣算卡,怎樣算不卡,達到什麼樣的條件才不會卡?
這個問題看起來非常的白痴,但是真的要是去問問我們的網管,可能問100個人就會有99種說法,仔細想想,這個問題真的那麼簡單嗎?
其實造成卡的因素非常的多,外網延遲高,內網不穩定,CPU,顯卡太差,內存不足等等.今天我們這裡只討論磁盤和虛擬盤的問題,磁盤或者虛擬盤造成的卡,是和寫入或者讀取的速度有關的,在遊戲運行過程中,速度降低到多少才會出現較為明顯的停頓呢?這個因不同的遊戲而異.但是基本的,我可以提供一個參考數值: 1MB/S!
啟動遊戲時,1MB/S的速度估計會慢的讓人很鬱悶,但是對大多數遊戲來說,只要進了遊戲以後,如果任何時候都能滿足1MB/S的讀寫速度,遊戲就可以運行的很流暢.在服務器上觀察客戶機的讀寫,幾乎90%以上的客戶機平時讀寫數據都是0,偶爾讀一點,也是128K,256K這樣的流量,.不信的話,你可以認真的觀察一下服務器的情況.很多百M內網的網吧裡,在虛擬盤服務器上運行遊戲,除了啟動略慢一些,遊戲過程中依然可以很流暢的.
對有盤的網吧來說,在本地運行的遊戲要達到1MB/S的標準實在太容易了,所以有盤網吧里硬盤導致的卡是很罕見的,往往是其他的原因才會出現卡的情況.
但是對無盤網吧來說,情況要糟糕一些,事實上很多無​​盤網吧都容易出現卡機現象,原因是無盤服務器回寫的壓力是非常大的,回寫的文件多半細碎而且難以緩存,所以服務器硬盤常常處於負荷的極限,這種情況下是很容易卡的.我這裡並不是說無盤不好,只是因為很多代理商施工的時候為了追求利潤或者追求高帶機量,讓服務器帶了過多的客戶機,這樣回寫的壓力是非常大的,很多人都對服務器性能過於樂觀了.


再來說說快和慢的問題,到底磁盤要多快才夠呢?我們在瘋狂的做RAID0的時候,測到200-300M/S的速度的時候,也許自己還不是很滿意,還想能不能再快一些,快到400M甚至500M,可是事實上我們需要那麼快嗎?

我們來做一些簡單的分析.我們的測試客戶機是這樣的:
CPU 酷睿2200
顯卡9600GT
內存2G
這樣的機器是去年下半年網吧比較典型的配置.
這樣的機器,在讀取硬盤數據的時候需要多少的速度才能滿足要求?才能不成為系統的瓶頸?
我們使用一個固態硬盤作為參照----OCZ的一個32G的固態硬盤來做測試,這樣硬盤不會成為系統的瓶頸,CPU和顯卡的處理速度才是系統的瓶頸.
測試結果是:
WINDOWS XP一般啟動一次大概要讀取250M左右的數據,最高啟動速度為30M左右
魔獸世界進入到遊戲畫面,所有讀取的數據大概為300M左右,最高的讀取速度不到30M.
我們隨後又測試了多款遊戲,大部分的遊戲啟動,都不超過25M/S.
隨後我們用PCMARK05進行測試,結果如下:

1.jpg  

 (圖2-1:PCMARK05測試OCZ固態硬盤)

 


如圖所示,模擬啟動XP的速度為27MB/S,模擬程序載入時23MB/S,普通應用18MB/S,只有做模擬病毒掃描時才達到104MB/S.
初步的結論:我們這樣的機器,對數據的需求最高不超過30M,在絕大多數時候,數據流量在10M以下,那麼幾百MB/S的硬盤是我們需要的嗎?
不不,事情絕對不是那麼簡單的,硬盤中還隱藏著很多不為大家所熟知的秘密,
下一節我會用非常大的篇幅來仔細的討論這個課題.


接下來我們說說負載問題,對虛擬盤服務器來說,怎樣算帶的起,怎樣算帶不起?
我的方法也很簡單,找出虛擬盤服務器整個系統中最薄弱的環節,仔細測量薄弱環節的性能和能力,按照客戶機平均讀取流量,計算服務器能負載的極限值,然後,為服務器留出3-5倍的性能餘量.這樣基本上就是帶的起了.
有很多種方法可以測量服務器的負載情況,如果你對自己服務器的性能掌握不太清楚的話,可以自行監測一下.
多數虛擬盤服務器的瓶頸都在於硬盤,我這裡提供一個簡單的監控硬盤性能的方法.
在服務器上打開開始程序管理工具性能.

2.jpg  

 

 

(圖2-2:WINDOWS自帶性能監視工具)


然後選擇計數器日誌,新建一個磁盤監控的任務,再添加一個計數器,選擇硬盤(physicaldisk),選擇你要監控的磁盤分區,然後從列表選擇計數器: % disk time,然後將時間週期設定為1秒,這樣,系統會每一秒鐘記錄一次磁盤的運作情況,輸出為csv格式,可以直接用excel打開分析.
如下圖: 

3.jpg  

(圖2-3:用WINDOWS自帶性能監視工具記錄服務器狀態)

 


這裡解釋一下什麼叫% disk time,詞可翻譯為磁盤工作時間的百分比,輸出的數值多半為5.x,86.x,264.x,對應的意思是:這一秒鐘有磁盤有5%的時間在工作,86%的時間在工作,264的意思是工作需要2.64秒才能完成,對這秒鐘來說,磁盤已經遠遠的超過了負荷,就有可能會卡了.
這個數值100%為磁盤滿負荷,小於100%,就是未滿負荷,大於100%,就是超過磁盤的承受能力.
用這個計數器可以無限的記錄下去,在你網吧人最多的時間,找一段數據出來分析一下,你就會知道你的服務器到底負荷怎樣.

我舉一個例子吧,下面這段數據是某網吧虛擬盤服務器在8月8日晚上20:00~22:00點之間記錄的,這個網吧當時約90人,所有的遊戲都放在該服務器上的該硬盤上(一個1.5T的希捷11代硬盤).
我用execl分析成圖表如下:

4.jpg  

 

 

(圖2-3:某網吧虛擬盤服務器高峰時段的硬盤讀寫時間圖)

分析整整2小時的數據,我將讀寫時間從高到低進行排列,最忙的那一秒鐘在8月8號的20:53分,負荷達到了95%左右.
從整個橫線的比例來說,1%不到的時間,硬盤的負荷在90%~30%之間.
大概有2%左右的時間,硬盤的負荷在30%~10之間
其他大概97%左右的時間,硬盤僅僅工作在10%的負荷之內.
這是很理想的情況,這種負載下,服務器是真的帶的起,帶的輕鬆.負載的客戶機再增加5倍都沒什麼問題.
這裡還要補充一下,並非硬盤達到100%以上客戶機就會卡,在100%那一刻,沒有去讀數據的客戶機不會卡,就算去讀的客戶機也不一定會卡,因為數據的需求量並不一定是那麼大的,而且,1秒很快就過去了,就算數據受阻,一般也未必感覺的到,但是!經常性長期性的超過100%,那就總有碰到卡的時候.
歡迎大家自查自己的服務器,很期待看到大家貼出自己服務器的硬盤負載圖.
下一節: 硬盤中的驚天大秘密!

(未完待續)

 

 

arrow
arrow

    安心電腦維修聯盟 發表在 痞客邦 留言(0) 人氣()