Из, казалось бы, ниоткуда на моем производственном сервере возникает ошибка фрагментации по определенному запросу. На сервере не было изменено ни одного файла конфигурации, и ничего другого на сервере не изменилось. Я даже не уверен, с чего начать отладку этой ошибки.
Эта ошибка фрагментации возникает только при 1 запросе GET с параметрами запроса.
В Chrome ошибка: net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (Ok)
.
Чтобы убедиться, что это не проблема Chrome, я попробовал использовать Firefox, но произошло то же самое, но с другой ошибкой SyntaxError: JSON.parse: unterminated string at line
. Проверка ответа показывает, что Firefox получает часть JSON из запроса, но не все.
На сервере я использовал cURL для ПОЛУЧЕНИЯ URL-адреса с точно такими же параметрами запроса и получил эту ошибку: ncurl: (18) transfer closed with outstanding read data remaining
. Если я использую HTTP 1.0, ничего не меняется, но если я добавлю заголовок "Expect: "
, в какой-то момент запрос перестанет получать данные.
cURL здесь не проблема, мне нужен этот запрос для работы с запросом Javascript AJAX. Файл, в котором сделан этот запрос, не изменялся в течение 7 месяцев.
Ожидаемый возврат этого запроса составляет от 50 до 200 строк из базы данных. Если я выполняю запрос SELECT непосредственно в базе данных, проблем нет.
С чего мне начать искать? Файлы журналов не содержат интересующей информации, а на сервере много памяти и ЦП.
Наш сервер - Ubuntu 16.04 и Apache 2.4. Наш API - DreamFactory; никаких настроек там тоже не менялось.