@daniks
Ничего особенного

Нагрузка сети на VDS KVM, большое количество PPS, Как разгрузить сеть?

Доброго времени суток, у меня такая проблема, есть VDS KVM с выделенным каналом в 1GB, на ней крутится IPIP туннель, на другой стороне крутится сервис который очень грузит сеть, но трафика мало, всего 30-40мбит/сек, а вот PPS доходит до 35000, и начинаются задержки внутри туннеля, пинг в незагруженом режиме 10-11мс. когда достигает 35к PPS, то пинг увеличивается в 5 раз, достигает 50-70мс. при этом этот сервис на другой стороне начинает работать с задержками.
На VDS есть 2 варианта выбора сетевой карты, это Intel 1000 PRO и Virtio, если выбрать Intel, то при такой нагрузке процессор загружается до 100% 1 ядро, второе в спокойном состоянии, если выбрать Virtio, то процессор почти не загружается, до 2х%, ОС Debian7, ОЗУ 1GB, 4Cores IntelXeon E3

sysctl -a | grep conntrack
root@admin:~# sysctl -a | grep conntrack
net.netfilter.nf_conntrack_generic_timeout = 600
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_udp_timeout = 30
net.netfilter.nf_conntrack_udp_timeout_stream = 180
net.netfilter.nf_conntrack_icmp_timeout = 30
net.netfilter.nf_conntrack_acct = 0
net.netfilter.nf_conntrack_timestamp = 0
net.netfilter.nf_conntrack_events = 1
net.netfilter.nf_conntrack_events_retry_timeout = 15
net.netfilter.nf_conntrack_max = 7836
net.netfilter.nf_conntrack_count = 983
net.netfilter.nf_conntrack_buckets = 2048
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_expect_max = 32
net.ipv4.netfilter.ip_conntrack_generic_timeout = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent2 = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 432000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10
net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300
net.ipv4.netfilter.ip_conntrack_tcp_loose = 1
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3
net.ipv4.netfilter.ip_conntrack_udp_timeout = 30
net.ipv4.netfilter.ip_conntrack_udp_timeout_stream = 180
net.ipv4.netfilter.ip_conntrack_icmp_timeout = 30
net.ipv4.netfilter.ip_conntrack_max = 7836
net.ipv4.netfilter.ip_conntrack_count = 983
net.ipv4.netfilter.ip_conntrack_buckets = 2048
net.ipv4.netfilter.ip_conntrack_checksum = 1
net.ipv4.netfilter.ip_conntrack_log_invalid = 0
net.nf_conntrack_max = 7836

Помогите что может быть, как исправить проблему??? если есть кто сможет реально помочь, заплачу денег
  • Вопрос задан
  • 730 просмотров
Пригласить эксперта
Ответы на вопрос 4
alexclear
@alexclear
A cat
Эмуляция сетевой карты должна использоваться virtio, без вариантов.
Непонятно, во что конкретно упирается обработка при 35Kpps. Если процессор занят на 2%, то все должно было бы быть хорошо. Что при этом в dmesg? Нет ли сообщений от ядра?
Ответ написан
Комментировать
@daniks Автор вопроса
Ничего особенного
https://docs.google.com/document/d/1XLwJRw71CLPsPe...

Это с аналогичной VDS, только тут 2 ядра и 256ОЗУ, аналогичная проблема с туннелем
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
В бридж на хосте упираетесь, скорее всего.
Ответ написан
@CMHungry
VDS у какого-то оператора, т.е. доступа на хост нет? Скорее всего в хосте проблема. Может быть, сетевая карта на хосте простая слишком, без очередей, и не размазывает по ядрам прерывания.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы