redhat调整单个应用程序与less数TCP客户端

我知道linux是为多用户/并发进程构build的,但是在企业级,很多是用于单个(但是大的应用程序)来支持内部服务,其中服务的客户端很less。

在这种用例中,我们应该如何调整系统或内核(特别是redhat / fedora / centos)来优化场景? 尽量减less延迟,减less上下文切换,本地磁盘I / O很less。

会话长度可以是持久的(因为客户端的数量很less),数据大小的交换很小,但非常频繁,例如每秒消息1k到2k,大小从40到100字节。

性能调整既是一门黑色艺术,也是一门科学。 已经写完整的书籍,包括相当多的供应商文档的一部分

你从良好的监控开始,加载负载,得到一个基线,然后才开始调整,观察你的调整是否有预期的结果。
冲洗并重复,直到获得最佳结果。

您没有提到您的主要RHEL或CentOS版本,但它们都包含自动调优,例如tuned守护进程。 可以从tuned-adm listselect预定义的性能configuration文件,然后使用tune-adm profile <profile-name>进行激活。

对于您的使用情况,RHEL 7configuration文件latency-performance听起来像您可能从中受益的那样:

latency-performance服务器configuration文件侧重于降低延迟。 此configuration文件build议用于对延迟敏感的工作负载,这些工作负载可从c状态调整和透明巨大页面的TLB效率提高中受益。 此configuration文件通过设置intel_pstatemax_perf_pct=100intel_pstatemax_perf_pct=100 。 它启用透明的巨大页面,使用cpupower设置性能cpufreq cpu_dma_latency器,并请求cpu_dma_latency值为1

对于更一般的Linux调整, Brandan Gregg已经制作了许多可视化的图表,描述了哪些工具可以用在你的系统的哪些部分,

工具:

性能可观测性

sar使用哪些选项来监控:

<code> sar </ code>选项

和密切相关:

Linux基准测试工具

将观察转换为调整:

调整工具