2009-11-25 98 views
0

我使用PHP S3 class和這backup script備份〜500Mb文件從Linux服務器到S3。對s3的調用被卡住(永遠不會返回),頂部顯示了消耗100%CPU和1%內存的httpd進程。較小的文件會被正確複製。如何調試curl調用亞馬遜s3時它卡住

我的問題是我怎麼能調試這(其基本捲曲由S3類完成調用)時不返回任何和代碼被無限期地卡住。

Additionaly,如何解決一般問題的任何想法非常讚賞。

我迄今試過的東西 - 沒有超時的PHP腳本。從對S3的調用中刪除了SSL支持,爲腳本啓用了128M內存。

回答

2

您可能需要直接更改S3腳本以找出哪個步驟失敗,並可能從this page設置一些額外的捲曲選項。有些可能設置來看看有:

  • CURLOPT_CONNECTTIMEOUT
  • CURLOPT_LOW_SPEED_LIMIT
  • CURLOPT_LOW_SPEED_TIME

最後兩人攜手指定何時放棄捲曲的要求,首先是剛做的時候最初的連接。

對於curl自身的調試輸出,您可以設置CURLOPT_VERBOSE並將文件分配給CURLOPT_STDERR以捕獲輸出。這應該有助於找出問題所在。

+0

Thaks!我使用了上面的建議,並且操作太慢了。小於10000字節/秒轉移了最後20秒。我怎麼能從這裏繼續? – Nir 2009-12-03 07:57:45