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

Испытывает более низкую скорость Ethernet между стойками по сравнению со скоростью внутри стойки

У меня кластер с 32 машинами. Первые 25 машин находятся на первой стойке, а остальные 7 машин - на второй стойке. Каждая стойка оснащена коммутатором Ethernet 1 Гбит / с. Сетевое взаимодействие между разными стойками, безусловно, будет иметь снижение производительности (чего я точно не знаю).

Я использовал инструмент для измерения производительности сети, например iperf, для измерения скорости сети между машинами. Проблем нет (все соединения точка-точка между 32 машинами могут использовать всю полосу пропускания).

Однако в моем приложении (которое чувствительно к задержке с архитектурой сетевой связи запрос / ответ). Скорость сети между стойками в 4-5 раз ниже, чем скорость сети внутри стойки.

Я могу что-нибудь здесь сделать? Какие-нибудь известные стратегии применить?

Что ж, я думаю, вы определили свою проблему: конфликт каналов между двумя коммутаторами.

Смотрите, у каждого из ваших коммутаторов есть мульти-гигабитная объединительная плата. Это означает, что, в зависимости от возможностей коммутатора, коммутатор может одновременно поддерживать несколько полнодуплексных гигабитных передач. Однако ваш канал между коммутаторами - это только один гигабитный полнодуплексный режим. Таким образом, эта ссылка становится насыщенной, а затем все замедляется.

Чтобы убедиться, что именно это происходит, добавьте мониторинг своих коммутаторов и проверьте статистику для ваших портов восходящей связи во время тестирования скорости.

После подтверждения у вас есть несколько вариантов. Во-первых, рассмотрите возможность использования восходящего канала 802.3ad LAG между коммутаторами. Это не позволит одному потоку превысить 1 Гбит, однако вы сможете поддерживать несколько одновременных потоков 1 Гбит, количество которых зависит от того, сколько портов-членов LAG вы используете.

Другой вариант - перейти на коммутаторы, которые могут поддерживать восходящие каналы 10 Гбит / с.