LV. 45
GP 1k

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

樓主 GFX alanhung
GP17 BP-
不管您電腦有多高檔,硬碟寫入的速度有多快,
但您要對一個資料夾單層含10000以上的檔案進行複製或搬移時...

前1000個檔複製都是秒速再進行,到了第2000個後數量與時間比就開始慢下來。
至此後就越來越慢...到了第10000個檔你可能會先崩潰了,開罵怎那麼慢啊!

即使每個小檔都只有10k以下,但傳輸速率完全上不去

若您恰巧遇到需要做大量檔案的複製,
建議您不要選擇複製搬移,而是先選擇壓縮,任何格式皆可。

壓縮的效率完全不會因檔案多而下降,等壓縮完再解壓至目的資料夾。
解壓縮也不會因壓縮檔內的太多而降低解壓效率。

雖然多了一個壓縮與解壓的過程,但大幅降低複製與搬移的時程。
若曾遇過小弟說的情形開罵的,不彷用小弟的方法試試
17
-
LV. 25
GP 1k
2 樓 Mars7788 Mars7788
GP1 BP-
「不管您電腦有多高檔,硬碟寫入的速度有多快,
但您要對一個資料夾單層含10000以上的檔案進行複製或搬移時...」
你不會RAID嘛- -?

「前1000個檔複製都是秒速再進行,到了第2000個後數量與時間比就開始慢下來。
至此後就越來越慢...到了第10000個檔你可能會先崩潰了,開罵怎那麼慢啊!」
買好一點的RAID卡/軟RAID。處理力足夠就有長程細檔寫入力。

「即使每個小檔都只有10k以下,但傳輸速率完全上不去
大量細檔需要大量的抄寫校檢,你第一天用電腦- -?

「若您恰巧遇到需要做大量檔案的複製,
建議您不要選擇複製搬移,而是先選擇壓縮,任何格式皆可。」
壓縮動作是在RAM做,不論你的檔案原本在那。

「壓縮的效率完全不會因檔案多而下降,等壓縮完再解壓至目的資料夾。
解壓縮也不會因壓縮檔內的太多而降低解壓效率。」
你看一下你的工作管理員,都是解壓到C再抄回指定位置。

「雖然多了一個壓縮與解壓的過程,但大幅降低複製與搬移的時程。
若曾遇過小弟說的情形開罵的,不彷用小弟的方法試試
便宜的SSD/HDD就換了他。
1
-
LV. 45
GP 1k
3 樓 GFX alanhung
GP5 BP-
※ 引述《Mars7788 (Mars7788 )》之銘言
> 便宜的SSD/HDD就換了他。

只為60MB的資料買新SSD組Raid...您認真?
5
-
LV. 40
GP 2k
4 樓 來刷存在感的 kinhaze
GP0 BP-
※ 引述《alanhung (GFX)》之銘言
> 不管您電腦有多高檔,硬碟寫入的速度有多快,
> 但您要對一個資料夾單層含10000以上的檔案進行複製或搬移時...
> 前1000個檔複製都是秒速再進行,到了第2000個後數量與時間比就開始慢下來。
> 至此後就越來越慢...到了第10000個檔你可能會先崩潰了,開罵怎那麼慢啊!
> 即使每個小檔都只有10k以下,但傳輸速率完全上不去
> 若您恰巧遇到需要做大量檔案的複製,
> 建議您不要選擇複製搬移,而是先選擇壓縮,任何格式皆可。
> 壓縮的效率完全不會因檔案多而下降,等壓縮完再解壓至目的資料夾。
> 解壓縮也不會因壓縮檔內的太多而降低解壓效率。
> 雖然多了一個壓縮與解壓的過程,但大幅降低複製與搬移的時程。
> 若曾遇過小弟說的情形開罵的,不彷用小弟的方法試試



這個方法感覺跟以前要把東西塞進1.44內差不多
只是現在是解壓縮

我的電腦內有安裝Optane™ memory 32GB 及 Optane™ SSD 256GB(純粹運行4K級的遊戲) 以及理所當然的M.2 SSD
為什麼明明我應該只寫Optane, 但為什麼要麻煩地寫™? 因為真是™的快
丟10000個檔會慢?
100,000KB=100MB啦
平日處理各種旅遊照片, 日常開箱圖, 日常美食圖, 日常珍藏, 日常遊戲, 日常HD FLAC音檔等
10000個? 每次都50000個檔以上吧
加加減減也有最少10GB以上了

即使丟進4TB HDD 5400RPM 或7200RPM, 不會怎慢
就5-10分鐘左右

相反, 如果要我
1) 換成壓縮檔(無壓縮-最快)
缺點, 該碟區要有同等大小的剩餘空間以上
缺點2, 要等, 幾乎是複製一次
2) 假設以上是5分鐘完成這10GB的壓縮
再來解壓縮又5-10分鐘
3) 然後自動由TEMP那邊塞過去另一碟, 又再5-10分鐘

總括來說這壓縮(無壓)檔後再解壓去
損耗更多的讀寫次數才能完成
使用更多時間才能完成
壓縮發生錯誤而全件事
再由頭開始

原本移動時即使發生錯誤也能局部完成
真是事半功倍
根本是事半工要多幾倍

這方法, 不是每人都能用, 自行加減用
如果常常都要這樣做, 乾脆換更好的M.2, SSD, SSHD
0
-
LV. 27
GP 887
5 樓 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
-
LV. 17
GP 183
6 樓 北港朝天空 alexice
GP0 BP-
複製大量零碎檔案,阿傻才用滑鼠複製資料夾貼上,竟然還說要先壓縮 = =a

