Виртуальный файл подкачки zRAM и ускоритель обработки трафика HWNAT
В операционной системе KeeneticOS интернет-центров Keenetic параметрами общего назначения, влияющими на производительность устройства, являются использование виртуального файла подкачки оперативной памяти и режим работы ускорителя обработки трансляции сетевых адресов.
Примечание
Важной характеристикой вычислительной системы можно считать используемую в ней оперативную (энергозависимую) память, обычно называемую RAM (Random Access Memory, память с произвольным доступом) или ОЗУ (Оперативное Запоминающее Устройство). Это буфер со скоростным интерфейсом обмена данными, в котором процессор может хранить рабочую информацию во время обработки задач.
В современных маршрутизаторах на основе встраиваемых процессорных решений на скорость обработки передаваемого по сети трафика существенное влияние оказывает специальная подсистема для осуществления преобразования сетевых адресов (NAT). Для разгрузки основного процессора, обработка трансляции сетевых адресов может выполняться при помощи специального аппаратного модуля.
Настройками виртуализации ОЗУ и механизма трансляции сетевых адресов можно управлять из веб-конфигуратора через меню "Общие настройки системы", выбирая требуемый уровень производительности.
Рассмотрим данные настройки более подробно.
Файл подкачки в виртуальной области оперативной памяти (RAM-диске)
Файл подкачки (в операционных системах семейства *nix для решения этих задач используется SWAP-файл или SWAP-раздел) становится необходим в силу ограниченного количества физически установленной оперативной памяти. Когда количество данных, хранение которых требуется при работе процессора над выполнением поставленных задач, превышает объем ОЗУ, а также в некоторых других случаях, система может переместить некоторые из оперативных данных в ПЗУ-накопитель (Постоянное Запоминающее Устройство, или энергонезависимая память). Таким образом, освобождается место в оперативной памяти, для хранения данных по текущим запросам процессора.
В случае использования виртуального диска zRAM для файла подкачки, специализированный модуль системы отбирает по определенным критериям участки в оперативной памяти, которые могут быть эффективно уменьшены в объеме методом быстрого сжатия. Данные в этих участках сжимаются, а по запросу восстанавливаются и передаются процессору. Физически, эти данные остаются в ОЗУ. Но, для системы они доступны через обращение к виртуальному файлу подкачки.
Для некоторых типов операций, такой алгоритм позволяет заметно повысить эффективность работы системы, при незначительной дополнительной нагрузке на процессор.
Например, при работе компонента IntelliQoS в условиях нагрузки на сеть может повышаться использование оперативной памяти, но при этом часть буферизуемых процессором данных будет востребована относительно редко и виртуальный файл подкачки прекрасно подойдет для их размещения.
Примечание
В устройствах с большим объемом ОЗУ (таких как, к примеру, модель Keenetic Peak KN-2710) файл подкачки в принципе может не быть востребован в практических сценариях работы. Включение виртуальной подкачки zRAM для таких устройств не имеет особенного смысла.
Фактически, использование файла подкачки в RAM-диске не приводит к сколь-нибудь существенному увеличению загруженности центрального процессора. Отключать файл подкачки в RAM-диске, по сути, имеет смысл при наличии физического скоростного (SSD) накопителя, на котором система размещает классический файл подкачки или раздел SWAP; либо при обнаружении проблем в работе с включенным zRAM.
Важно
Не рекомендуем использовать флэшки и накопители на жестких магнитных дисках с технологией черепичной магнитной записи SMR для размещения файла подкачки или SWAP-раздела крайне. Такие устройства не рассчитаны ни на выполнение частых операций произвольного (не последовательного) доступа к данным, ни на множественные циклы перезаписи.
Рекомендуется использовать для таких целей современные диски SSD или HDD обычного и серверного назначения с традиционной технологией перпендикулярной магнитной записью CMR.
Дополнительную информацию вы найдете в инструкции "Использование файла подкачки в сжатом RAM-диске (zRAM)".
Аппаратный ускоритель обработки NAT
Трансляция адресов стала неотъемлемой частью работы протокола IPv4 в современных сетях. Операция трансляции может выполняться полностью программно, либо частично — с использованием аппаратного специализированного модуля HWNAT (HardWare offloading for Network Address Translation, аппаратная разгрузка трансляции сетевых адресов).
В последнем случае, определенная часть ресурсов общего назначения в системе может быть освобождена, а скорость обработки заметно возрастает. Обычно это заметно в приложениях, которые интенсивно используют высокоскоростные каналы для передачи данных между узлами в локальной и внешней (Интернет) сетях. Дополнительную информацию вы найдете в статье "Сетевой ускоритель".
Однако, для приложений, которым требуется доступ к данным в пакетах с транслируемыми при помощи HWNAT адресами, возникает проблема. Поскольку данные обрабатываются в отдельной подсистеме, доступ к ним со стороны процессора ограничен, и приложение может иметь лишь возможность частичной их обработки.
Здесь вновь можно привести в пример приложение IntelliQoS и службу классификатора сетевых приложений. В устройствах на базе процессоров моделей MT7621, EN7512, EN7513, EN7516, EN7528 (Giga KN-1010/1011, Ultra KN-1810, Viva KN-1910, Hero 4G KN-2310, Giant KN-2610, Speedster KN-3010, DSL KN-2010, DUO KN-2110, Giga SE KN-2410, Ultra SE KN-2510) для полноценной работы службы классификации трафика и IntelliQoS потребуется отключить аппаратный обработчик NAT.
Если же вам требуется от системы максимальная производительность, а детальностью в распознавании сетевого трафика можно пренебречь, следует оставить аппаратный ускоритель включенным.