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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Android五天乐(第三天)ListFragment与ViewPager
    Thinking in States
    红黑树上的连接操作
    [LeetCode][Java] Binary Tree Level Order Traversal
    使用IR2101半桥驱动电机的案例
    HDU 4782 Beautiful Soup(模拟)
    C语言之基本算法38—格式化输出10000以内的全部完数
    远在美国的凤姐为何选择回国理財?
    2014-7-20 谁还认得这几本书?
    360在线笔试---反思两道题
  • 原文地址:https://www.cnblogs.com/ExMan/p/10152631.html
Copyright © 2011-2022 走看看