先把資料夾檔名改成英數字,cmd叫出命令提示字元,直接xcopy過去,沒幾秒就跑完了
xcopy d:\TEST e:\xxx

基本中的基本中的超級基本功,若要加/w還是/e還是要順便改屬性什麼的,上網自己查去

上面還能扯一堆,真是無言...

PS 後來得知是linux系統
但.....
好歹要問問題也該講清楚啊!
作業系統沒講,複製環境沒講,是要硬碟互摳還是網路互傳?
當每個人都會通靈啊?
0
-
LV. 45
GP 1k
7 樓 GFX alanhung
GP0 BP-
http://cheat.retrogames.com/mame_downloads.htm
有興趣可以連上上面的網站,載任意一個mame cheats包。
mame cheats是懷舊遊戲的金手指巨集,xml格式。
每個壓縮包都有數萬的xml檔,但壓縮檔卻只有10MB大小,解壓後也不過60MB大而已。

您可以測試解壓到磁碟機,花了多少時間。
將解壓的檔從磁碟機A,搬到磁碟機B(尤其是傳統硬碟)花了多久。
若有網路磁碟機,也請試看看。看小弟說的是否廢話沒有差別。
0
-
LV. 13
GP 20
8 樓 帥到沒朋友 adem921
GP0 BP-

作者標示-非商業性

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

借問一提,如果記憶體夠大,搬送檔案前面2G大概秒傳,一值持續搬檔案就會降得很快,但是閒置一段時間再搬又是秒傳狀態。
我都是記憶體當硬碟空間再搬過去硬碟裡面。

有時候複製檔案傳送會比剪下貼上還快,有時候沒有差別。不知道是不是大小檔案有關係?

0
-
LV. 28
GP 2k
9 樓 佴弌 X21999125X
GP4 BP-
來分享一下我的測試紀錄
我建立了1GB的RAMdisk  把"XML Cheat Collection for MAME 0.206 (Release Date: 8th February 2019)"解壓縮放在裡面
然後我測試了三個方法
1.直接把資料夾從RAMdisk複製到HDD上
2.把資料夾壓縮成tar,複製到HDD上,到那邊用7-zip解壓縮
3.xcopy /Q /E (RAMdisk裡的cheat資料夾) (HDD上的cheat資料夾路徑)
*我電腦上面用的複製軟體是Teracopy  不是Windows內建的複製功能
** 在測試時電腦有約6GB的可用記憶體空間
***我沒有探討Windows的快取功能對實驗造成的影響,我連續做了三個測試,中間沒有重新開機

實驗結果:
花費時間: 影片內7.516秒處到4分40.916秒處  花了4分鐘又33.4秒
壓縮花費時間:影片11.2秒處到58.133秒處  花了46.933秒
複製花費時間:懶得算...
解壓縮花費時間:影片1分7.083秒處到4分11.316秒處  花了3分鐘又4.233秒
壓縮+解壓縮花了3分鐘又51.166秒
3. xcopy /Q /E (沒有影片  因為他錄到我螢幕保護程式跳出來)
花了大約6分鐘

結論:
在這次實驗裡(複製138834個檔案) 壓縮+解壓縮大概快了42秒
4
-
LV. 27
GP 897
10 樓 nanri nanri
GP2 BP-

作者標示-非商業性

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

我來總結一下,
複製小檔案本來就是在操磁碟的4K寫入速度,雖然OS會有磁碟快取,
不過磁碟快取有容量、檔案數目的限制,
一旦頂到二者之一的上限,原型就畢露了...
上萬個檔案這對磁碟快取來說根本是超量負載...
通常磁碟快取的容量約莫在幾百MB~幾GB之間,看你的記憶體大小與OS規劃,
然後檔案數目也不會大到幾萬,通常都是幾百到幾K之間,
(這數目OS通常不會設到很大,牽扯到記憶體空間利用率)
而且這個磁碟快取是寫入與讀取共用的,等於你又讀又寫就會互相排擠...

至於為什麼磁碟上的cache沒有頂住?其實原因跟OS上的限制差不多...
只不過磁碟上的cache是以sector計算,而不是以檔案數目計算...
一樣有其上限,就算128MB通通用來做寫入快取不計算索引(128M/4k)也才三萬多條,
實際上那記憶體還有其他的用途,不會完全運用在磁碟快取...
所以實際上的可運用數目是遠低於三萬...

至於傳統硬碟的IOPS有多少?頂多就是到一百多,
按照上面所提的13萬多檔案/100=1388秒,這是關掉OS磁碟快取所需的時間,
為什麼能在184秒~360秒之間完成?
這就是磁碟快取有發揮到作用的結果...

如果你是骨灰級的玩家,
曾經在純DOS環境玩過elf出的謎game,
沒掛smartdrv,
在從大補x解壓縮到硬碟那種龜速就知道了...
(ex:dra4、nanpa2等檔案上千的遊戲)
2
-
LV. 13
GP 20
11 樓 帥到沒朋友 adem921
GP0 BP-
Teracopy  這個以前用過速度好像很慢,我不懂他的設定。

Q-Dir.exe剛剛測試複製 貼上跟剪下 貼上的速度是差不多的。如圖約30秒內。RAM到HDD
0
-
未登入的勇者,要加入 12 樓的討論嗎?
板務人員:

1319 筆精華,08/17 更新
一個月內新增 1
歡迎加入共同維護。


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

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