UFS+S的性能提高

1、如果服務器用作提供靜態文件的WEB服務,打開SOFTUPDATE與否對磁盤性能都沒有太大影響?

SoftUpdates只優化寫元數據的性能,因此我認爲開不開應該沒有影響。

2、如果作DATABASE應用,性能有很大提高,風險也非常非常高?

如果你的數據庫服務器寫的對(即,每次commit操作都作fsync),則不會有什麼影響。一些不負責任的操作系統/文件系統/數據庫系統的這類操作不是同步進行的,但FreeBSD是(這也是很多評測報告聲稱FreeBSD慢的原因,因爲某些其它OS是async的mount)。

性能提高是否很大則取決於你的數據庫應用的性質。一般來說,儘管打開SoftUpdates會有一些改善,但未必很明顯,因爲典型的數據庫程序並不經常導致文件系統的元數據更新操作(a.k.a. trunc, creat, unlink等等)。頭腦正常的數據庫系統開發人員通常是預先分配空間,包括日誌和數據本身,SoftUpdates能加速的部分基本上也僅限於此。當然,如果你使用的數據庫服務程序沒有這樣做,則也可能會有比較大的改善。

3、即使打開SOFTUPDATE碰到突然斷電的情況也不會造成系統崩潰,僅僅丟失數據而已?

對於IDE硬盤,要做到這一點必須關閉IDE寫入緩存(日誌系統也是如此,但很多實現並不這樣做)。方法是在 /boot/loader.conf 裏面加入 hw.ata.wc="0"。此選項會顯著降低磁盤的寫入性能,但對於保持數據一致性是非常關鍵的。

SCSI硬盤一般沒有這樣的問題(它們通常支持tagged queue,而且不會對操作系統撒謊)

如果你能確信磁盤不欺騙操作系統(比如說明明只是在cache裏面愣說已經寫入了,方法是禁用IDE寫入緩存,或者啓用SCSI的tagged queue能力),則可以確定SoftUpdates在斷電時不致損毀FS,你丟失的僅限於最多最後30秒寫入或創建的文件數據,以及少量磁盤空間。對於FreeBSD 5.x,由於新加入的後臺FSCK,這些空間可以在系統正常啓動之後再行回收,從而大大減少啓動所需要的時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章