我正在使用此控制器、文件系统和磁盘设置运行多个文件服务器。
它们都存在写入性能不佳的问题,一旦 256MB BBU 写入缓存已满,我就会得到非常高的 iowait(> 40),写入速度会下降到几 MB/s,
如果服务器在写入时遇到中等到重度读取,情况会变得更糟。
我正在寻找有关如何调整控制器或文件系统以提高写入性能的建议。
有关 Raid 阵列和控制器的一些数据:
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 命令的默认选项创建文件系统。
编辑:
为了说明我的用例,我将描述这些服务器正在做什么。
它们通过 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
答案1
答案2
你可以再次使用 运行 bonnie++ -n 1024
,这样它会创建 1024 个文件而不是 5 个,所有这些 +++ 意味着创建、读取和删除 5 个文件的速度太快了,无法给你任何数字来比较,这样你就可以知道 pQd 上面建议的哪些优化可以提供帮助