Linux服务器上Minio生产环境的内核调优
2018-01-19 21:46
1046 查看
Linux服务器上Minio生产环境的内核调优
调优网络参数
以下网络参数设置可帮助确保Minio服务器在生产环境负载上的最佳性能。tcp_fin_timeout: 一个socket连接大约需要1.5KB的内存,关闭未使用的socket连接可以减少内存占用,避免出现内存泄露。即使另一方由于某种原因没有关闭socket连接,系统本身也会在到达超时时间时断开连接。
tcp_fin_timeout参数定义了内核保持sockets在FIN-WAIT-2状态的超时时间。我们建议设成20,你可以按下面的示例进行设置。
sysctl -w net.ipv4.tcp_fin_timeout=30
tcp_keepalive_probes: 这个参数定义了经过几次无回应的探测之后,认为连接断开了。你可以按下面的示例进行设置。
sysctl -w net.ipv4.tcp_keepalive_probes=5
wmem_max: 这个参数定义了针对所有类型的连接,操作系统的最大发送buffer大小。
sysctl -w net.core.wmem_max=540000
rmem_max: 这个参数定义了针对所有类型的连接,操作系统最大接收buffer大小。
sysctl -w net.core.rmem_max=540000
调优虚拟内存
下面是推荐的虚拟内存设置。swappiness: 此参数控制了交换运行时内存的相对权重,而不是从page缓存中删除page。取值范围是[0,100],我们建议设成10。
sysctl -w vm.swappiness=10
dirty_background_ratio: 这个是
脏页可以占系统内存的百分比,内存页仍需要写到磁盘上。我们建议要尽早将数据写到磁盘上,越早越好。为了达到这个目的,将
dirty_background_ratio设成1。
sysctl -w vm.dirty_background_ratio=1
dirty_ratio: 这定义了在所有事务必须提交到磁盘之前,可以用脏页填充的系统内存的绝对最大数量。
sysctl -w vm.dirty_ratio=5
调优调度程序
正确的调度程序配置确保Minio进程获得足够的CPU时间。 以下是推荐的调度程序设置。sched_min_granularity_ns: 此参数定义了一个任务在被其它任务抢占时,可在CPU一次运行的最短时间,我们建议设成10ms。
sysctl -w kernel.sched_min_granularity_ns=10000000
sched_wakeup_granularity_ns: 降低该参数值可以减少唤醒延迟,提高吞吐量。
sysctl -w kernel.sched_wakeup_granularity_ns=15000000
调优磁盘
我们将磁盘调优的建议整合到了注释完备的 shell script,敬请查看。相关文章推荐
- linux内核调优生产环境实例及详解(服务器内核优化)
- GeoServer生产环境调优(部分)
- 生产环境下 nginx 和 tomcat的调优
- 基于生产环境的JVM调优-结果分析
- Linux服务器iptables生产环境配置
- Linux内核优化sysctl.conf,生产环境需反复测试,找到最佳值
- 生产环境下JVM调优参数的设置实例
- Oracle sql 调优:使用虚拟索引在生产环境测试创建索引对数据库性能的影响
- 生产环境常用内核参数
- Linux内核高性能优化【生产环境实例】
- MySQL 运行环境的调优往往和Linux的内核调优一并完成。
- 生产环境下的Java排错调优视频教程推荐
- 生产环境下的Java排错调优视频教程推荐
- Linux服务器生产环境中的文件删除与替换
- Oracle sql 调优:使用虚拟索引在生产环境测试创建索引对数据库性能的影响
- 生产环境4.3.5jboss内存调优
- 生产环境的tomcat调优和jvm调化
- Linux内核高性能优化【生产环境实例】
- 高性能linux服务器内核调优
- ubuntu 常用生产环境部署配置测试调优