工具:

工具:

我知道 Linux 是为多用户/并发进程而构建的,但在企业层面,它们许多用于单个(但很大)的应用程序来支持内部服务,而这些服务仅为极少数客户提供服务。

在这样的用例中,我们应该如何调整系统或内核(特别是 Red Hat Linux、Fedora、CentOS)来优化场景?尽量减少延迟,减少上下文切换,减少本地磁盘 I/O。

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

答案1

性能调优既是一门黑魔法,也是一门科学。关于它的完整书籍已经出版,其中包括相当一部分供应商文档

首先要进行良好的监控,然后增加负载,获得基线,然后才开始调整和观察您的调整是否产生了预期结果。
反复进行,直到获得最佳结果。

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

对于您的用例,RHEL 7 配置文件latency-performance听起来你可能会受益匪浅:

latency-performance专注于降低延迟的服务器配置文件。此配置文件适用于延迟敏感型工作负载,这些工作负载可从 c 状态调整和透明大页面的 TLB 效率提高中受益。此配置文件通过设置intel_pstate和来提高性能而不是节能max_perf_pct=100。它启用透明大页面,使用cpupower设置性能 cpufreq 调节器,并请求cpu_dma_latency的值1

对于更常规的 Linux 调优布兰登·格雷格制作了许多可视化图表,说明了在系统的哪个部分应该使用哪种工具,这些图表可以作为非常好的备忘单:

工具:

性能可观察性

使用哪些选项来sar监控:

<code>sar</code> 选项

并且密切相关:

Linux 基准测试工具

将观察结果转化为调整:

调优工具

相关内容