Тайм-ауты Apache и повторная передача TCP

Тайм-ауты Apache и повторная передача TCP

Theдокументация для директивы тайм-аутав apache говорится, что:

При записи данных клиенту — время ожидания подтверждения пакета, если буфер отправки заполнен.

Но если стек TCP не получает и не ACK, он повторно отправит пакет. Так как же взаимодействуют эти 2 вещи? Устанавливает ли тайм-аут apache общий лимит повторных попыток перед прерыванием соединения?

Контекст представляет собой ситуацию, когда попытки выполнить curl-запрос периодически завершаются ошибкой:

curl: (18) передача закрыта, осталось прочитать XXXXXX байт

и я пытаюсь определить точную причину.

Проведя трассировку Wireshark на клиенте и сервере, похоже, что сервер (apache) преждевременно завершает сеанс по какой-то причине (то есть не брандмауэр или что-то еще, принудительно закрывающее его). Это происходит с 2 типами файлов, которые часто загружаются: большими двоичными файлами (100 МБ mp4) и небольшими текстовыми файлами (~10 Кб). Для больших файлов есть сообщение журнала apache:

Указанный тайм-аут истек: [клиент :] AH01581: Тайм-аут при записи данных для URI /xxxx/xxxx/xxxx/ на клиент

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

Конфигурация:

CentOS 6.6

Апач 2.4.16

Завиток 7.19.7

Связанный контент