2011-08-31 71 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/

請注意,這使得您的服務可擴展性只在水平方向(你可以很容易地添加更多的併發請求)。處理單個請求的延遲取決於您的代碼(如何進行數據庫連接等)和硬件(不使用共享主機)。你沒有在你的問題中詳細解釋你正在處理的是什麼,所以沒有足夠的數據來全面回答你的問題。