2011-08-31 51 views
0

有Python中的简单Web服务器:Python的快速Web服务器

try: 
    server = HTTPServer(('', 80), MyHandler) 
    print 'started httpserver...' 
    server.serve_forever() 
except KeyboardInterrupt: 
    print '^C received, shutting down server' 
    server.socket.close() 

有没有什么办法可以使其更快?我相信以上是阻挡如此关注的 慢响应...

谢谢!

+0

是的。有一种方法可以使其更快速和无阻塞。也许你应该稍微修改你的问题,以强调你想要完成的事情,以及为什么你从第一次尝试开始。 –

+1

对于无阻塞的插座,请看看扭曲或龙卷风。据我所知,它是python上最快的Web服务器。但他们可能相当复杂。您也可以使用ForkingMixin或ThreadingMixin来处理HTTP请求。 – varela

+0

非常感谢你们俩。我正在运行一个简单的用户研究,为此我设计了一个浏览器插件。我有一个服务器组件,该插件定期进行通信。我注意到客户端(;插件)的响应时间有时很慢。我想加快Web服务器的速度 - 想知道如何不过于复杂。 –

回答

1

使Web服务器可以使用非阻塞IO套接字。 Python的一个好的框架/服务器产卵:

http://pypi.python.org/pypi/Spawning/

请注意,这使得您的服务可扩展性只在水平方向(你可以很容易地添加更多的并发请求)。处理单个请求的延迟取决于您的代码(如何进行数据库连接等)和硬件(不使用共享主机)。你没有在你的问题中详细解释你正在处理的是什么,所以没有足够的数据来全面回答你的问题。