У меня есть сервер 10GBit с установленным proxmox 2.1. Есть контейнер OpenVZ, работающий с Ubuntu 10.04 64bit. Я могу получить 200-300 МБ / с с помощью wget с внутренних серверов центра обработки данных (-O / dev / null), что нормально. Однако при наличии нескольких соединений невозможно получить в сумме более 800 Мбит / с.
У меня работает веб-сервер apache2, который работает как прокси и получает доступ к данным с нескольких других (не только внутренних серверов центра обработки данных). Это только проксирование, поэтому доступ к жесткому диску не осуществляется (кроме файлов журналов, конечно). Поскольку в этом сервере есть два SSD, маловероятно, что это причина. Как только будет достигнуто 800MBit, я получу только 300kb / sec от внутренних серверов центра обработки данных с помощью "wget -O / dev / null" ", даже на самой хост-системе, а не в контейнере OpenVZ.
Я заметил, что процесс ksoftirqd / 0 требует большой загрузки процессора (до 100%):
4 root 20 0 0 0 0 R 78 0.0 67:38.99 ksoftirqd/0 # (78% in this case)
Иногда также события процесса / 0 требуют большой мощности процессора и, кажется, конкурируют с ksoftirqd / 0 за мощность процессора:
35 root 20 0 0 0 0 R 50 0.0 18:04.63 events/0
4 root 20 0 0 0 0 R 50 0.0 24:37.64 ksoftirqd/0
Вывод top о мощности процессора выглядит так:
Cpu(s): 13.9%us, 7.3%sy, 0.0%ni, 64.0%id, 0.2%wa, 0.0%hi, 14.6%si, 0.0%st
Как видите, si очень высока, и обычно она должна оставаться равной 0. Также жесткий диск не является узким местом. (0,2% воды).
У меня также были другие 1-гигабитные серверы с такой же конфигурацией. Они даже достигают 900 МБит / сек, что нормально для сервера 1 ГБит. Однако есть и высокая загрузка ksoftirqd / 0 (60-70%).
В настоящее время через 10-гигабитный сервер проходит около 300 Мбит / с, а процесс ksoftirqd / 0 остается на 0% ЦП.
Однако позже вечером, когда трафик возрастет, он поднимется до 100 и сократит полосу пропускания до 800 Мбит.
Может проблема с OpenVZ? Я мог бы также установить ubuntu прямо на сервер без proxmox только для тестирования, но было бы лучше, если бы я мог остаться с proxmox / OpenVZ.
Однако важно, чтобы я мог использовать хотя бы несколько гигабит с этим сервером, как только мне это понадобится. Конечно, также с несколькими подключениями.
Насколько я могу прочитать вывод из lspci -vv
, моя карта поддерживает MSI-X.
В системе есть Intel® Xeon® Processor E5606 (8M Cache, 2.13 GHz, 4.80 GT/s Intel® QPI)
процессор
Это моя сетевая карта:
root@ns231828:~# lspci | grep -i network
02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)
05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
Я также загрузил очищенный вывод lshw
Вот: http://jsfiddle.net/R8QgL/
Это тоже содержание lspci -vv
: http://pastebin.com/7PqqbzHM
У меня есть «тестовая среда» с небольшим пакетным скриптом, который загружает большие тестовые файлы скорости с множества серверов (на самом деле я взял только список зеркал ubuntu iso). я могу достичь 2 Гбит в этой среде.
после того, как я попробовал ethtool -C eth2 rx-usecs 1022
я смог достичь 3,5 гигабита.
однако с оптимизированными настройками rx-usecs (я также пробовал значения 1 и 1000, 1022 оказался лучшим) в реальной среде с реальными клиентами это получило только около 100 Мбит.
Я загрузил сюда другие результаты работы ethtool -k и ethtool -c: http://pastebin.com/rEtmuV6i
Кто-нибудь испытывал подобные проблемы или есть подсказка, как я могу решить эту проблему?