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

Modified on: Sun, 20 Oct 2019 20:20:02 +0800

我们将在约1000台服务器上推出tuned(和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

增加dirty_ratio可能意味着峰值处的写入性能会提高,因为我们现在拥有更大的缓存,但是当缓存填充IO时,IO将被阻止相当长的时间(几秒钟)。

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

最佳答案

简短的回答是,任何调整都是猜测,只有在使用经验数据备份时才有价值:尝试一下。测量它。如果您不喜欢它,请调整它。

更长的答案:

  

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

没有。增加脏比率意味着您的系统不太可能进入需要开始阻止写入的状态。缺点是使用的内存越多,中断时数据丢失的风险就越大。

  

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

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

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

作者:symcbean

相关问答

添加新评论