码迷,mamicode.com
首页 > 其他好文 > 详细

erlang cpu 相关参数调整

时间:2014-10-18 01:49:46      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   os   ar   使用   sp   on   log   

erlang 默认启动参数虽然已经比较高效,但更多的是针对电信平台实时特性,简单调整参数能够很大程度减少CPU,提高处理能力。

1. 关闭spin_wait

  设置参数:+sbwt none

我上一篇文章提到:erlang 调度器CPU利用率低排查,关闭spin_wait 可能增加了调度器需要唤醒延时。

关闭后CPU 基本能够简单30%以上,且几乎没有任何副作用,调度器唤醒微妙级,延时可忽略。

 

2. 调度器唤醒策略

  默认设置:+swt medium

  默认设置下,长时间运行后部分node运行进入一种非正常状态,如:不管高峰还是低峰,cpu 200%一条直线,且在高峰期间处理不过来,造成timeout,

  也就是说,除了前两个调度器,后面的调度器都睡死了,业务大量堆积也无法唤醒。

  

  解决方案:

  1. 定时维护性重启,当然业务允许的话,对于类似长连接服务就不行了

  2. 调整:+swt low (whatsapp ppt 中提到),CPU占用稍高

  3. 使用R17 +sub true,保证每个调度器业务平均

 

  当然: +swt very_high 能够再次降低30%+ 的cpu

  同时也很大程度增加 调度器睡死的几率,会不会睡死看业务服务状态,可以观察,对性能提升还是很有帮助的。

 

  

 

erlang cpu 相关参数调整

标签:style   blog   http   os   ar   使用   sp   on   log   

原文地址:http://www.cnblogs.com/lulu/p/4032365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!