Назад | Перейти на главную страницу

Большое количество сбросов TCP и сброса пакетов в CentOS Linux

У меня есть небольшая ферма веб-серверов (HP Proliant и IBM x, с сетевыми адаптерами Broadcom Corporation NetXtreme II BCM5), на которых работает Apache 2.2.15 на CentOS 6, за балансировщиком нагрузки Cisco ACE, обслуживающая веб-портал на основе PHP / JS. Эта ферма ежедневно получает множество запросов (обслуживает целую небольшую страну), пытаясь получить доступ к странице-заставке (чтобы перейти оттуда на страницу индекса)

Я боролся со следующей проблемой:

Инициализация kallsyms db dropwatch> start Включение мониторинга ... Мониторинг ядра активирован. Выпуск Ctrl-C, чтобы остановить мониторинг 53 капель на tcp_v4_md5_hash_skb + 248 (0xffffffff8149fa08) 26 капель в tcp_rcv_established + 926 (0xffffffff814981b6) 3 капли на tcp_v4_reqsk_destructor + фа (0xffffffff814a104a) 1 капли на netlink_unicast + 251 (0xffffffff81471b11) 56 капель в tcp_v4_md5_hash_skb + 248 ( 0xffffffff8149fa08) 29 капель на tcp_rcv_established + 926 (0xffffffff814981b6) 4 капли на tcp_v4_reqsk_destructor + фа (0xffffffff814a104a) 51 капель в tcp_v4_md5_hash_skb + 248 (0xffffffff8149fa08) 32 капель в tcp_rcv_established + 926 (0xffffffff814981b6) 2 капли на tcp_v4_reqsk_destructor + фа (0xffffffff814a104a) 1 капли на ip_rcv_finish + 199 (0xffffffff8147ea49) 1 капли на tcp_v4_destroy_sock + 115 (0xffffffff814a0cf5) 1 капли на tcp_v4_reqsk_destructor + фа (0xffffffff814a104a) 22 капель на tcp_rcv_established + 926 (0xffffffff814981b6) 36 капель в tcp_v4_md5_hash_skb + 248 (0xffffffff8149fa08) 2 капли на tcp_v4_reqsk_destructor + фа (0xffffffff814a104a ) 49 капель на tcp_v4_md5_hash_skb + 248 (0xffffffff8149fa08) 29 выпадает в tcp_rcv_established + 926 (0xffffffff814981b6) 26 падает в tcp_rcv_established + 926 (0xffffffff814981b6)

Я следую рекомендациям RH (Руководство по настройке производительности сети Red Hat Enterprise Linux), хотя я не видел некоторых из описанных там симптомов на своих серверах. Коротко:

Все вышеперечисленное безуспешно.

Все сетевые карты работают на скорости: 1000 Мбит / с, загрузка ЦП и диска низкая, и ни то, ни другое. netstat ни ethtool показывает ошибки.

Есть идеи, что еще можно сделать?

Сброс TCP - это немедленное закрытие TCP-соединения. Это позволяет освободить ресурсы, выделенные для предыдущего подключения, и сделать их доступными для системы.

причины генерации RST

Подтвердить, сбросить

  1. отправлено в ответ на Syn. Ack Reset, отправляемый в ответ на кадр Syn, отправляется для подтверждения получения кадра, но затем для того, чтобы сообщить клиенту, что сервер не может разрешить соединение на этом порту. Среди причин появления Ack, Reset:

    а. Узел, к которому подключается, не прослушивает порт, к которому пытается подключиться клиентский узел.

    б. По какой-то причине серверный узел не может установить соединение с этим портом. Например, на сервере закончились ресурсы, и поэтому он не может выделить необходимые ресурсы, чтобы разрешить соединение.

RST

  1. Если соединение находится в каком-либо несинхронизированном состоянии (LISTEN, SYN-SENT, SYN-RECEIVED), и входящий сегмент подтверждает что-то еще не отправленное (сегмент несет недопустимый ACK), отправляется сброс.

  2. Следующий сброс - это сброс TCP, который происходит, когда сетевой кадр отправляется шесть раз (это будет исходный кадр плюс пять повторных передач кадра) без ответа. В результате отправляющий узел сбрасывает соединение.

Как вы и пытались использовать различные параметры настройки ядра, попробуйте использовать параметр tcp cookies ядра

Включить защиту TCP SYN cookie

Edit the file /etc/sysctl.conf, run:
# vi /etc/sysctl.conf

Append the following entry:

net.ipv4.tcp_syncookies = 1

Save and close the file. To reload the change, type:
# sysctl -p 

решение может быть дано только путем анализа ваших логов, IPtables тоже может помочь