使用不同的request_queue_size和timeout启动CherryPy

时间:2014-01-30 03:41:16

标签: python cherrypy

我开始使用CherryPy应用程序:

cherrypy.tree.mount(None, "/", config=conf) 
cherrypy.quickstart(None, config=conf)

我最近向应用程序引入了一个页面,需要花费相当长的时间才能加载(在某些情况下需要10到15秒),并开始在中等负载下看到生产服务器上的随机故障。我怀疑这可能是因为当多个用户请求这些长时间运行的页面时,有太多请求排队。

我想尝试允许更多请求排队。我发现内置服务器有一个request_queue_size设置,可以控制我想要的东西。但是,我无法弄清楚如何使用cherrypy.quickstart更改此设置。

1 个答案:

答案 0 :(得分:3)

您可以在conf字典中设置它:

conf = {'server.socket_queue_size': 10, ...}

或者您可以通过编程方式更改它:

cherrypy.server.socket_queue_size = 10

使用字典是更好的方法。

  

在CherryPy 3中,您使用配置(文件或dicts)直接在引擎,服务器,请求,响应和日志对象上设置属性。因此,了解配置文件中可用内容的最佳方法是简单地导入这些对象并查看帮助(obj)告诉您的内容。

来自CherryPy v3.2.0 documentation » Tutorial and Concepts » Configuration