Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
ПривязкапроцессовOpenVPN к процессору ⇐ ПредыдущаяСтр 2 из 2
Очевидно, чтоимеютсянекоторыенакладныерасходы, предотвращающееполнуюнагрузкупроцессоров. Предположительноэтозатраты на переключениеконтекстапроцессов и ихперемещениемеждуразнымипроцессорами. Серверы тестового стенда имеютархитектуру NUMA (Non-Uniform Memory Access). Для жёсткойпривязкипроцессов к ядрам и какследствие к т.н. нодамиспользуетсяутилита numactl. Можноуказать, чтоопределённыепроцессыдолжнызапускаться на конкретномядре: # numactl --physcpubind=1 openvpn... --port 5001 # numactl --physcpubind=2 openvpn... --port 5002 # numactl --physcpubind=3 openvpn... --port 5003 Послеэтого, ситуация с производительностьюзаметноулучшилась:
Такаязавышеннаяскорость, в сравнение с вариантом без шифрованиявообще, получается за счётприменениясжатиятрафика. В реальностиэтозначениеможетбытькакменьше, так и существеннобольше. Этобудетзависеть от передаваемыхданных. Запуск производился с настройками максимальнойпроизводительности, то есть с отключённойаутентификациейпакетов. Послевключенияполучаютсяследующиерезультаты:
Такжеможно установить размерыключейшифрованияравными 256-бит (AES-256-CBC), чтообеспечиваетгораздоболеевысокуюкриптостойкость и весьманезначительноепонижениепропускнойспособности:
Зачастую, в реальностиполноепиковоеиспользованиеканала далеко не всегдапроисходит. Былопроизведеноизмерениепроизводительностивсего с двумяOpenVPN-туннелями, но с привязкой к процессору:
Выводы Имеясовременныймногоядерныйпроцессор, можнонебольшимитрудозатратамидобитьсяпрозрачногокриптостойкогошифрованиятрафика канального уровня (напримермеждуподразделениямиорганизации, связаннойвыделенным каналом связи). Стоимость такого решениябудетсущественнонижеспециализированныхаппаратныхшифраторов. Распараллеливаниенагрузкипроизводится за счётраспределенияEthernet-фреймов, поступающих с физическогосетевогоинтерфейса на виртуальныйbonding-интерфейс, объединяющий TAP-устройстваформируемыепроцессамиOpenVPN. Если в процессореестьвозможностьвыполнения таких алгоритмов/функцийкак AES и SHA1, то можносущественноувеличитьпропускнуюспособностьшифрованногоканала. Эмпирическибылозамечено, чтооколополовинывсехвычислительныхресурсовзатрачивается на процесссжатияданных.
§ СергейМатвеев (руководительотделаисследования и разработки<sergey.matveev@etegro.com>) Отдельноеспасибо за помощь в написаниистатьи: § АндреюСапронову (технический директор <andrey.sapronov@etegro.com>)
Date: 2015-07-27; view: 1733; Нарушение авторских прав |