如何调节Ext4文件系统来获得优化性能?

日期: 2012-03-25 作者:Sander van Vugt翻译:Mark 来源:TechTarget中国 英文

在普通的Ext4文件系统创建中会用到默认设置。对于默认的工作负载,这些设置正常工作。但是如果你的服务器显示一个非普通的性能模式时,你可能会从调节Ext4文件系统的性能中受益。本篇文章中,我们就来看看如何将Ext4推动到性能的最大值。

  调查你的系统   优化一个Ext4文件系统不受到要调整这个文件系统的限制。第一步要确保主机服务器可以处理一个快速的文件系统,通过分派足够大量的RAM开始。一个调整好但内存不足的文件系统不能提供优化的性能,因为没有足够的空间来恰当地缓存这个文件系统元数据表。   要知道你的服务器是否有足够的内存,就使用免费命令。

如果缓存器和缓存使用的总内存超过了RAM总量的20……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在普通的Ext4文件系统创建中会用到默认设置。对于默认的工作负载,这些设置正常工作。但是如果你的服务器显示一个非普通的性能模式时,你可能会从调节Ext4文件系统的性能中受益。本篇文章中,我们就来看看如何将Ext4推动到性能的最大值。

  调查你的系统

  优化一个Ext4文件系统不受到要调整这个文件系统的限制。第一步要确保主机服务器可以处理一个快速的文件系统,通过分派足够大量的RAM开始。一个调整好但内存不足的文件系统不能提供优化的性能,因为没有足够的空间来恰当地缓存这个文件系统元数据表。

  要知道你的服务器是否有足够的内存,就使用免费命令。如果缓存器和缓存使用的总内存超过了RAM总量的20%,它就会工作。但是越多就越好。理想来说,你需要大概40%的服务器内存用在缓存器和缓存上。

  下一步,检查你的磁盘。为了获得尽可能好的性能,你将需要用到尽可能好的磁盘。这不是说你只需要SSD磁盘。但是如果你需要速度,不要使用7200 RPM SATA,要使用15000 RPM串列SCSI(SAS)代替。

  还要将磁盘域控制器参数纳入考虑。确保启用了电池备份的缓存。为了增加写入性能,将写入配置为延迟。如果你更注重读取性能,配置预读取来增加机会,让你下一步需要的数据更可能在你需要时已经在内存中负载了。

  优化Ext4文件系统

  服务器也检查过了,现在我们就来优化Ext4文件系统。你需要考虑两个东西,然后你就可以检查更具体的性能参数了。

  几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,使用/etc/fstab中的“一次都不(noatime)”安装选项。没有这个选项,每次文件被访问(包括读取)时,这个文件的元数据都会变更。大部分服务器没有对这些信息做处理,所以关闭它就行了。

  另一个有意思的安装选项是dealloc选项,它打开了延迟的块配置功能。这个功能在最后时刻决定写入文件发生时使用哪个块,优化这个写入程序。

  另一个重要的安装选项调整文件系统日志。有三种日志模式:data=journal、data=ordered和data=writeback。默认设置data=ordered提供性能和防护之间的最佳平衡。但是如果你的服务器需要写入大量数据,它可以长期冻结你的服务器。如果是这种情况,使用iotop等工具,你会看到kjournald程序的高负载。如果你的服务器遇到了这种行为,使用data=writeback选项来获得更好的写入性能。但是使用这个选项增加了风险,最新修改的数据会在宕机事件中崩溃。

  创建文件系统来获取更好性能时,可以用到多个选项。第一个是inode大小。inode用来存储元数据,如果扩展属性或访问控制列表(ACL)用在一个文件系统上,默认的inode不足以存储所有数据并且配置了二级的inode。这也就是说,所有的文件访问你都需要用两个操作来代替一个。使用有-I 256选项的mkfs,将inode大小从128设置成256。完全关闭用户扩展属性和ACL不是一个好方法,因为你需要它们来使用Ext4扩展。

  虽然默认的Ext4文件系统优化得很好,转向你的文件系统可能会归结到创建一个理想的服务器硬件配置。noatime的安装选项在多数情况下提供性能优势。接着优化取决于你的服务器正在做什么。文件系统性能不佳的大部分服务器都是因为不能以高效的方式写入数据。

相关推荐