PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   效能極限 (https://www.pcdvd.com.tw/forumdisplay.php?f=18)
-   -   [疑問]關於RAID0 的搬移檔案測試!? (https://www.pcdvd.com.tw/showthread.php?t=558582)

CG6 2005-11-12 04:08 PM

[疑問]關於RAID0 的搬移檔案測試!?
 
下午自行實驗的 RAID0 搬檔案測試(資料夾大小為 554MB),
從 C 搬到 D 需要 65 秒 (這是 RAID0 由 SATA 120G 兩顆組成 , 同時分割成 C 跟D)
又從 D 搬到 E ( E 是 ATA133 60G )花費20秒
而從 E 搬到 D 只需花費13 秒 即可完成 @___@
結論是 RAID 0 從自己搬到自己並不會比較快!
應該是因為同時從兩顆硬碟讀取出來,又要同時分割處裡同時寫入兩顆硬碟,會有效能損失之情況!
而從一般的 ATA 133 硬碟般到 RAID0 則可以很快, 應該是 ATA 能夠傳輸出來多快, RAID0 就能接收多快,才會有 13 秒的驚人速度!
不知道小弟自己的見解有沒有錯誤的地方,請懂這方面的人指正一下吧! 謝謝!

以上都是用檔案總管,的 "剪下" 跟 "貼上" 來測試!
秒數是自己用碼錶計時!!

pigear7194 2005-11-12 06:42 PM

想請教有關磁碟陣列磁區的設定問題~
128K....64K....16K...
這三項差在哪邊小弟看了很多文章...不知道是不是16K的時候讀取速度最快~?
不好意思小弟愚昧還請各位大大多多包函~

cubila 2005-11-12 10:26 PM

以下是我做的測試,檔案是8.xG的avi檔
SATA HD(self) 10:12:31
RAID0 HD(self) 05:44:35
RAID0 to SATA 03:17:47
SATA to RAID0 04:43:41
RAID0 to RAID0 02:51:45(兩組RAID 0)

CG6 2005-11-13 02:16 AM

我觀察了樓上的大大實驗結果,好像可以得到跟我下的結論一樣耶,
是嗎??

digictx 2005-11-13 03:02 AM

喔...單台實體硬碟本身讀寫本來就會比兩台互傳慢很多
因為又要讀又要寫,不是循序讀寫,硬碟要seek的測數多很多
不過用這種方式測試過scsi的話,你會為sata的高速感動

Helios 2005-11-13 07:47 AM

關於scsi在winxp下的致命傷
組raid 0稍稍變好一點點 但是依然很糟糕

測試檔案為1.39GB 單一檔
scsi卡是LSI 21320
10K V ----> 10K IV ---- 25sec
10K V ----> 15K raid 0 ---- 22sec
10K IV 自己複製到自己 ---- 59 sec
raid 0 自己複製到自己 ---- 35sec

cubila 2005-11-13 04:59 PM

引用:
作者CG6
我觀察了樓上的大大實驗結果,好像可以得到跟我下的結論一樣耶,
是嗎??

我覺得您若想比較出raid 0的優勢
您可以做一組sata to sata的測試
來跟raid 0 to raid 0比較

Jalamorm 2005-11-13 05:12 PM

建議做完全部的測驗後,再把第一項測驗拿來測試,就是最後一個測試是測是第一個測試的。

根據我本人使用 freebsd 的經驗,第一次搬移檔案會比較慢,
因為要作 硬碟到記憶體,再記憶體到硬碟 兩個動作。
第二次搬移的時候,"可能"只需要作 記憶體到硬碟 一個動作。

為什麼說"可能",因為:
第一,我是使用freebsd,不確定 windows xp 的作法是否相同。
第二,有時候檔案大過記憶體太多,那還是要重新執行 硬碟到記憶體的工作

--
當時的測試環境:
cpu: piii 667
ram: 256mb
硬碟: Maxtor 80G 2mb緩衝 (兩顆之間搬移與複製測試)
os: Freebsd 4.10 stable
檔案大小: 600mb∼650mb之間
時間: 第一次快到兩分鐘,之後大概35∼37秒之間

CG6 2005-11-13 11:47 PM

還有一個疑問就是,單純的檔案搬移,會用到主記憶體嗎?
也就是說搬運的過程是先從 "來源" 搬到 "主記憶體" 在搬到 "目的地" 嗎?

Jalamorm 2005-11-14 03:36 PM

先回答問題: 是的,搬移檔案會用到記憶體。

完整的搬移動向為: 硬碟(來源) ---> 記憶體 --> 硬碟(目的地)。
兩個箭頭表示是透過 CPU 或 DMA Controller 或 SATA Controller 來處理搬移的工作。
(SATA 是不是叫 SATA Controller 我不清楚,但是都會有類似的晶片在做同樣的工作)


以下是漫長的補充:
在計算機架構發展的一開始,硬碟還只有 PIO (Programmed Input/Ouput) 模式,檔案在硬碟與記憶體之間的移動是靠 cpu 來執行的,因為當時 os 執行搬移檔案的工作是由一個常駐程式來執行,想當然爾,執行程式一定要透過 cpu。因此,pio模式會消耗大量的 cpu 資源不是沒有原因的。

接下來,發明的 DMA Controller,將搬移檔案的程式直接寫到一顆晶片裡面,檔案在硬碟跟記憶體間的移動就改靠它了。DMA Controller其實就是一個小型的 CPU,專門為搬移檔案而設計的 CPU,因此,執行起來比 pio 的方式快而且節省 CPU 資源。

那原本的 CPU 在這段期間要幹嘛呢? 可以是 Idel 狀態或是繼續作其他的運算。
但是,這邊有個問題,因為 DMA Controller 搬移檔案的時候還是需要使用到記憶體頻寬,所以如果這個時候 CPU 也在工作,當 CPU 要存取記憶體的時候,CPU 跟 DMA Controller 兩個是會打架的。原因如下:
電腦的使用可以分為兩種 1.消耗大量 CPU 運算能力 2.消耗 IO 存取能力。
當 1. 的動作要存取資料時,如果 2. 的工作還在執行,兩個就會在存取 RAM 的途中撞到。

以上的資料可以在計算機架構相關書籍得到。


所有的時間均為GMT +8。 現在的時間是06:26 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。