PALMisLIFE 討論區
標題:
寫入檔案量大size小所造成的效能降低 該如何解決
[列印本頁]
作者:
wind001
時間:
2007-11-22 14:43
標題:
寫入檔案量大size小所造成的效能降低 該如何解決
先說明我的遇到的問題,因為應用的需求,
程式會在同時間內開啟寫入多個小檔案(約小於4K),
當資料量少時,效能表現還好,
但當資料量時,quete的數量會變多,
原本我們的解決方法是因為此狀況i/o bound的問題,
想說透過硬體解決,因此我們使用ssd來測試,
測試結果發現,當block size=32k的時候,效能表現會是最好 約等於規格上所列
但當block size小於32k時(16、8、4、1)低時,效能成等比下降,
因此效能會比原本使用hdd還來的不好,
若從系統調校的方面來看,
不知是否有方法可以改善這種情況
[
本文最後由 wind001 於 2007-11-22 14:50 編輯
]
作者:
gcvincent
時間:
2007-11-22 15:44
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
加硬碟,
1.
2 H.D.D.,把system pagefile, temp, program swap分2顆放
2.
3 H.D.D. 把system pagefile, temp, program swap分3顆放
3.
加RAM, 切ramdisk, 放pagefile, temp. program swap
4.
1+2一起上. 加ram, 加硬碟.
不怕死的話, 組raid 0 放temp/ program swap
我不會寫程式也不懂硬體...
作者:
freeman_hsieh
時間:
2007-11-22 17:07
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
用ssd 反而變慢的原因(我猜的)
其實 flash 的速度是快在讀取,寫入速度並不會很快,而且有 block write 的特性,所以資料區塊越小寫入反而越慢....(搞不好32k 剛好就是一個 block 大小.....)
所以還是找找 disk cache (硬碟快取)程式來掛掛看或是改windows 裡的相關設定好了 .....
如果要衝硬體......
弄個 raid 0 或 0+1 ?
dram插多點弄 ramdisk ?
技嘉 i-ram ? (如果資料塞的進去 / 電腦會裝ups 的話?)
http://www.mobile01.com/topicdetail.php?f=174&t=109838
[
本文最後由 freeman_hsieh 於 2007-11-22 17:51 編輯
]
作者:
wind001
時間:
2007-11-23 15:03
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
這幾天又看了幾篇討論文章
有人提到supercache這套軟體,可以用RAM來增加硬碟的cache提高效能
不知道這些類似的工具,對於資料量小(小於1k)但比數多的應用環境
是否有效用呢
作者:
freeman_hsieh
時間:
2007-11-23 15:33
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
理論上會----因為可以減少硬碟的寫入次數,累積一定數量的資料後,再一次寫入硬碟.....
實際上,因為硬碟也有硬碟介面/cache / 機械動作時間的一定限制 ,所以能加快多少要試才知道........而如果你寫入的資料位置又是隨機的話(例如硬碟內資料數十萬筆,你寫入的資料位置是讓磁頭可以從頭到尾隨便跑的那種)......那......希望你資料量別太大,然後考慮用 i-ram 或是 ramdisk 吧......
另外,因為 '程式會在同時間內開啟寫入多個小檔案(約小於4K)' , 所以可能也要探討硬碟介面(sata/ide)這部份是不是被程式塞爆了,但是這部份牽扯到ide 驅動程式/不同主版晶片........
[
本文最後由 freeman_hsieh 於 2007-11-23 16:10 編輯
]
作者:
wind001
時間:
2007-11-25 08:09
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
在我的應用環境上,用supercache ii 在SSD(固態硬碟)上面測試,
得到的結果,似乎沒有顯著的效益,
在原先沒有使用SUPERCACHE II 時,原本執行效率比較好的環節,
在用了super cache ii時,有效能降低的情形發生。
在固態硬碟上,如果要加速小檔案的寫入效能,還有什麼方法可以解決嗎?
或者如果要讓我的應用環境(小檔案(小於1k)、數量大(大約1000個檔案)、資料量小(40~500byte)同時寫的速度加快,有哪些硬體裝置可以發揮效用呢?
作者:
mayakeq
時間:
2007-11-26 10:47
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
如果supercache還沒移掉的話
可以試試看把記憶體調整成不同的大小
我有一個股票程式,開128mb還是有點延遲的現象(傳統硬碟,還是比沒有開好)
開384mb就很順了
所以有可能是設定的關係
作者:
gcvincent
時間:
2007-11-26 13:20
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
反正才1M, 切幾M ramdisk,
將小檔放在ramdisk, 不要放在SSD上.
作者:
xdavid
時間:
2007-11-26 13:26
標題:
Re: 寫入檔案量大size小所造成的效能降低 該如何解決
應用環境可改變嗎? 同時開1000個檔案, 如果又有Relation的話, 光Relation就會把資源耗光光, 可有辦法把檔案結構化併成小量檔案, 讀/寫會快很多.
如不行的話是否可改變不同時讀那麼多檔案, 比如一次20個, 用完就放出再讀下20個, 但這樣在Transaction的Commit control上會較困難.
歡迎光臨 PALMisLIFE 討論區 (http://f.pil.tw/)
Powered by Discuz! X2.5