【问题标题】:max_clients limit reached error on tornado-botocore servertornado-botocore 服务器上的 max_clients 限制达到错误
【发布时间】:2015-07-31 06:32:09
【问题描述】:

我使用 tornado-botocore 包开发了一个 Tornado 服务器,用于与 Amazon SQS 服务交互。 当我尝试对服务器进行负载测试时,我得到以下日志: [simple_httpclient:137:fetch_impl] 达到 max_clients 限制,请求排队。 10 个活动,89 个排队请求。 我假设它来自 botocore 包使用的 ASyncHTTPClient 。 我尝试将 max_clients 设置为更高的数字,但没有成功:

    def _connect(self, operation):
    sqs_connection = Botocore(
        service='sqs', operation=operation,
        region_name=options.aws_sqs_region_name,
        session=session)
    sqs_connection.http_client.configure(None, defaults=dict(max_clients=5000))

我做错了什么?

谢谢。

【问题讨论】:

    标签: python tornado boto botocore


    【解决方案1】:

    configure 是一个必须在创建AsyncHTTPClient 之前调用的类方法:tornado.httpclient.AsyncHTTPClient.configure(None, max_clients=100)。

    日志消息不表示错误(它记录在debug 级别)。此服务是否适合通过使用更多连接或排队来响应负载取决于您。单个应用程序进程的 5000 个连接对我来说似乎太多了。

    【讨论】:

    • 对 max_clients 值有什么建议吗?
    • 变量太多,无法给出具体建议,但根据我的经验,很少需要超过 100 个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2011-12-06
    相关资源
    最近更新 更多