Обновление: Сегодня утром я провёл несколько тестов из офиса.
- Добавил адрес 10.0.100.1/30 на бридже в CCR (тот, где все EOIP тоннели объединены)
- Добавил 10.0.100.2/30 в EOIP тоннель в моём CPE
- Установил 10.0.100.1 в качестве маршрута по умолчанию
Это дало скорость загрузки примерно в два раза выше, чем при работе через PPPoE тоннель, и немного ниже, чем при чистом маршрутировании. Каждый тест скорости запускался несколько раз с каждым маршрутом, с включением/отключением маршрутов, чтобы обеспечить правильность результатов. Результаты (среднее из тестов):
Чистое маршрутирование: 21 Мбит/с
EOIP с адресами: 15 Мбит/с
PPPoE через EOIP: 7 Мбит/с
Так что это всё значит? Первоначально я пришёл к выводу, что и EOIP, и PPPoE замедляют всё, и что PPPoE — это худшее. После этого я понял, что тест 1) и 2) запускаются без каких-либо очередей, а 3) имеет простую очередь 100M/100M. Затем я удалил настройку ограничения скорости из профиля PPP и провёл ещё несколько тестов через PPPoE, включая/исключая ограничение скорости каждый второй раз. Результаты:
PPPoE с ограничением скорости: 8 Мбит/с
PPPoE без ограничения скорости: 20 Мбит/с
Это заставляет меня подозревать, что простые очереди или то, как CCR обрабатывает их, виноваты. Проблема в том, что CCR назначает обработку очередей только на одно ядро ЦП, что замедляет работу? Типичный профиль для моих клиентов выглядит примерно так, это для 6M/1.5M: /ppp profile
add address-list=Adr6000/1500 dns-server=x.x.x.x,y.y.y.y \
local-address=10.0.10.1 name=Profile6000/1500 rate-limit=\
"1500k/6000k 1800k/7000k 1200k/5000k 30/30" remote-address=pool1 Как видите, я использую барьсты. Есть ли что-то, что можно сделать с профилями, чтобы CCR обрабатывал очереди более эффективно? Остаётся ли мне создавать статические простые очереди? Или деревья очередей с PCQ — лучший вариант? Недостаток в том, что тогда я не буду видеть статус очереди для одного клиента. (Заметил, что эта тема в бета-форуме. Нормис, возможно ли перенести её в раздел «Оборудование Routerboard» или в общий раздел?)