硬碟同時讀取寫入

最近几年正是尴尬的时间段:

一方面大容量 SSD 价格仍然是传统硬碟的若干倍。2TB SATA SSD 价格大约为 2TB HDD 的 5 倍以上, NVMe SSD 价格则更高。

另一方面传统硬碟垂死挣扎,普及 SMR 技术后性能急剧劣化,不适合用于 BT 下载直接访问.

因此在相当长的一段时间内,针对机械硬碟做 I/O 方面的优化仍然具有一定现实意义.

不好意思, 只是個人粗淺想法, 感覺不是很樂觀… 原因是很多大型商用儲存設備, 面對更高壓的IO存取, 系統開發商也沒有特別強調對傳統硬碟優化(由 隨機 改成 循序 存取或用輪替的.)… 來強化單工的效能… 與其期待這虛幻的功能… 才會建議買個 ssd 立馬解決… 或許大神有其他解法也說不定… 呵呵!

20200103_205328_066-%t
應該看到gif吧

感覺就是一起讀寫一會,一起停工一會
軟件層面沒辦法就沒辦法了=。=

你的很特別讀寫一起動… 我是掛網路磁碟… 所以只要看流量即可… 不清楚其他網友掛實體碟是否跟你一樣…

01

SMB 上下傳怎麽會這麽不對等

我上傳有限制流量… peer 有多餘奶水分給我, 自然會不對稱…

補充: 網路有含p2p, smb, 遠端桌面流量, 還有剛好再算 hash… 全部混再一起…

另外看你硬碟毫秒都在10幾上下, 很理想的狀態… 理論上不會拖慢其他使用體驗… 還是你只是看不順眼…
image

肯定看不順眼啦,硬碟成了瓶頸,硬碟讀+寫速度才50-60MB/s左右,網絡上+下速度去到20-30MB/s左右就會掉下來,下載斷斷續續的:
20200103_225239_541-%t

想到一個解套方式, 你去買便宜 ssd 衝速度, 下載完彗星自動搬到下一個磁碟… 可以試試看!

不想BT動到其他硬碟,現在都是在這個硬碟下載完,自動停止後才手動抄去其他硬碟,而也不是上傳影響下載

現在的SSD同時讀寫時,不會變慢嗎?

BT 分塊下載中是很散亂的(每個 peer 用戶要的地方不同) sdd 強項不就是 4k 存取檔強過傳統碟, 循序更不用說, 拿來算哈希嚇嚇叫…

試一下 nas <-> ssd 互傳… 結果是 nas 傳統硬碟是餵不飽
ssd 的速度… ssd (sata 3 可跑 500Mbytes, 同時讀寫好像也有 200Mbytes )

試著花園找一個熱門種子, 下載到本機 ssd 系統碟, 感覺也是喝涼水… 一整個順…
04

你看我貼圖瓶頸都在弱弱 cpu (省電)… 其他I/O都還好…

你也可以路徑指到其他硬碟小測看看, 看是用到硬碟王, 還是其他問題…

这年头,一块固态是必备的了,1TB NVMe最低价格当时只要699元

1.5TB SATA3.0 最低也才649元

嘿嘿… 最近才入手 1TB 也差不多這價便宜一點… 用來取代虛擬機的底層, 舊的 ssd 128G (用五年,健康率 90%) 換去當路由器的 swap, 跟一些外掛服務…

20200107_224717_629

姑且換個舊SSD來下載,算是workaround
寫入同時不斷讀取又不是上傳這點,真的沒有辦法檢查一下是讀取什麼,避免讀寫同時進行?

20200107_225942_890

猜測背景當時可能在算3份哈希表會用到大量讀取…

但不是應該整個任務下載完後才計算?

完成後會check

实际上每下载完成一个分片都会立即计算哈希值,如果错误就立即丢弃。其它 BT 软件基本是这样,比特彗星应该也差不多

猜测很可能与计算哈希有关。utorrent 有个功能 diskio.smart_hash,即下载完成的分片会在写入硬盘前,在内存中计算哈希,避免重复读取硬盘,不知 BitComet 有没有类似功能。 @wxhere15

如果没有这个功能,硬盘负载相当于加倍了?…

实际使用中发现 BitComet 下载时总会产生相近速度的磁盘读取,而 utorrent 2.2.1 和 qBittorrent 4.1.9.1 都没有这个行为。

用 Windows perfmon 监视硬盘读写速度,可见 Bitcomet 的读取曲线和写入曲线几乎重合,而 utorrent 和 qBittorrent 只有写入曲线,读取曲线几乎为零。(测试期间关闭上传)

改天再测试一遍截个图上来看看

換 ssd 讀寫效率多一倍… 先前網路還會因 io 忙碌停頓下來嗎?
image

沒有戰車電腦, 建議選預設… 取消表示要當場算(不確定算3份還是1份)… 下載過程中, 加重cpu&io使用資源…

都下載完就直接上傳做種, 沒必要這嚴謹, 重算哈希…
image

而且彗星預設也是 false
image

实际使用中发现 BitComet 下载时总会产生相近速度的磁盘读取

寫什麼讀什麼,感覺應該就是這個問題了

換 ssd 讀寫效率多一倍… 先前網路還會因 io 忙碌停頓下來嗎?

這沒有了,硬碟使用還不到50%

沒有戰車電腦, 建議選預設… 取消表示要當場算(不確定算3份還是1份)… 下載過程中, 加重cpu&io使用資源…

hash check if file changed, 雖然不確定file changed是不是指寫入硬碟,但true是check,false才是不check吧?

所以網速已沒有被IO拖慢? 另外你的設定與 Bitcomet 預設顛倒…

if file changed 預設是 true (建議下載前先算哈希,如果檔案內容有異動)
check on finished 預設是 false (感覺沒必要 true)

bitcomet_options [BitComet Wiki]
bittorrent.hash_check_if_file_changed (Since v1.26) :
This value is set to “true” by default. When BitComet finds any change in downloaded files at start-up, it will do a hash-check automatically, ensuring the download to proceed normally.

file changed 應該不是指寫入硬碟吧,不管true false都有讀取
估計是是指改變下載文件列表吧:

另外,這個forum是官方的?維護的師兄/大佬有沒有在看?