ste*_*reo 6 linux optimization tuning redhat centos
我知道 Linux 是为多用户/并发进程而构建的,但在公司级别,其中许多用于单个(但很大)的应用程序以支持内部服务,其中仅服务于很少的客户端。
在这样的用例中,我们应该如何调整系统或内核(特别是 Red Hat Linux、Fedora、CentOS)以针对该场景进行优化?为了最大限度地减少延迟,减少上下文切换,本地磁盘 I/O 非常少。
会话长度可以是持久的(因为客户端的数量只是几个),数据大小交换很小,但是非常频繁,例如每秒 1k 到 2k 的消息,大小从 40 到 100 字节。
性能调优既是一门黑色艺术,也是一门科学。已经写了关于它的完整书籍,包括相当多的内容作为供应商文档的一部分
您从良好的监控开始,增加负载,获得基线,然后才开始调整和观察您的调整是否达到预期结果。
冲洗并重复,直到获得最佳结果。
你没有提到你的主要 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 调优,Brandan Gregg制作了许多可视化图表,说明在系统的哪个部分使用哪个工具可以制作非常好的备忘单:
sar
进行监控: 归档时间: |
|
查看次数: |
424 次 |
最近记录: |