Nir
Nir

Reputation: 25349

how to debug curl call to amazon s3 when it get stuck

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.

Upvotes: 1

Views: 1880

Answers (1)

JimG
JimG

Reputation: 1782

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.

Upvotes: 2

Related Questions