2009-11-25 2 views
0

Я использую PHP S3 class и этот backup script для резервного копирования ~ 500 Мб файла с сервера Linux на S3. Звонок на s3 застревает (никогда не возвращается), а top показывает httpd-процесс, который потребляет 100% процессор и 1% памяти. файлы меньшего размера копируются правильно.как отлаживать curl call to amazon s3, когда он застревает

мой вопрос в том, как я могу отлаживать это (его в основном вызов CURL, выполняемый классом S3), когда ничего не возвращается и код зацикливается на неопределенный срок.

Кроме того, любые идеи о том, как решить проблему в целом, очень ценятся.

Вещи, которые я пробовал до сих пор - нет тайм-аута для скрипта php. Удалена поддержка SSL из вызова на S3, включена память 128M для скрипта.

ответ

2

Возможно, вам необходимо изменить скрипт S3 напрямую, чтобы узнать, какой шаг не работает, и, вероятно, установить некоторые дополнительные параметры завитка от this page. Некоторые возможные настройки, чтобы посмотреть на это:

  • CURLOPT_CONNECTTIMEOUT
  • CURLOPT_LOW_SPEED_LIMIT
  • CURLOPT_LOW_SPEED_TIME

Последние два работают вместе, чтобы определить, когда отказаться от скручивания запроса, первый раз при создании начальное соединение.

Для вывода отладки с самого скручивания вы можете установить CURLOPT_VERBOSE и назначить файл CURLOPT_STDERR для захвата вывода. Это должно помочь выяснить, в чем проблема.

+0

Thaks! Я использовал вышеприведенный совет, и операция была слишком медленной. Менее 10000 байт/сек переместили последние 20 секунд. Как я могу продолжить здесь? – Nir

Смежные вопросы