uWSGI协议比HTTP协议更快吗?

14
我正在尝试使用不同的设置来部署Django应用程序。 我的第一选择是使用一个简单的Apache服务器和mod_wsgi,这是我以前为私人使用实现过的。 由于当前的部署是公开使用的,所以我正在寻找各种选项。 根据网上提供的信息,似乎最好有Nginx用于提供静态内容,以及作为动态内容服务器的反向代理。 现在,考虑到我之前对Apache的了解,我正在考虑将其用于动态内容。但后来我发现了Gunicorn,然后是uWSGI。目前我正在实施uWSGI。 我看到它允许多个协议,包括http。
使用其中一个协议的优点是什么? 我了解到,鉴于我需要将应用程序扩展到多台服务器上,这意味着我不能使用Unix套接字,这在一些教程中似乎被推荐。因此,其他选择是使用带有uwsgi或http的TCP套接字。它们在理论上有很大的区别吗?我不知道uwsgi协议的细节,想知道是否使用它比http协议更快?
1个回答

20

最终,你的瓶颈不会在关于请求的特定路由机制上,除非你真的搞砸了配置。因此,过多地关注这个层面上的东西,可以说是浪费时间。

观看我在PyCon的演讲,了解哪些方面真正会成为瓶颈的背景。

http://lanyrd.com/2012/pycon/spcdg/


我看过你的演讲,感觉这会是你的答案。但仅出于学术知识的目的,它更快吗? - Vipul Patil
7
HTTP和uWSGI的区别在于,HTTP的接收方必须解析请求头分隔符和行尾标记,而在uWSGI中,二进制长度字节已经包含在数据中,因此接收方已经知道字段长度,不需要解析。因此,您可能会使用uWSGI节省少量时间,但实际上并没有多大差别。服务器端软件的设计要比这个更重要。处理算法的粗糙编码很快就会抵消任何节省,即使是uWSGI的作者也会承认在这个层面上的差异非常小。 - Graham Dumpleton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接