dingyaguang117
V2EX  ›  问与答

生产中有一个特殊场景,如何选择合适的Python WSGI服务器

  •  
  •   dingyaguang117 · Nov 1, 2013 · 3076 views
    This topic created in 4755 days ago, the information mentioned may be changed or developed.
    场景描述:
    借口依赖第三方网站,需要即时访问第三方网站解析数据,所以可能长时间阻塞在IO上,甚至最后超时。因此,一个请求返回时间会比较长,几秒甚至十几秒。
    目前用的uwsgi。而且我设置的是8个进程每个进程2个线程,也就是说最大同时连接数只有16,而且每个请求处理时间又很长,所以QPS 几乎就是个位数。

    请问是不是换成apache使用mod_wsgi会好一点?让最大连接数可以上去
    7 replies  •  1970-01-01 08:00:00 +08:00
    rrfeng
    rrfeng
    Nov 1, 2013
    1
    既然用 WSGI 那就不能用非阻塞模式吧,那就只能多开线程了……
    codeframe
    codeframe
    Nov 1, 2013
    2
    用 gunicorn, 然后把 worker_class 配成 gevent 。
    http://docs.gunicorn.org/en/latest/configure.html#worker-class
    ipconfiger
    ipconfiger
    Nov 1, 2013
    3
    这个啊,直接用tornado就妥妥的了,标准应用场景
    ipconfiger
    ipconfiger
    Nov 1, 2013
    4
    不过wsgi就算了吧,这个协议标准的同步工作模式。非要用的话,就只有gevent了
    dingyaguang117
    dingyaguang117
    OP
    Nov 1, 2013
    5
    @ipconfiger 用tornado 的话,是不是要改写程序
    ipconfiger
    ipconfiger
    Nov 1, 2013❤️1
    6
    @dingyaguang117 按道理说这种类型的代理应该一袋烟的功夫就改好了
    dingyaguang117
    dingyaguang117
    OP
    Nov 4, 2013
    7
    @ipconfiger 谢谢 我去看下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1625 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 14:16 · PVG 22:16 · LAX 06:16 · JFK 09:16
    ♥ Do have faith in what you're doing.