Привет! Сегодня я получил плату apu1c от PC Engines. Это продолжение знаменитых и крутых плат Alix. Наконец-то у них появилась плата с гигабитным интерфейсом. Хотя моя плата, скорее всего, будет использоваться в качестве файрвола на pfSense, я подумал, что будет неплохо проверить, как RouterOS работает на этой плате.
Аппаратное обеспечение
CPU: 1ГГц T40E APU
ОЗУ: 2 ГБ DDR3-1066 DRAM (есть версия с 4 ГБ)
Потребление энергии: 6-12 Вт
Сеть: 3x Gbit Realtek RTL8111E
Подробности:
Софт
Я установил RouterOS x86 на SD-карту. Это было не так просто. Поскольку я работаю только в Linux, я пытался установить через Netinstall из своей Win7 виртуалки. Netinstall успешно записал систему на карту, но плата apu загрузиться не захотела: на последовательном порте после загрузки ядра не было никакого вывода. Я также не смог установить через netinstall из wine по сети.
В итоге я нашел такой способ:
- Создал виртуальную машину в VirtualBox
- Подключил USB-кардридер с SD-картой к виртуалке
- Загрузился с ISO RouterOS
- Установил RouterOS на SD-карту через виртуальную машину
С этой процедурой плата загрузилась и показала приглашение к вводу на последовательном порте.
Тесты
Для тестов пропускной способности я использовал следующую схему:
LaptopA —[ether2]→ APU [ether3] — LaptopB
MTU: 1500
Чтобы тестировать пропускную способность, на обоих ноутбуках запускался iperf. Каждый тест длился 60 секунд для получения средней величины. Для проверки меньшего размера пакетов я просто использовал параметр --mss у iperf.
Во время тестирования заметил, что значительная часть CPU загружена обработкой прерываний (System → resources → CPU: IRQ). Это, скорее всего, связано с сетевыми интерфейсами Realtek RTL8111E.
Тест A: Маршрутизация без файрвола, NAT и отслеживания соединений
1 TCP соединение:
Пакетов в секунду: ~85k
Пропускная способность iperf: 937 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 45-50%
10 параллельных TCP соединений:
Пакетов в секунду: ~90k
Пропускная способность iperf: 937 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 50-60%
1 TCP соединение (--mss 600):
Пакетов в секунду: ~190k
Пропускная способность iperf: 814 Мбит/с
По Webfig: ~920 Мбит/с
Загрузка CPU: ~80%
10 параллельных TCP соединений (--mss 600):
Пакетов в секунду: ~180k
Пропускная способность iperf: 782 Мбит/с
По Webfig: ~860 Мбит/с
Загрузка CPU: ~80%
Тест B: Маршрутизация с файрволом, NAT и отслеживанием соединений
Разницы между файрволом без NAT и с NAT не заметил!
1 TCP соединение:
Пакетов в секунду: ~85k
Пропускная способность iperf: 936 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 50-60%
10 параллельных TCP соединений:
Пакетов в секунду: ~90k
Пропускная способность iperf: 938 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 58-65%
1 TCP соединение (--mss 600):
Пакетов в секунду: ~190k
Пропускная способность iperf: 793 Мбит/с
По Webfig: ~920 Мбит/с
Загрузка CPU: ~80%
10 параллельных TCP соединений (--mss 600):
Пакетов в секунду: ~200k
Пропускная способность iperf: 805 Мбит/с
По Webfig: 870 Мбит/с
Загрузка CPU: ~85%
Первые выводы
Новая плата apu1c от PC Engines — достойное продолжение известных плат Alix. Как только установишь RouterOS на SD-карту, она работает на плате без проблем. Пока я не использую эту плату в продакшене, рад буду протестировать что-то еще. Если есть идеи, что еще можно проверить — дайте знать!
Аппаратное обеспечение
CPU: 1ГГц T40E APU
ОЗУ: 2 ГБ DDR3-1066 DRAM (есть версия с 4 ГБ)
Потребление энергии: 6-12 Вт
Сеть: 3x Gbit Realtek RTL8111E
Подробности:
Софт
Я установил RouterOS x86 на SD-карту. Это было не так просто. Поскольку я работаю только в Linux, я пытался установить через Netinstall из своей Win7 виртуалки. Netinstall успешно записал систему на карту, но плата apu загрузиться не захотела: на последовательном порте после загрузки ядра не было никакого вывода. Я также не смог установить через netinstall из wine по сети.
В итоге я нашел такой способ:
- Создал виртуальную машину в VirtualBox
- Подключил USB-кардридер с SD-картой к виртуалке
- Загрузился с ISO RouterOS
- Установил RouterOS на SD-карту через виртуальную машину
С этой процедурой плата загрузилась и показала приглашение к вводу на последовательном порте.
Тесты
Для тестов пропускной способности я использовал следующую схему:
LaptopA —[ether2]→ APU [ether3] — LaptopB
MTU: 1500
Чтобы тестировать пропускную способность, на обоих ноутбуках запускался iperf. Каждый тест длился 60 секунд для получения средней величины. Для проверки меньшего размера пакетов я просто использовал параметр --mss у iperf.
Во время тестирования заметил, что значительная часть CPU загружена обработкой прерываний (System → resources → CPU: IRQ). Это, скорее всего, связано с сетевыми интерфейсами Realtek RTL8111E.
Тест A: Маршрутизация без файрвола, NAT и отслеживания соединений
1 TCP соединение:
Пакетов в секунду: ~85k
Пропускная способность iperf: 937 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 45-50%
10 параллельных TCP соединений:
Пакетов в секунду: ~90k
Пропускная способность iperf: 937 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 50-60%
1 TCP соединение (--mss 600):
Пакетов в секунду: ~190k
Пропускная способность iperf: 814 Мбит/с
По Webfig: ~920 Мбит/с
Загрузка CPU: ~80%
10 параллельных TCP соединений (--mss 600):
Пакетов в секунду: ~180k
Пропускная способность iperf: 782 Мбит/с
По Webfig: ~860 Мбит/с
Загрузка CPU: ~80%
Тест B: Маршрутизация с файрволом, NAT и отслеживанием соединений
Разницы между файрволом без NAT и с NAT не заметил!
1 TCP соединение:
Пакетов в секунду: ~85k
Пропускная способность iperf: 936 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 50-60%
10 параллельных TCP соединений:
Пакетов в секунду: ~90k
Пропускная способность iperf: 938 Мбит/с
По Webfig: ~980 Мбит/с
Загрузка CPU: 58-65%
1 TCP соединение (--mss 600):
Пакетов в секунду: ~190k
Пропускная способность iperf: 793 Мбит/с
По Webfig: ~920 Мбит/с
Загрузка CPU: ~80%
10 параллельных TCP соединений (--mss 600):
Пакетов в секунду: ~200k
Пропускная способность iperf: 805 Мбит/с
По Webfig: 870 Мбит/с
Загрузка CPU: ~85%
Первые выводы
Новая плата apu1c от PC Engines — достойное продолжение известных плат Alix. Как только установишь RouterOS на SD-карту, она работает на плате без проблем. Пока я не использую эту плату в продакшене, рад буду протестировать что-то еще. Если есть идеи, что еще можно проверить — дайте знать!
