zoukankan      html  css  js  c++  java
  • python 高性能web框架 gunicorn+gevent

    参考链接: http://rfyiamcool.blog.51cto.com/1030776/1276364/

                       http://www.cnblogs.com/nanrou/p/7026789.html

    前言

    gunicorn 是支持wsgi协议的http服务器,gevent只是它支持的模式之一,是为了解决django、flask这些web框架自带wsgi server性能低下的问题。自带的web server更多的是测试用途,线上发布时,最好使用高性能的wsgi server 或者是联合nginx做uwsgi

    gunicorn 的运行方式:


    gunicorn wsgi:application
    其中wsgi就是wsgi.py文件, application就是那个wsgifunc的名字,默认端口是8000
    如果要监听别的端口   

    gunicorn -b 127.0.0.1:8090 wsgi:application
    在多核服务器上,为了支持更多的并发访问并充分利用资源,可以使用更多的gunicorn进程

    gunicorn -w 8 wsgi:application
    这样,就可以启动8个进程同时处理HTTP请求,提供系统的使用效率及性能
    gunicorn wsgi:application
    #8个worker
    gunicorn -w 8 wsgi:application
    #指定端口号
    gunicorn -w 8 -b 0.0.0.0:8888 wsgi:application
    #unix socket
    gunicorn -w 8 --bind unix:/xx/mysock.sock wsgi:application
    #使用gevent做异步(默认worker是同步的)
    gunicorn -w 8 --bind 0.0.0.0:8000 -k 'gevent' wsgi:application
    #选项挺多,看文档或者使用 --help都可以查看
    --log-level=DEBUG
    --timeout=100


    BUT,gunicorn默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好,可以使用gevent 或 meinheld

    # gevent
    gunicorn -k gevent code:application
    # meinheld
    gunicorn -k egg:meinheld#gunicorn_worker code:application

    也可以通过 -c 参数传入一个配置文件实现


    ---------------------
    作者:pNull
    来源:CSDN
    原文:https://blog.csdn.net/u011138533/article/details/76559251
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    codeforce A. 2Char(水题,暴力)
    hdu 4704 Sum(组合,费马小定理,快速幂)
    light oj 1100
    hdu 4503 湫湫系列故事——植树节(组合概率)
    Codeforces Round #327 (Div. 1), problem: (A) Median Smoothing
    hdu-3833 YY's new problem(数组标记)
    hdu 4549 M斐波那契数列(快速幂 矩阵快速幂 费马小定理)
    hdu 1431 素数回文(暴力打表,埃托色尼筛法)
    hdu 1430 (BFS 康托展开 或 map )
    hdu 1024 max sum plus plus
  • 原文地址:https://www.cnblogs.com/ExMan/p/10152631.html
Copyright © 2011-2022 走看看