【问题标题】:How often does python-requests perform dns queriespython-requests多久执行一次dns查询
【发布时间】:2016-03-18 14:58:50
【问题描述】:

我们使用Locust 来对弹性负载均衡后面的rest api 服务进行负载测试。我遇到了this article 关于负载平衡和自动缩放,这是我们正在测试的东西。

Locust 正在使用 python-requests,它正在使用 urllib3,所以我的问题是 python-requests 是否对每个连接进行 dns 查询,如果没有,是吗可配置?

【问题讨论】:

  • Urllib3 可能正在使用socket.getaddrinfo,它应该使用您正在使用的操作系统的getaddrinfo,根据这个answer on another SO question。因此,它应该根据操作系统缓存对同一主机名的每个后续请求的结果。
  • 根据这个问题:stackoverflow.com/questions/11020027/dns-caching-in-linux 缓存在大多数 Linux 配置上被禁用。

标签: python dns python-requests urllib3 locust


【解决方案1】:

Locust 正在使用 python 请求,而 urllib3 正在使用 socket.getaddrinfo,根据 this SO thread 禁用了 DNS 缓存(假设您的测试机器运行 linux)。

【讨论】:

    【解决方案2】:

    python-requests 对每个连接进行 dns 查询。

    要禁用此功能,您可以使用 dns cache

    现在您可以使用systemctl enable systemd-resolved 启用systemd-resolved

    更多信息 - https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 1970-01-01
      • 2016-01-17
      • 2018-05-24
      • 2019-03-25
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      相关资源
      最近更新 更多