bottle的gunicorn+gevent部署 和 gunicorn+meinheld 部署

Love The Way You Lie 2022-06-12 06:19 176阅读 0赞

config.py(gunicorn+gevent):

  1. # -*-coding:utf-8 -*-
  2. __author__ = "ZJL"
  3. import gevent.monkey
  4. import multiprocessing
  5. gevent.monkey.patch_all()
  6. # 监听本机的5000端口
  7. bind = '0.0.0.0:5000'
  8. preload_app = True
  9. # 开启进程
  10. # workers=4
  11. workers = multiprocessing.cpu_count() * 2 + 1
  12. # 每个进程的开启线程
  13. threads = multiprocessing.cpu_count() * 2
  14. backlog = 2048
  15. # 工作模式为gevent
  16. worker_class = "gevent"
  17. # debug=True
  18. # 如果不使用supervisord之类的进程管理工具可以是进程成为守护进程,否则会出问题
  19. daemon = True
  20. # 进程名称
  21. proc_name = 'gunicorn.pid'
  22. # 进程pid记录文件
  23. pidfile = 'app_pid.log'
  24. loglevel = 'debug'
  25. logfile = 'debug.log'
  26. accesslog = 'access.log'
  27. access_log_format = '%(h)s %(t)s %(U)s %(q)s'

configm.py(gunicorn+meinheld):

  1. # -*-coding:utf-8 -*-
  2. __author__ = "ZJL"
  3. import multiprocessing
  4. # 监听本机的5000端口
  5. bind = '0.0.0.0:5000'
  6. preload_app = True
  7. # 开启进程
  8. # workers=4
  9. workers = multiprocessing.cpu_count() * 2 + 1
  10. # 每个进程的开启线程
  11. threads = multiprocessing.cpu_count() * 2
  12. backlog = 2048
  13. #工作模式为meinheld
  14. worker_class = "egg:meinheld#gunicorn_worker"
  15. # debug=True
  16. # 如果不使用supervisord之类的进程管理工具可以是进程成为守护进程,否则会出问题
  17. daemon = True
  18. # 进程名称
  19. proc_name = 'gunicorn.pid'
  20. # 进程pid记录文件
  21. pidfile = 'app_pid.log'
  22. loglevel = 'debug'
  23. logfile = 'debug.log'
  24. accesslog = 'access.log'
  25. access_log_format = '%(h)s %(t)s %(U)s %(q)s'

bottletest.py

  1. # -*-coding:utf-8 -*-
  2. __author__ = "ZJL"
  3. from bottle import route, run
  4. from mogodbM import mb
  5. @route('/')
  6. def hello():
  7. # 插入mongodb数据
  8. mb.insert('zjl_demo', [{'a': '1', 'b': [1, 2, 3, 4, "哈哈哈"]}])
  9. # 查询数据
  10. mb.find_cursor("zjl_demo", {"a": "1"})
  11. return "Hello World!"
  12. run(server='gunicorn',host='127.0.0.1', port=5000)# debug=True

gunicorn+gevent启动命令:gunicorn -c config.py bottletest:app

gunicorn+meinheld启动命令:gunicorn -c configm.py bottletest:app

性能方面,meinheld真的是性能怪兽,基本是gevent的十几倍(读写mongodb的情况下)

发表评论

表情:
评论列表 (有 0 条评论,176人围观)

还没有评论,来说两句吧...

相关阅读