我使用这个控制器,文件系统和磁盘设置运行几个文件服务器。
他们都遭受了糟糕的写入性能,一旦256MB的BBU写caching满了,我得到真正的高iowait(> 40),写入速度下降到几MB /秒
如果服务器在写入过程中遇到中重读取,情况会更糟糕。
我正在寻找如何调整控制器或文件系统以提高写入性能的build议。
有关RAIDarrays和控制器的一些数据:
RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3 Size:5.456 TB State: Optimal Stripe Size: 64 KB Number Of Drives:4 Span Depth:1 Default Cache Policy: WriteBack, ReadAdaptive, Cached, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAdaptive, Cached, No Write Cache if Bad BBU Access Policy: Read/Write Disk Cache Policy: Enabled Encryption Type: None Product Name : PERC 6/i Integrated FW Version : 1.22.12-0952 BIOS Version : 2.04.00
有关文件系统的数据:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
使用默认挂载选项,并使用mkfs.ext4命令的默认选项创build文件系统。
编辑:
只是为了说明我的用例,我将描述这些服务器在做什么
他们通过lighttpd以40-80 MB / s的速度提供文件,通过ftp定期将新文件下载到服务器。
这些文件在800MB到6GB之间。
提供这些文件效果很好,没有任何的IOWait,但是每次ftp传输都会得到新的文件,你可以看到它真的很糟糕。
根据要求,这里是bonnie ++输出:
Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP XXXXXXX 8G 580 99 94284 14 61903 9 2853 83 189033 11 420.5 8 Latency 14004us 825ms 1548ms 105ms 202ms 98036us Version 1.96 ------Sequential Create------ --------Random Create-------- XXXXXXX -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 5 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ Latency 406us 535us 598us 374us 21us 60us
所有服务器上使用的磁盘为D-WMAY03176700WDC WD2002FAEX-007BA0
随机几点:
你可以用-n 1024再次运行bonnie ++,所以它创build了1024个文件而不是5个,所有那些+++意味着创build,读取和删除5个文件的速度太快,不能给你任何数字进行比较,这样你可能会知道上面pQd提出的优化可以提供帮助