【问题标题】:cURL API Extremely SlowcURL API 极慢
【发布时间】:2013-01-01 14:49:21
【问题描述】:

我创建了许多从 API 获取所有数据的网站。 (在大多数情况下位于同一台服务器上)。

在所有 curl 请求中,网站的运行速度非常慢。

我一开始以为是我们的 mysql 服务器(单独的服务器),但现在我们实现了缓存它仍然很慢。

有没有什么好方法可以找出为什么执行 curl 请求需要这么长时间。 什么是好方法?

【问题讨论】:

  • 复制粘贴到浏览器会不会很慢?
  • 我可能是几样东西。首先登录到您的服务器并检查使用 wget 加载网站的速度。如果这也需要很长时间,则可能与您的名称服务器和/或主机文件有关
  • 不是真的,但在我的浏览器中我只做一个请求,一个网站可以做 50 个。wget 也很慢。我认为它可能是名称服务器,但我该如何找到?
  • 如果您可以从浏览器调用 api,您可以检查网络选项卡以查看 dns 查找所需的时间。或者,您可以使用 nslookup 命令查看解析需要多长时间。
  • nslookup 非常快。它可能与网络服务器本身有关吗,我正在使用 Plesk 和 nginx。

标签: php mysql performance api curl


【解决方案1】:

可以使用浏览器休息客户端指向您的 API,并使用分析工具 (xdebug/xhprof) 来查找瓶颈的来源。 可能确保 api 调用在本地解析,并且在返回之前不要一直连接到互联网(但可能不会节省太多时间)。 建议从 API 代码开始。

【讨论】:

  • 我刚做了这个。在某些情况下,一个请求的加载时间在 150 毫秒到 1500 毫秒之间变化。 (相同的网址)。
  • 对于慢速请求,您对 dns 查找时间和 api 响应(处理请求的代码)时间有任何了解吗?
  • 没有,没有线索。有没有办法检查这个?
  • 如果使用浏览器,您可以使用网络选项卡(见上文)。 Curl 不会为您提供有关问题所在的有用数据。我能问一下您是如何收集有关响应时间的数据的吗?是在本地调用 api(不需要 dns 请求)吗?
  • 卷曲只是询问公共网址,所以我认为它会通过互联网而不是本地投票。我的浏览器告诉我执行第一个请求需要 238 毫秒。 (在收到第一个字节之前)。它可以与 gzip 或类似的东西有关吗?
【解决方案2】:

问题不在于 cURL 请求。

【讨论】:

    猜你喜欢
    • 2016-04-15
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多