Наше веб-приложение в PHP делает серию завихрений для API в ответ на определенные запросы. Мы отлаживаем проблему, когда запрос иногда истекает через 30 секунд с кодом ответа 503 ... мы уверены, что это связано с тем, что один (или два) запросов на завивки занимает слишком много времени.Как диагностировать долговременные запросы на PHP-скручивание
В целях диагностики того, какие проблемы с завихрением являются проблемой, мы хотели бы регистрировать или отслеживать отдельные запросы. Мы размещаем приложение на экземпляре Heroku Cedar с дополнением Logentries, и мы также используем New Relic, но ни один из инструментов, похоже, не предлагает возможность регистрировать/отслеживать отдельных пользователей curl
. как нам это сделать?
Я знаю, что мы могли бы устанавливать переменные с отметками времени и записывать их вручную ... но подозреваем, что мы будем «изобретать колесо». Каков наилучший способ сделать это, желательно, не возиться с нашей базой кода.
Где doees фактор XDebug в вашем примере выше ? Можете ли вы рассказать об этом? – emersonthis
Вот если вы решили использовать xdebug для диагностики завитка. например, в curl вы можете установить curl_setopt ($ ch, CURLOPT_COOKIE, 'XDEBUG_SESSION = 1'); – unixmiah
Перечитывая свой ответ ... можете ли вы немного объяснить, зачем/почему нужны два 'curl_setopt'? Являются ли они для установления тайм-аута соединения? Или для целей отладки? Я бы предпочел не увеличивать допуски, чтобы допускать медленные запросы. Скорее, я хотел бы определить, какие вызовы замедляют все (и, возможно, удаляют их). Имеет ли это смысл? – emersonthis