Здравствуйте, позвольте описать мою проблему. Лучше всего она видна на таком тесте.
1) с клиента посылаем запросы
ab -c100 -n210
2) на этой же машине запущен tcpdump
tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) > tcpdump.log
Результат:
- ab сообщает о 210 отправленных+полученных запросах
- на сервере в логах nginx 210
- на сервере в логах apache 210
- tcpdump показывает что количество пакетов с определёнными статусами:
клиент послал: F=219, P=219, S=300, R=36, .=639, SUM=1413
сервер послал: F=219, P=219, S=219, R=0, .=657, SUM=1314
(файл с обменом пакетами сохранён. Если нужен вышлю).
Проблема поймана на транспортном уровне, но определить в чём она состоит не хватает квалификации.
Прошу направить в нужное русло.
Всё это творится на продакшен-сервере (centos 5.4, apache 2.2.3, nginx 0.85.3). Лишние запросы составляют 1%, при нагрузке 10-50 динамики в секунду.