1
lix 2013-02-18 06:47:40 +08:00 via Android
程序的问题,有异常出现
|
2
liuxurong OP @lix 排查过了。基本解决。不能将pymysql用在生产环境。用python-memcache也要注意。都是效率好低的。
|
3
yinian1992 2013-02-18 11:13:25 +08:00
@liuxurong 你试试用 gevent 去 monkey patch 一下 socket。
|
4
ipconfiger 2013-02-18 11:16:23 +08:00
去看看mysql的慢查询日志才是正道,大部分的超时问题都是慢查询导致的
|
5
CMGS 2013-02-18 13:05:08 +08:00 1
Gunicorn默认30秒超时,这个超时的意思是worker在30秒里面没输出。然后你这个问题得看Worker的type。sync的话,一个worker一个请求,如果用pymysql妥妥的效率被mysqldb爆出翔,python-memcache也是,如果是async如gevent,pymysql单个请求上效率还是烂,好处在于并发可以撑起来,因为MySQLdb是C层面的socket不被gevent patch。所以无论怎样,你要保证一个request在30秒以内有输出,或者增大这个时间。
|
6
liuxurong OP |