2010-04-21 79 views
1

我正在使用CherryPy以通過WSGI爲python應用程序提供服務。CherryPy和併發

我試着對它進行基準測試,但似乎CherryPy似乎只能處理10次/秒。 不管我做什麼。

構建一個簡單的應用程序,暫停3秒,以便準確判斷正在發生的事情......並且我可以確認10次請求/秒與python腳本使用的資源無關。

__

任何想法?

+0

嘿,只是一個友好的筆記 - 如果diatoid的答案是正確的,你想標記爲接受? :) – culix 2012-09-14 04:55:00

回答

22

默認情況下,CherryPy的內置HTTP服務器將使用10個線程的線程池。如果您仍在使用默認值,您可以嘗試在配置文件中增加此值。

[global] 
server.thread_pool = 30 
+0

@diatoid:非常感謝你!順便說一句,我認爲cherrypy的建立是爲了支持req/sec可能的最高數量。 – RadiantHex 2010-04-21 18:59:53

+2

CherryPy試圖設置理智的默認值,這在我的筆記本電腦上產生的最大1200瑞克/秒。但是,那些基準請求每個都不需要3秒鐘。你的網站的現實應該在中間的某個地方;如果您的真實請求每次需要3秒,您可能會做錯事;) – fumanchu 2010-04-22 01:18:38

+0

請求需要3秒鐘,因爲他們正在等待從其他地方收集信息。在等待的過程中,我沒有使用任何資源!那麼,爲什麼我必須讓機器閒置,同時我可以同​​時提供更多的請求? – RadiantHex 2010-04-22 15:12:24

0

你的客戶端需要實際讀取服務器的響應。否則套接字/線程將保持打開/運行狀態,直到超時並收集垃圾。

使用一個客戶端,表現正確,你會看到你的服務器也將表現得很好。