views:

279

answers:

1

I'm using the PHP S3 class and this backup script to backup ~500Mb file from Linux server to S3. The call to s3 gets stuck (never returns) and top shows httpd process which consumes 100% CPU and 1% memory. smaller files do get copied correctly.

my question is how can I debug this (its basically a CURL call done by the S3 class) when nothing is returned and the code gets stuck indefinitely.

Additionaly, any ideas on how to solve the issue in general are very appreciated.

Things I tried so far- no timeout for the php script. Removed SSL support from the call to S3, enabled 128M memory for the script.

+1  A: 

You probably need to alter the S3 script directly to find out which step is failing, and probably set some additional curl options from this page. Some likely settings to look at are:

  • CURLOPT_CONNECTTIMEOUT
  • CURLOPT_LOW_SPEED_LIMIT
  • CURLOPT_LOW_SPEED_TIME

The last two work together to specify when to give up the curl request, the first is just when making the initial connection.

For debug output from curl itself, you can set CURLOPT_VERBOSE and assign a file to CURLOPT_STDERR to capture the output. This should help track down what the problem is.

JimG
Thaks! I used the advice above and got Operation too slow. Less than 10000 bytes/sec transfered the last 20 seconds. How can I continue from here?
Nir