如何最佳化XFS呢?

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

如何最佳化XFS呢?

文章scsi » 週一 6月 02, 2008 7:25 pm

版上有人也是使用XFS當作Linux的File System的嗎?

我之前都是使用reiserfs,最近開始使用XFS
我作了一個簡單的測試,發現xfs的速度慢的離譜,讓我很納悶
測試的檔案為
代碼: 選擇全部
ftp://rsync2.tw.gentoo.org/Linux/Gentoo/snapshots/portage-latest.tar.bz2

測試的方法為直接將此壓縮檔在原地解開,然後刪除解開的東西
指令如下
代碼: 選擇全部
time tar -xjf  portage-latest.tar.bz2
time \rm -rf  portage


我的測試結果如下

1, tmpfs
解壓時間
代碼: 選擇全部
real    0m38.032s
user    0m38.710s
sys     0m8.209s


刪除時間
代碼: 選擇全部
real    0m1.946s
user    0m0.152s
sys     0m1.796s


評語:真的很快

2. reiserfs
解壓時間
代碼: 選擇全部
real    0m50.778s
user    0m46.227s
sys     0m30.522s


刪除時間
代碼: 選擇全部
real    0m16.943s
user    0m0.248s
sys     0m16.689s


評語:快, cpu滿載

3. xfs
解壓時間
代碼: 選擇全部
real    5m0.446
user    0m42.799s
sys     0m25.494s


刪除時間
代碼: 選擇全部
real    2m32.583s
user    0m0.420s
sys     0m13.441s


評語:怎麼會這麼慢,但是cpu的使用率超低

我在一般使用的時候覺得速度上還ok,開機的時候甚至比reiserfs快一點
但是在這樣的測試中,卻發生讓我很困惑的結果

我目前的調整如下
mkfs.xfs -l internal,size=128m -d agcount=16
mount -o noatime,logbufs=8

不知道xfs是否需要特別的調整呢?
是不是能請大家提供一下心得跟意見呢? :-D
世界再大,不過是妳我之間的事
scsi
可愛的小學生
可愛的小學生
 
文章: 75
註冊時間: 週四 12月 11, 2003 12:08 pm
來自: 台北

文章企鵝狂 » 週二 6月 03, 2008 12:08 am

應該是你弄錯了
代碼: 選擇全部
reiser
real    0m50.778s
user    0m46.227s
sys     0m30.522s

xfs
real    5m0.446
user    0m42.799s
sys     0m25.494s

filesystem是運作在kernel space
所以要看的不是real也不是user而是sys
他反而還比較低...
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章scsi » 週二 6月 03, 2008 1:00 am

企鵝狂 寫:應該是你弄錯了
代碼: 選擇全部
reiser
real    0m50.778s
user    0m46.227s
sys     0m30.522s

xfs
real    5m0.446
user    0m42.799s
sys     0m25.494s

filesystem是運作在kernel space
所以要看的不是real也不是user而是sys
他反而還比較低...


但是同樣是做解 tar.bz2
我實際的等待真的就是那麼長,等到快睡著了…

很奇怪的是在XFS的partition上解tar.bz2時的cpu loading竟然沒有到達100%

:shock:
世界再大,不過是妳我之間的事
scsi
可愛的小學生
可愛的小學生
 
文章: 75
註冊時間: 週四 12月 11, 2003 12:08 pm
來自: 台北

文章企鵝狂 » 週二 6月 03, 2008 1:18 am

當時有其他process在跑嗎?
檔案應該是放在硬碟上吧,是不是都是同一顆硬碟?
另外,您測試了幾次阿?
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章scsi_ » 週二 6月 03, 2008 9:31 am

企鵝狂 寫:當時有其他process在跑嗎?
檔案應該是放在硬碟上吧,是不是都是同一顆硬碟?
另外,您測試了幾次阿?


我當時是在KDE的環境下,只開一個Konsole
在執行動作的時候我並沒在再使用其它的程式

我當時以工作列上的系統監視器觀查cpu的使用率,發現cpu的load異常的低,後來以top來看也是一樣的結果

硬離是同一顆,一個是hda2(xfs),另一個是hda3(reiserfs)

我承認,我只測一次,我再多測幾次看看 :kuso_1.09:
scsi_
 

文章blc_ » 週二 6月 03, 2008 10:52 am

硬碟內外圈…
或許是剛好有什麼排程的東西干擾到了。
blc_
 

Re: 如何最佳化XFS呢?

文章jesse.sung » 週二 6月 03, 2008 12:51 pm

scsi 寫:我目前的調整如下
mkfs.xfs -l internal,size=128m -d agcount=16
mount -o noatime,logbufs=8

不知道xfs是否需要特別的調整呢?
是不是能請大家提供一下心得跟意見呢? :-D

記得以前在 mailing list 上看過一封信,他建議一般使用下,在 mkfs.xfs 時不用特別調整,用預設值就好;然後在 mount 時用 noatime,nodiratime,logbufs=8,logbsize=32k

給您參考。 :-)

update:
後來又找到這一篇
noatime 包含 nodiratime,所以不用特別指定。
BR,
Wen-chien Jesse Sung
頭像
jesse.sung
程式開發組
程式開發組
 
文章: 654
註冊時間: 週三 9月 04, 2002 9:43 am

文章阿信 » 週二 6月 03, 2008 1:51 pm

還有一招

mkfs.xfs -l size=32m

可以指定transaction log的總大小,log就不會塞爆整個硬碟了。因為預設format的參數是會動態增加大小。

這個動作跟reiserfs類似,在format之後會預留32MB來當transaction space.
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

