【问题标题】:Rackspace cloudfiles API fairly slowRackspace cloudfiles API 相当慢
【发布时间】:2014-12-17 14:59:23
【问题描述】:

我想提高将一个 20kb 的小文件上传到云文件的脚本的速度,目前需要 3 秒,但我发现它需要更多,最多大约 7 秒。

基本上它会执行以下操作...

  • 验证
  • 连接
  • 获取容器
  • 创建一个对象
  • 将数据从文件名加载到对象中

尝试使用 cachegrind 和 webgrind 来确定脚本的哪一部分速度较慢,结果发现是 CURL 方面的问题。

CURL with PHP - Very slow 的一篇有趣的帖子表明它可能与 DNS 查找有关,但我不能 100% 确定如何在 Windows 上监控我的流量,有什么建议吗?

是否有其他用户对如何找出我的 CURL 请求缓慢的原因有任何建议?

【问题讨论】:

  • 那么慢是什么? Rackspace 还是 CURL?
  • 我想弄清楚这一点...如果我可以看到 CURL 请求正在努力到达 Rackspace 的服务器,那么它可能是 CURL,如果在 Rackspace 方面花费了很多时间我可以假设那里有问题。
  • 只是对此问题的反馈,以防其他人遇到同样的问题。我将我的脚本移到了我的 Rackspace 服务器上,它现在绝对可以运行,这很棒。事实证明,如果在脚本运行时可以找到环境变量,CURL 将尝试使用 Rackspace 的内部网络。查看“CF_Connection”类的构造函数中的 cmets。

标签: php optimization curl rackspace cloudfiles


【解决方案1】:

我遇到了类似的问题。如果您将 Rackspace 服务器与 Rackspace 云文件一起使用,那么您需要确保在代码中使用正确的 SNET 设置。示例:

$connect_snet = true;
$this->conn = new CF_Connection($this->auth, $connect_snet);

这会将内部连接路由到 Rackspace 网络;避免 DNS 查找等。希望您会看到速度有所提高。

【讨论】:

    【解决方案2】:

    您也可以设置环境变量,php cloud-files api 将自动使用服务网络,无需您更改CF_Connection() 代码:

    define('RACKSPACE_SERVICENET', 1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多