У меня есть сценарий оболочки, который я использую для контроля времени загрузки и кодов ответов на моем живом кластере серверов. Он выполняет 250 итераций каждые 5 минут, распределенных по 10 серверам и 6 сайтам. Он использует curl с флагом -w для возврата соответствующей информации, которая затем анализируется моим сценарием оболочки:
curl -svw 'monitor_load_times %{time_total} %{http_code}' -b 'server=$server' -m 15 -o /dev/null $url 2>&1
Затем эта информация анализируется графическим скриптом, который может отображать несколько разных ответов. Тем не менее, curl будет иногда возвращать код ответа "000". Когда это происходит, кажется, что это происходит несколько раз одновременно, несмотря на то, что оно распределено по нескольким итерациям:
Я пытаюсь решить, является ли это проблемой на стороне клиента, которая искажает мои результаты, или если это фактически указывает на проблему на стороне сервера, затрагивающую весь мой кластер. 000 означает, что соединение было разорвано? Записи базы данных, соответствующие итерациям скручивания с этим кодом ответа, возвращают «0,000» для значения time_total. Все результаты поиска, которые я нашел для curl, возвращающего код 000, связаны с тем, что HTTPS не поддерживается, но все мои тестовые URL-адреса являются HTTP.
(Скачок 500 ошибок - совершенно не связанная с этим проблема, которая затронула мои серверы прошлой ночью.)