• 使用supervisor的一些注意事项


        一直都有在使用supervisor来管理linux上的服务进程。最近有同事说有某服务貌似有问题,让上去检查一下。上去以后发现某服务反应的确很慢,所以就用supervisor重启一下。但是重启的时候就发现问题了,平时一两秒就可以完成的操作,现在竟然要几分钟!这个非常的不科学,一定要查原因!
        最开始怀疑的是文件系统是不是出问题了,io会不会太高了。排除掉以后,就开始检查supervisor的进程,发现它的cpu很高。这时候就很奇怪了,其它服务器上的supervisor的cpu占用都很低的啊,为什么呢?然后就开始对比这两台机器上面supervisor所管理的进程有些什么不同。最后发现,有问题的机器上面,supervisor所管理的进程里面有好些进程有很大量很频繁的stdout输出(我们这里用的是tornado,默认的日志会输出到stdout)。当很多的进程都在同时输出大量的stdout的时候,supervisor就会疲于处理这些输出数据和记录日志,最终就会导致supervisor处理变慢。

        当我们调整了被管理程序的logger输出方式以后,supervisor马上就回复正常了。
        所以,在使用supervisor的时候,被管理的程序最好避免有大量很频繁的stdout或者stderr输出,否则管理就有可能出问题了。

  • 相关阅读:
    Linux下配置APUE的编译 报错之后如何处理
    Sed命令的使用详细解释
    Linux下安装xrdp
    CentOS7.1 VNC Server服务配置
    Linux下core文件调试方法
    GDB获取帮助信息
    gdb调试工具学习
    Linux中tftp安装及使用笔记
    CentOS7.3安装Python3.6
    C#语言注释详解
  • 原文地址:https://www.cnblogs.com/firemeteorx/p/4390680.html
Copyright © 2020-2023  润新知