2011-09-13 44 views
3

我想提高脚本的速度,该脚本会将一个小的20kb文件上传到cloudfiles,目前需要3秒,但看到它需要更多时间,最长可达7秒。Rackspace cloudfiles API相当慢

基本上它下面...

  • 服务器验证
  • 连接
  • 获取一个容器
  • 创建对象
  • 载荷从文件名

数据到对象尝试使用cachegrind和webgrind找出w脚本部分很慢,事实证明这是CURL的一面。

这里有一个有趣的帖子CURL with PHP - Very slow,暗示它可能与DNS查找有关,但我不是100%确定如何监视Windows上的流量,有什么建议?

其他用户对如何弄清楚为什么我的CURL请求很慢有任何建议吗?

+0

那么,什么是慢? Rackspace或CURL? –

+0

我想弄明白这一点......如果我能看到CURL请求正在努力到达Rackspace的服务器,那么它很可能是CURL,如果在Rackspace方面花费了大量时间,我可以假设有一个问题在那里。 – Carlton

+2

只是为了防止其他人遇到同样的问题而对此问题提供反馈。 我将我的脚本移动到我的Rackspace服务器上,现在它绝对过得很好。 事实证明,如果脚本运行时可以找到环境变量,CURL将尝试使用Rackspace的内部网络。 查看构造函数中“CF_Connection”类的注释。 – Carlton

回答

2

我有类似的问题。如果您将Rackspace Server与Rackspace Cloud文件一起使用,那么您需要确保在代码中使用正确的SNET设置。例如:

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

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

0

您也可以设定一个环境变量和PHP的云文件API将自动使用服务网没有你需要改变你的CF_Connection()代码:

define('RACKSPACE_SERVICENET', 1); 
相关问题