LV. 27
GP 887

RE:【心得】快速搬移大量檔案的方法

樓主 nanri nanri
GP19 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

電腦要處理每一個I/O動作(寫入、讀取,包含衍伸出來的複製、刪除、移動)時,
其實都是由很多動作所組合起來的,
舉個例子:"把C槽的A資料夾裡的B檔案複製到D槽的E資料夾裡"
OS得讀磁碟機的分割表到記憶體,幾ns到幾十ms
查C槽的分割區的檔案配置表在哪,幾ns
讀取C槽的檔案配置表,幾ns到幾十ms
*.查B檔案在從哪個磁區開始、哪個磁區結束,檔案大小,如果有離散的現象會再多做幾次標註,幾ns
*.複製指定磁區到記憶體緩衝區到滿,幾十ms
查D槽的檔案配置表在哪,幾ns到幾十ms
讀取D槽的檔案配置表,幾ns到幾十ms
判斷是否有足夠空間,幾ns
查找空閒磁區,幾ns
找到E資料夾資訊,幾ns
*.配置檔案配置表,幾ns
*.開始從記憶體緩衝區寫入指定磁區,重複*.這4步動作直到檔案複製完畢,幾十ms
更新E資料夾的資訊,幾十ms
更新D槽的檔案配置表。幾十ms
每一步都需要一個幾ns~幾十ms的時間,
如果檔案很大,幾十MB,其實所有的動作就會很有效率,
幾乎所有的時間都在讀取寫入檔案的內容,
如果檔案很小,才幾kB,等於有很多的時間都是耗費在更新檔案配置方面的準備工作。

這個有個效能基準的名詞叫IOPS...
去查查這名詞所代表的意思,就會知道為什麼小檔案複製的效率會這麼差。
19
-
未登入的勇者,要加入討論嗎?
板務人員:

1318 筆精華,06/25 更新
一個月內新增 0
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】