Re: 如何最佳化XFS呢?

文章阿信 » 週二 6月 03, 2008 1:57 pm

scsi 寫:我在一般使用的時候覺得速度上還ok,開機的時候甚至比reiserfs快一點
但是在這樣的測試中,卻發生讓我很困惑的結果

我目前的調整如下
mkfs.xfs -l internal,size=128m -d agcount=16
mount -o noatime,logbufs=8

不知道xfs是否需要特別的調整呢?
是不是能請大家提供一下心得跟意見呢? :-D


Hi, 弟認為file system的performance應該用bonnie++之類的軟體會比較精確。

在google上有滿多file system的comparison,用來用去,都沒有其完美的 :-)

而小弟因為愛好收藏影片,所以採用XFS當作 file system,在大檔的操作上的確有他厲害的地方。但如果機子常常當機等,也是有滿大的機會crash.

目前弟有興趣的是ext4的檔案系統。不曉得有沒有什麼令人耳目一新^^
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章scsi » 週二 6月 03, 2008 10:23 pm

我剛剛又試了一次,還是差不多的結果

不知道有沒有人也是使用xfs的,能幫幫試試看是不是跟我一樣的結果呢? :crying: :crying: :crying:

已使用以下參數了
defaults,noatime,logbufs=8,logbsize=32k,biosize=16
世界再大,不過是妳我之間的事
scsi
可愛的小學生
可愛的小學生
 
文章: 75
註冊時間: 週四 12月 11, 2003 12:08 pm
來自: 台北

文章企鵝狂 » 週二 6月 03, 2008 10:49 pm

修正一下我之前的發言,我講的是錯的
用 time 測出來的是 tar rm 這兩隻程式所用的時間
而不是 kernel xfs driver的時間。

另外,也許你也可以測試一下只bunzip 不 tar開。

在另外,我想這個可能就不能tune了,有人說是xfs本身的關係
http://pthree.org/2008/04/23/xfs-vs-reiser/

XFS is very slow at creating files, very slow at deleting files. Well, that’s not entirely true: In ext3 and reiserfs, deleting files is an O(n) operation: Time taken to delete a file increases linearly with the size of the file. In XFS, it’s nearly O(1): deleting a 50TB file and deleting a 1KB file take the same amount of time (in case you’re curious, deleting 50TB worth of 200GB files in ext3 apparently takes 2 weeks on a decent SCSI storage cluster), but that constant amount of time sucks for small sized files. This is the effect that you see during an installation.
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章scsi » 週二 6月 03, 2008 11:16 pm

一語點醒夢中人…感謝您提供的資料,這很可能就是問題的所在了

XFS is very slow at creating files, very slow at deleting files.

在這個tar檔裡,大約有10萬個小檔跟近2萬個目錄

我試了一下把tar.bz2 解成tar,果然很快就完成了,約20秒
xfs還reiserfs快一點點(20s vs 23s, 可能還在誤差範圍內)

我查到的資料都是說刪檔比較慢,沒有說到建檔,所以我以我一直很不解 :shock: ,現在惑然開朗了:-D

結論:是XFS的建檔跟刪檔的速度不是比較慢,而是很慢:finger1:

所以一般作業還好,但是需要常常快速建檔跟刪檔的話, 如gentoo的portage系統,最好不要用XFS :mrgreen:
世界再大,不過是妳我之間的事
scsi
可愛的小學生
可愛的小學生
 
文章: 75
註冊時間: 週四 12月 11, 2003 12:08 pm
來自: 台北

文章阿信 » 週三 6月 04, 2008 10:43 am

scsi 寫:一語點醒夢中人…感謝您提供的資料,這很可能就是問題的所在了

XFS is very slow at creating files, very slow at deleting files.

在這個tar檔裡,大約有10萬個小檔跟近2萬個目錄

我試了一下把tar.bz2 解成tar,果然很快就完成了,約20秒
xfs還reiserfs快一點點(20s vs 23s, 可能還在誤差範圍內)

我查到的資料都是說刪檔比較慢,沒有說到建檔,所以我以我一直很不解 :shock: ,現在惑然開朗了:-D

結論:是XFS的建檔跟刪檔的速度不是比較慢,而是很慢:finger1:

所以一般作業還好,但是需要常常快速建檔跟刪檔的話, 如gentoo的portage系統,最好不要用XFS :mrgreen:


弟認為這個結論並非完全正確,而且引言的文章也有說明。
XFS的特性本來是依不管刪什麼檔案大小,速度皆相同。

如果單一檔案的資料大,XFS速度快的特性就會出來了。
XFS本來是SGI所做的,也是為了因應大檔案所產生的filesystem。

所以弟認為要針對需求來選定適當的filesystem. 就像reiserfs對小檔案的速度是非常快的。架設news server時,放信件的partition用reiserfs就有明顯的速度。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章edward_leu » 週一 10月 27, 2008 3:06 pm

建議可調整AG的size,或升級xfs的版本,目前最新的版本為2.9.x,此版本在效能上有做改善.
for example:
mkfs.xfs -f -d agsize=1GB (如果總容量有10TB,照這個參數設定可增加10%的寫入速度)
agsize最小為16MB,最大為1TB.
可以照總容量來做適度的調整.
edward_leu
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週一 10月 27, 2008 3:01 pm

文章edward_leu » 週一 10月 27, 2008 3:07 pm

sorry 參數寫錯了.
更正:

mkfs.xfs -f -d agsize=1g
edward_leu
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週一 10月 27, 2008 3:01 pm

下一頁

回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客