2010-04-21 81 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

你的客户端需要实际读取服务器的响应。否则套接字/线程将保持打开/运行状态,直到超时并收集垃圾。

使用一个客户端,表现正确,你会看到你的服务器也将表现得很好。