使用gevent来提高Python的并发效率

gevent是一个基于libev的并发库。它为各种并发和网络相关的任务提供了整洁的API。在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。

为了提高服务器的IO效率,可以在uwsgi服务上加载gevent框架来实现并发。而且gevent提供了一个异常方便了monkey模块,可以在不修改原来的使用python标准库函数的程序的情况下,将程序转换成可以使用gevent框架的异步程序。

由于无需修改代码,部署起来十分简单。这里是在virtualenv环境下配置的:

然后在uwsgi的app配置文件etc/uwsgi/apps-available/your_app.ini中加入下面的配置即可:

重启uwsgi生效

参考资料:

 

 

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注