avb1987 Posted September 28, 2015 Posted September 28, 2015 (edited) Здравствуйте. В материнке Tyan S7010 установлены 2 адаптера E1G42ETBLK. Система - CentOS 7. Карточки включены в PCI Express 2.0 8x разъемы. Драйвер - последняя версия igb с сайта интела. Offloading выключен, Interrupt Throttle Rate выключен (без ограничений), RSS включен и распараллеливается. Сервер выступает в качестве NAS для PPPoE. Судя по описанию на сайте Intel, карточки используют 4x PCI-Express 2.0 (2.5 GT/s), т.е. суммарная пропускная способность шины на один адаптер должна быть в районе 1 гигабайт/сек (4x * 250 МБ/сек). На практике получается что одна карта не пропускает более чем 250 МБ/сек, что примерно равно 750 мбит прием и 250 мбит отдача через один порт и 750 мбит отдача и 250 прием через другой порт. Таким образом если ставить две карты (одна на вход, вторая на выход) с бондингом, то удается протолкнуть не более 1,6 гбит на прием и 0.4 гбит на отдачу при ~110k pps (через каждый адаптер), хотя по идее каждый адаптер должен иметь возможность обработать 1 гбит на прием и 1 гбит на отдачу одновременно на каждом порту (т.е. комп должен 2 гигабита пропускать без проблем одновременно в обоих направлениях). CPU практически не загружен и при максимальной загрузке показывает 1-3%. Кто-нибудь сталкивался с подобной проблемой? Edited September 28, 2015 by avb1987 Вставить ник Quote
Умник Posted September 28, 2015 Posted September 28, 2015 Что говорит при максимальной загрузке: mpstat -P ALL 1 10 ? Вставить ник Quote
alexaaa Posted September 29, 2015 Posted September 29, 2015 Здравствуйте. В материнке Tyan S7010 установлены 2 адаптера E1G42ETBLK. Система - CentOS 7. Карточки включены в PCI Express 2.0 8x разъемы. Драйвер - последняя версия igb с сайта интела. Offloading выключен, Interrupt Throttle Rate выключен (без ограничений), RSS включен и распараллеливается. Сервер выступает в качестве NAS для PPPoE. Судя по описанию на сайте Intel, карточки используют 4x PCI-Express 2.0 (2.5 GT/s), т.е. суммарная пропускная способность шины на один адаптер должна быть в районе 1 гигабайт/сек (4x * 250 МБ/сек). На практике получается что одна карта не пропускает более чем 250 МБ/сек, что примерно равно 750 мбит прием и 250 мбит отдача через один порт и 750 мбит отдача и 250 прием через другой порт. Таким образом если ставить две карты (одна на вход, вторая на выход) с бондингом, то удается протолкнуть не более 1,6 гбит на прием и 0.4 гбит на отдачу при ~110k pps (через каждый адаптер), хотя по идее каждый адаптер должен иметь возможность обработать 1 гбит на прием и 1 гбит на отдачу одновременно на каждом порту (т.е. комп должен 2 гигабита пропускать без проблем одновременно в обоих направлениях). CPU практически не загружен и при максимальной загрузке показывает 1-3%. Кто-нибудь сталкивался с подобной проблемой? что вы хотели от программно-аппаратной обработки, вообщу-то у неё порт 1Гб/с (750 приём + 250 отдача) вот вам и пропускная способность Вставить ник Quote
vlad11 Posted September 29, 2015 Posted September 29, 2015 что вы хотели от программно-аппаратной обработки, вообщу-то у неё порт 1Гб/с (750 приём + 250 отдача) вот вам и пропускная способность Полу-дуплекс, да? :) Вставить ник Quote
avb1987 Posted September 29, 2015 Author Posted September 29, 2015 (edited) Здравствуйте. Вывод "mpstat -P ALL 1 10" в момент максимальной загрузки: Linux 3.10.0-229.14.1.dsip.x86_64 (...) 09/28/2015 _x86_64_ (8 CPU) 09:23:27 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:28 PM all 0.64 0.00 1.27 0.00 0.00 3.50 0.00 0.00 0.00 94.59 09:23:28 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:28 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:28 PM 2 4.76 0.00 12.70 0.00 0.00 30.16 0.00 0.00 0.00 52.38 09:23:28 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:28 PM 4 0.00 0.00 0.00 0.00 0.00 1.08 0.00 0.00 0.00 98.92 09:23:28 PM 5 0.00 0.00 1.05 0.00 0.00 2.11 0.00 0.00 0.00 96.84 09:23:28 PM 6 0.00 0.00 0.00 0.00 0.00 1.45 0.00 0.00 0.00 98.55 09:23:28 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:28 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:29 PM all 0.49 0.00 1.62 0.00 0.00 2.43 0.00 0.00 0.00 95.47 09:23:29 PM 0 0.00 0.00 3.85 0.00 0.00 2.56 0.00 0.00 0.00 93.59 09:23:29 PM 1 2.56 0.00 5.13 0.00 0.00 2.56 0.00 0.00 0.00 89.74 09:23:29 PM 2 1.85 0.00 5.56 0.00 0.00 14.81 0.00 0.00 0.00 77.78 09:23:29 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:29 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:29 PM 5 0.00 0.00 0.00 0.00 0.00 1.10 0.00 0.00 0.00 98.90 09:23:29 PM 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:29 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:30 PM all 1.13 0.00 1.29 0.00 0.00 1.62 0.00 0.00 0.00 95.95 09:23:30 PM 0 6.02 0.00 0.00 0.00 0.00 1.20 0.00 0.00 0.00 92.77 09:23:30 PM 1 1.30 0.00 1.30 0.00 0.00 1.30 0.00 0.00 0.00 96.10 09:23:30 PM 2 1.92 0.00 1.92 0.00 0.00 3.85 0.00 0.00 0.00 92.31 09:23:30 PM 3 1.20 0.00 4.82 0.00 0.00 3.61 0.00 0.00 0.00 90.36 09:23:30 PM 4 0.00 0.00 1.06 0.00 0.00 3.19 0.00 0.00 0.00 95.74 09:23:30 PM 5 0.00 0.00 0.00 0.00 0.00 1.10 0.00 0.00 0.00 98.90 09:23:30 PM 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:30 PM 7 0.00 0.00 0.00 0.00 0.00 1.43 0.00 0.00 0.00 98.57 09:23:30 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:31 PM all 0.49 0.00 1.63 0.00 0.00 2.61 0.00 0.00 0.00 95.27 09:23:31 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:31 PM 1 1.32 0.00 3.95 0.00 0.00 3.95 0.00 0.00 0.00 90.79 09:23:31 PM 2 2.00 0.00 6.00 0.00 0.00 16.00 0.00 0.00 0.00 76.00 09:23:31 PM 3 1.22 0.00 4.88 0.00 1.22 2.44 0.00 0.00 0.00 90.24 09:23:31 PM 4 1.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.91 09:23:31 PM 5 0.00 0.00 0.00 0.00 0.00 1.08 0.00 0.00 0.00 98.92 09:23:31 PM 6 0.00 0.00 0.00 0.00 0.00 1.43 0.00 0.00 0.00 98.57 09:23:31 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:31 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:32 PM all 0.64 0.00 1.77 0.00 0.16 2.09 0.00 0.00 0.00 95.33 09:23:32 PM 0 1.18 0.00 5.88 0.00 0.00 2.35 0.00 0.00 0.00 90.59 09:23:32 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:32 PM 2 0.00 0.00 1.69 0.00 0.00 8.47 0.00 0.00 0.00 89.83 09:23:32 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:32 PM 4 0.00 0.00 2.17 0.00 0.00 1.09 0.00 0.00 0.00 96.74 09:23:32 PM 5 0.00 0.00 1.06 0.00 0.00 1.06 0.00 0.00 0.00 97.87 09:23:32 PM 6 1.56 0.00 4.69 0.00 0.00 6.25 0.00 0.00 0.00 87.50 09:23:32 PM 7 0.00 0.00 0.00 0.00 0.00 1.45 0.00 0.00 0.00 98.55 09:23:32 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:33 PM all 0.16 0.00 0.80 0.00 0.00 1.44 0.00 0.00 0.00 97.59 09:23:33 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:33 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:33 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:33 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:33 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:33 PM 5 1.09 0.00 0.00 0.00 0.00 1.09 0.00 0.00 0.00 97.83 09:23:33 PM 6 0.00 0.00 4.69 0.00 0.00 9.38 0.00 0.00 0.00 85.94 09:23:33 PM 7 0.00 0.00 0.00 0.00 0.00 3.08 0.00 0.00 0.00 96.92 09:23:33 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:34 PM all 0.32 0.00 0.64 0.00 0.00 1.77 0.00 0.00 0.00 97.27 09:23:34 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:34 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:34 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:34 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:34 PM 4 1.09 0.00 1.09 0.00 0.00 1.09 0.00 0.00 0.00 96.74 09:23:34 PM 5 0.00 0.00 1.08 0.00 0.00 1.08 0.00 0.00 0.00 97.85 09:23:34 PM 6 1.61 0.00 3.23 0.00 0.00 9.68 0.00 0.00 0.00 85.48 09:23:34 PM 7 0.00 0.00 1.54 0.00 0.00 1.54 0.00 0.00 0.00 96.92 09:23:34 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:35 PM all 0.64 0.00 0.48 0.00 0.00 1.61 0.00 0.00 0.00 97.27 09:23:35 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:35 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:35 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:35 PM 3 3.95 0.00 0.00 0.00 0.00 3.95 0.00 0.00 0.00 92.11 09:23:35 PM 4 0.00 0.00 1.09 0.00 0.00 1.09 0.00 0.00 0.00 97.83 09:23:35 PM 5 0.00 0.00 0.00 0.00 0.00 2.15 0.00 0.00 0.00 97.85 09:23:35 PM 6 1.52 0.00 3.03 0.00 0.00 7.58 0.00 0.00 0.00 87.88 09:23:35 PM 7 1.49 0.00 0.00 0.00 0.00 2.99 0.00 0.00 0.00 95.52 09:23:35 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:36 PM all 0.16 0.00 1.61 0.00 0.00 2.42 0.00 0.00 0.00 95.81 09:23:36 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:36 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:36 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:36 PM 3 0.00 0.00 1.32 0.00 0.00 0.00 0.00 0.00 0.00 98.68 09:23:36 PM 4 0.00 0.00 1.09 0.00 0.00 0.00 0.00 0.00 0.00 98.91 09:23:36 PM 5 0.00 0.00 0.00 0.00 0.00 1.08 0.00 0.00 0.00 98.92 09:23:36 PM 6 1.75 0.00 12.28 0.00 0.00 19.30 0.00 0.00 0.00 66.67 09:23:36 PM 7 0.00 0.00 1.49 0.00 0.00 1.49 0.00 0.00 0.00 97.01 09:23:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 09:23:37 PM all 0.32 0.00 0.81 0.00 0.00 1.77 0.00 0.00 0.00 97.10 09:23:37 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:37 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:37 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:37 PM 3 1.39 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.61 09:23:37 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:23:37 PM 5 0.00 0.00 1.06 0.00 0.00 3.19 0.00 0.00 0.00 95.74 09:23:37 PM 6 0.00 0.00 4.76 0.00 0.00 11.11 0.00 0.00 0.00 84.13 09:23:37 PM 7 0.00 0.00 0.00 0.00 0.00 1.54 0.00 0.00 0.00 98.46 Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 0.50 0.00 1.19 0.00 0.02 2.13 0.00 0.00 0.00 96.17 Average: 0 0.72 0.00 0.96 0.00 0.00 0.60 0.00 0.00 0.00 97.72 Average: 1 0.51 0.00 1.02 0.00 0.00 0.77 0.00 0.00 0.00 97.70 Average: 2 0.96 0.00 2.55 0.00 0.00 6.69 0.00 0.00 0.00 89.81 Average: 3 0.77 0.00 1.15 0.00 0.13 1.03 0.00 0.00 0.00 96.92 Average: 4 0.22 0.00 0.65 0.00 0.00 0.76 0.00 0.00 0.00 98.37 Average: 5 0.11 0.00 0.43 0.00 0.00 1.51 0.00 0.00 0.00 97.95 Average: 6 0.61 0.00 3.06 0.00 0.00 6.27 0.00 0.00 0.00 90.06 Average: 7 0.15 0.00 0.29 0.00 0.00 1.32 0.00 0.00 0.00 98.24 Вывод ethtool -S XXX http://pastebin.com/9kkUWWvT enp8s0f* - из интернета к насу enp10s0f* - от наса к абонентам Как тестировал и мерял скорость: По поводу того как определил: Сначала в сервере стоял один адаптер (а часть абонентов была подключена через другой NAS). Один порт был uplink, второй - downlink. Пик нагрузки составлял около 700/300 через каждый порт. Я попробовал с наса запустить скачивание с локального сервера который включен в тот же коммутатор и мне не удалось выжать более чем 800-850 мбит/с на uplink порту. При этом если в момент скачки запустить ping -f шлюза - начинались небольшие потери. После того как в сервер добавили второй адаптер и подключили вторую половину абонентов, я попробовал воспроизвести тест и на этот раз при общей загрузке 1,1 гбит мне дополнительно удалось выжать +30-45 мегабайт в сек при скачивании. При этом нагрузка на обоих портах адаптера enp8 была перед скачиванием примерно 450/150 мбит. Поскольку там бондинг то понятное дело что это скорость через один из портов, но если просто умножить на два, как раз и получается около 1600 мбит. Еще пробовал с помощью iperf делать тесты и получил примерно такие же значения. При этом на сервере с которого делал скачивание загрузки нет. И в случае отсутствия загрузки на насе идет скачивание четко 110 мегабайт/сек. По поводу того как меряю мегабиты - смотрю в вывод nload или на графики cacti. Возможно я немного преувеличил насчет 700, получается примерно 700-880, но это же не 950, и не 1000 как по идее должно быть. Во время пиковых нагрузок пинги через сервер не скачут и идут равномерно. Еще мне подсказал Умник насчет количества времени для усреднений в nload, я использовал значение по-умолчанию, которое равно 300 секунд. Если поставить 3 секунды и провести те же тесты то скорость download в пике достигает 900 мегабит через каждый адаптер, что опять таки не 1000. что вы хотели от программно-аппаратной обработки, вообщу-то у неё порт 1Гб/с (750 приём + 250 отдача) вот вам и пропускная способность Как заметили выше, все работает в полном дуплексе, так что должно быть 2 гигабита (1 гигабит туда и обратно) через каждый порт. Edited September 29, 2015 by avb1987 Вставить ник Quote
kayot Posted September 29, 2015 Posted September 29, 2015 Стесняюсь спросить, а шейпера выключать пробовали? Можно попробовать RSS выключить, и с очередями карты поиграться(на PPPoE толку от них никакого, можно поставить по 1 очереди на порт). Это явно не проблема карт(ET выдают свои 1+1гбит всегда и везде, на гараздо более слабом железе), а где-то в софте грабли. Вставить ник Quote
avb1987 Posted September 29, 2015 Author Posted September 29, 2015 (edited) Шейперы отключать не пробовал. Используются автоматически создаваемые accel-ppp с настройками: [shaper] attr=Filter-Id up-limiter=police down-limiter=tbf verbose=1 [root@nas1 ppp]# tc qdisc | grep -v "ppp" qdisc mq 0: dev enp10s0f0 root qdisc mq 0: dev enp10s0f1 root qdisc mq 0: dev enp8s0f0 root qdisc mq 0: dev enp8s0f1 root Насколько я понимаю для самого наса не должно быть каких-либо ограничений в скорости. Насчет RSS - попробую. UPD: Отключил RSS, теперь при отсутствии нагрузки, с помощью iperf получается протолкнуть около 1000 мбит/с одним TCP-соединением через один из адаптеров. Посмотрим какие результаты будут вечером с нагрузкой. Edited September 30, 2015 by avb1987 Вставить ник Quote
tartila Posted September 30, 2015 Posted September 30, 2015 Шейперы отключать не пробовал. Используются автоматически создаваемые accel-ppp с настройками: down-limiter=tbf Насколько я понимаю для самого наса не должно быть каких-либо ограничений в скорости. Вы заблуждаетесь. Используя дисциплину с глобал-локом (tbf) и старым ядром - вы можете получить просадку глобально. В новых ядрах будет просаживаться скорость только на шейпируемых интерфейсах. Вставить ник Quote
NiTr0 Posted September 30, 2015 Posted September 30, 2015 Еще вариант - pci-e работает в режиме х1... Вставить ник Quote
avb1987 Posted September 30, 2015 Author Posted September 30, 2015 (edited) Судя по выводу lspci карточки работают в режиме 4x: LnkCap: Port #2, Speed 2.5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- Отключение RSS не помогло - при наличии нагрузки, больше чем 800-850 мбит/с выжать с одного порта на прием так и не выходит. Отключение шейперов не помогло, отключил шейперы в accel-ppp, перезагрузил сервер, сейчас стоят значения по-умолчанию вроде таких: qdisc pfifo_fast 0: dev ppp1284 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Пробовал также отключать один из процессоров через /sys/... (это двухпроцессорная система), - не помогло. Вот еще настройки sysctl: net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.forwarding = 1 net.ipv4.conf.all.forwarding = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.all.disable_ipv6 = 1 net.core.netdev_max_backlog = 10000 kernel.hung_task_panic = 1 И настройки ethtool: /usr/sbin/ethtool -K enp8s0f0 tso off gso off gro off rx off tx off rxvlan off txvlan off /usr/sbin/ethtool -K enp8s0f1 tso off gso off gro off rx off tx off rxvlan off txvlan off /usr/sbin/ethtool -K enp10s0f0 tso off gso off gro off rx off tx off rxvlan off txvlan off /usr/sbin/ethtool -K enp10s0f1 tso off gso off gro off rx off tx off rxvlan off txvlan off /usr/sbin/ethtool -G enp8s0f0 rx 4096 tx 4096 /usr/sbin/ethtool -G enp8s0f1 rx 4096 tx 4096 /usr/sbin/ethtool -G enp10s0f0 rx 4096 tx 4096 /usr/sbin/ethtool -G enp10s0f1 rx 4096 tx 4096 В iptables только 3 правила, два делают NOTRACK для всего в raw/PREROUTING и raw/OUTPUT, и третее - в mangle/FORWARD: -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu На коммутаторе при тестировании показывает утилизацию порта на уровне 50%, т.е. как будто соединение реально работает в half-duplex, хотя если тестировать в обоих направлениях одновременно, то получается загрузить до 70%. К сожалению уже не знаю что и думать... Может ли влиять тип кабеля (Straight либо Crossover)? используется кросс. Edited September 30, 2015 by avb1987 Вставить ник Quote
avb1987 Posted September 30, 2015 Author Posted September 30, 2015 (edited) Видимо я не единственный с этой проблемой, вот похожая тема, так же без решения: http://forum.nag.ru/forum/index.php?showtopic=61560. Наверное это особенность этих карточек. В таком случае, если вдруг кто-нибудь использует accel-ppp в linux с 10G интерфейсами. Можете рассказать, сколько вам удается пропустить трафика через такой сервер доступа? В частности сейчас хотим попробовать взять Intel EXPX9502CX4, а чуть позже X520-DA2. Edited September 30, 2015 by avb1987 Вставить ник Quote
Ivan_83 Posted October 1, 2015 Posted October 1, 2015 Проверьте в другой ОС / другом железе. Вставить ник Quote
tartila Posted October 1, 2015 Posted October 1, 2015 Видимо я не единственный с этой проблемой, вот похожая тема, так же без решения: http://forum.nag.ru/forum/index.php?showtopic=61560. Наверное это особенность этих карточек. В таком случае, если вдруг кто-нибудь использует accel-ppp в linux с 10G интерфейсами. Можете рассказать, сколько вам удается пропустить трафика через такой сервер доступа? В частности сейчас хотим попробовать взять Intel EXPX9502CX4, а чуть позже X520-DA2. Мне тоже кажется, что вы рано сложили ручки... Проверить энергосбережение не забыли в BIOS? Вставить ник Quote
kosmich7 Posted October 2, 2015 Posted October 2, 2015 Видимо я не единственный с этой проблемой, вот похожая тема, так же без решения: http://forum.nag.ru/...howtopic=61560. Наверное это особенность этих карточек. Проблема вероятней всего не в картах, а в софте/железе. скорость download в пике достигает 900 мегабит через каждый адаптер, что опять таки не 1000. В какой/ие коммутатор/ы подключены оба линка ? Вставить ник Quote
avb1987 Posted October 2, 2015 Author Posted October 2, 2015 (edited) Проверить энергосбережение не забыли в BIOS? Intel SpeedStep отключил с самого начала, остальные настройки оставил по-умолчанию. Думал еще отключить C-State но не уверен что он как то может влиять на производительность в данном случае. В какой/ие коммутатор/ы подключены оба линка ? Все 4 порта включены в D-Link DGS-3627. Те что uplink - объединены в бондинг (LACP), те что downlink - работают как отдельные порты, на каждом порту своя часть клиентов. При этом uplink порты в одном влане с главным маршрутизатором и другими серверами, а downlink настроены как vlan trunk (т.е. находятся во всех вланах одновременно). Edited October 2, 2015 by avb1987 Вставить ник Quote
tartila Posted October 2, 2015 Posted October 2, 2015 (edited) Думал еще отключить C-State но не уверен что он как то может влиять на производительность в данном случае. Обязательно отключить, перевести все в состояние perfomance. Даже самый паршивый realtek вытянет 980 MBit/s, а тут речь про Intel Pro. Edited October 2, 2015 by tartila Вставить ник Quote
kosmich7 Posted October 2, 2015 Posted October 2, 2015 Все 4 порта включены в D-Link DGS-3627. Ошибки, дропы на портах есть ? Покажите в момент теста когда "скорость download в пике достигает 900 мегабит через каждый адаптер" на длинке show utilization ports Графики с распределением трафика на портах Длинка покажите. Вставить ник Quote
nuclearcat Posted October 2, 2015 Posted October 2, 2015 Если я не ошибаюсь, E1G42ETBLK - 82576 чипсет, который работает отлично. Тут почти однозначно дело не в карте. У меня на этом чипсете карта молола траффик "в полку". Только именно таких карт возможно сейчас и нет на максимальной нагрузке. Вставить ник Quote
avb1987 Posted October 4, 2015 Author Posted October 4, 2015 (edited) В общем, в итоге получилось следующее: 1) Были отключены SpeedStep, C-States, C1E, PCI Express ASPM, различные странные оптимизации, VT, VT-d, SR-IOV. Оказалось, что Linux использует C-States не смотря на настройки BIOS при помощи драйвера intel_idle, так что отключить удалось только добавив параметр idle=halt к параметрам ядра. Это все позволило немного увеличить отзывчивость системы, и теперь порог в 880-900 мегабит достигается на каждом адаптере без особых проблем. 2) Судя по показаниям коммутатора (TX Load из show ports XX details), он отдает свой гигабит, т.к. в моменты тестирования tx load достигает 97-100%, но при этом nload показывает трафик в районе 880-900 мбит. Похоже что коммутатор считает 1 гбит это 1 000 000 000 бит а не 1 073 741 824. По поводу дропов в статистике, они есть но их немного (от единиц до десятков), они все в RX (т.е. в трафике получаемом коммутатором от сервера) и ростут не во время тестов и не постоянно. Вот например один из uplink портов (показываю именно его, т.к. на втором ошибок нет) Port number : 19 RX Frames TX Frames --------- --------- CRC Error 0 Excessive Deferral 0 Undersize 0 CRC Error 0 Oversize 0 Late Collision 0 Fragment 0 Excessive Collision 0 Jabber 0 Single Collision 0 Drop Pkts 1 Collision 0 Symbol Error 0 Buffer Full Drop 0 ACL Drop 0 Multicast Drop 0 VLAN Ingress Drop 0 CTRL+C ESC q Quit SPACE n Next Page p Previous Page r Refresh Это данные за 20 часов. Вот данные по загрузке из details во время теста DGS-3627:admin#show ports 20 details Command: show ports 20 details Port : 20 -------------------- Port Status : Link Up Description : nas1 uplink Hardware Type : Gigabits Ethernet MAC Address : 00-1E-58-D4-58-FF Bandwidth : 1000000Kbit Auto-Negotiation : Enabled Duplex Mode : Full Duplex Flow Control : Disabled MDI : Cross Address Learning : Enabled Loopback Mode : Disabled Last clear of Counter : 20 hours 38 mins ago BPDU Hardware Filtering Mode: Disabled Queuing Strategy : TX Load : 97/100, 954257224bits/sec, 89668packets/sec RX Load : 18/100, 176145456bits/sec, 36929packets/sec CTRL+C ESC q Quit SPACE n Next Page p Previous Page r Refresh Вот из utilization DGS-3627:admin#show utilization ports Command: show utilization ports Port TX/sec RX/sec Util Port TX/sec RX/sec Util ----- ---------- ---------- ---- ----- ---------- ---------- ---- 1 25900 55300 16 22 34300 43800 26 2 23067 27133 17 23 9133 4967 3 3 22833 32933 20 24 3700 1733 2 4 54067 29433 19 25 0 0 0 5 16000 12667 10 26 61800 61333 4 6 8233 11867 7 27 45133 37233 3 7 11467 13300 7 8 15000 15667 8 9 27933 54433 34 10 0 0 0 11 267 267 1 12 2667 2767 1 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 33 33 1 18 100 100 1 19 43133 69400 32 20 97200 31600 57 21 47133 43533 30 Таким образом проблема была в неправильных измерениях и энергосбережении. Всем огромное спасибо за комментарии, думаю на этом можно считать проблему решенной. Edited October 4, 2015 by avb1987 Вставить ник Quote
pppoetest Posted October 4, 2015 Posted October 4, 2015 Похоже что коммутатор считает 1 гбит это 1 000 000 000 бит а не 1 073 741 824. Дык 1гигабит aka 1Gb и есть лярд бит, а то что ты хочешь называется гибибит ака 1Gib Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.