了解RedHat推荐的调整配置文件


8

我们将在约1000台服务器上推出已调优(和numad)的服务器,其中大多数是NetApp或3Par存储上的VMware服务器。

根据RedHats文档,我们应该选择virtual-guest配置文件。它的作用可以在这里看到:tuned.conf

我们正在将IO调度程序更改为NOOP,因为VMware和NetApp / 3Par都应该为我们做足够的调度。

但是,经过一番调查后,我不确定它们为什么会增加vm.dirty_ratiokernel.sched_min_granularity_ns

据我所知,vm.dirty_ratio增加到40%意味着对于内存为20GB的服务器,除非先vm.dirty_writeback_centisecs被击中,否则在任何给定的时间8GB都可能是脏的。在刷新这8GB的空间时,该应用程序的所有IO都将被阻止,直到释放脏页为止。

由于现在我们拥有更大的缓存,增加dirty_ratio可能意味着在峰值时具有更高的写入性能,但是当缓存填满IO时,将再次阻塞更长的时间(几秒钟)。

另一个是为什么他们增加了sched_min_granularity_ns。如果我理解正确,则增加该值将减少每个epoch(sched_latency_ns)的时间片数量,这意味着正在运行的任务将有更多时间来完成其工作。我可以理解这对于线程很少的应用程序来说是一件好事,但是对于例如。apache或其他线程很多的进程会不会适得其反?

Answers:


7

简短的答案是,任何调优都是猜测,只有在获得经验数据备份时才有价值:尝试一下。测量它。如果您不喜欢它,请对其进行调整。

更长的答案:

增加dirty_ratio可能意味着更高的写入性能... IO将被阻塞更长的时间

否。增加脏率意味着您的系统不太可能进入需要开始阻止写操作的状态。不利的一面是存在更多的内存使用空间,并且在中断时有更大的数据丢失风险。

意味着正在运行的任务将有更多的时间完成工作

进程通常会在其时间片到期之前产生。VM的问题在于您的计算机可能正在与其他VM争夺CPU和L1 / L2缓存-高级别的任务切换(由于抢占)对吞吐量有很大影响。通常部署到VM中的应用程序类型是受CPU约束的应用程序(Web服务器,应用程序服务器)。

是的,吞吐量的增加(适用于所有类型的应用程序)将以等待时间的增加为代价-但是,当大多数事务花费毫秒时,后者的数量级为微秒。如果您需要实时功能/非常低的延迟,那么您不应该使用VM。


真的。这些只是准则。调整您的口味。不过,我仍然对VM使用推荐的“最后期限”调度程序。
ewwhite

1
@ewwhite为什么您建议deadline在具有适当存储的VMware上推荐NOOP?
espenfjo 2013年

@espenfjo好吧,因为RedHat建议deadline...但也请参阅我的答案。
ewwhite

12

这是调整adm配置的时间表...

我认为以表格形式查看它们会有所帮助。需要注意的主要是,默认的RHEL6设置很糟糕!另一件事是,企业存储和虚拟来宾配置文件是相同的,只是虚拟来宾侧的交换性降低了(有意义,对吗?)。

调整的配置文件

关于存储I / O电梯的建议,您在存储层上有几层抽象。使用空操作调度会,如果你正在使用RDM或直接提交到存储虚拟机是有意义的。但是,由于它们将在NFS或VMFS上运行,因此我仍然喜欢截止日期调度程序提供的其他调整选项

调优的配置文件可以在正在运行的系统上即时更改,因此,如果您有任何疑问,请测试您的应用程序以及特定的环境和基准。


1
好的谢谢。了解您deadline现在为什么想要:)
espenfjo 2013年

8

观看Summit提供的Shak和Larry的性能调优视频,他们深入讨论了已调优的配置文件。

预期的最大收获之一是,概要文件只是一个推荐的起点,而不是不可变的数字,这些数字对于每种环境都是完美的。

从一个配置文件开始,然后试着进行设置。生成类似生产的良好测试工作负载并衡量对您的业务很重要的指标。

一次更改一件事,并在每次迭代中记录每个结果。完成后,查看结果并选择提供最佳结果的设置。这是您理想的调整配置文件。


与Shak&Larry的谈话有链接吗?
亚伦·科普利2013年

2
我已将视频链接添加到我的答案中。
suprjami
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.