zoukankan      html  css  js  c++  java
  • uwsgi异常服务器内存cpu爆满优化思路

    记录线上服务器通过linux性能检测工具glances检测到 cpu、内存爆满,且是uwsgi进程占用,对于服务器内核,以及uwsgi配置优化

    参考文章

    https://blog.csdn.net/orangleliu/article/details/48531759
    

    uwsgi.log日志报错

    Tue Jun  2 17:33:27 2015 - *** uWSGI listen queue of socket "127.0.0.1:9080" (fd: 3) full !!! (101/100) ***
    Tue Jun  2 17:33:28 2015 - *** uWSGI listen queue of socket "127.0.0.1:9080" (fd: 3) full !!! (101/100) ***
    

    解决思路:

    1.修改内核配置

    2.修改uwsgi配置

    内核修改

    #对于一个经常处理新连接的高负载 web服务环境来说,默认的 128 太小了
    net.core.somaxconn = 262144
    ​#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数
    net.ipv4.tcp_max_syn_backlog = 8192
    #网卡设备将请求放入队列的长度
    net.core.netdev_max_backlog = 65536
    

    修改完成之后要记得 sysctl -p 重新加载内核参数

    uwsgi修改

    修改uwsgi.ini

    listen=1024
    

    重启uwsgi

    新版uwsgi配置文件,着实好用

    # 缓存体系
    cache = true
    cache2 = name=mycache,items=100
    lazy-apps = true
    wsgi-disable-file-wrapper = true
    memory-report = true
    uid = www
    master = true
    vhost = true
    no-stie = true
    workers = 10
    reload-mercy = 10
    vacuum = true
    max-requests = 3500
    limit-as = 1024
    buffer-size = 65535
    pidfile = /var/run/uwsgi.pid
    master-fifo = /tmp/uwsgififo
    #daemonize = /var/log/logs/uwsgi.log
    logto = /var/log/logs/uwsgi.log
    log-maxsize = 10000000000
    enable-threads=true
    die-on-term=true
    wsgi-disable-file-wrapper=true
    env= LUFFY_ENV=Production
    ksm=10
    ignore-sigpipe = true
    ignore-write-errors = true
    disable-write-exception = true
    harakiri = 30
    thunder-lock = True
    
  • 相关阅读:
    OleDbCommand 的用法
    递归求阶乘
    C#重写窗体的方法
    HDU 5229 ZCC loves strings 博弈
    HDU 5228 ZCC loves straight flush 暴力
    POJ 1330 Nearest Common Ancestors LCA
    HDU 5234 Happy birthday 01背包
    HDU 5233 Gunner II 离散化
    fast-IO
    HDU 5265 pog loves szh II 二分
  • 原文地址:https://www.cnblogs.com/pyyu/p/11969133.html
Copyright © 2011-2022 走看看