LINUX.ORG.RU

вопрос по производительности OpenVPN


0

1

Здравствуйте!

Вопрос по конфигурации подключения нескольких пользовательских машин (мобильных клиентов) к защищаемой сети через OpenVPN-сервер. Есть ли у кого-нибудь результаты тестов (или может кто-нибудь сам замерял) сколько одновременных VPN-сессий (например, при прокачке по каждой сессии трафика 10 Мб) выдерживает одно ядро процессора (и какого при этом процессора) OpenVPN-сервера? Это нужно для расчета количества процессоров для OpenVPN-сервера. Например, Pintium 4 1800 МГц обрабатывает 5 одновременных OpenVPN-сессий в загрузке VPN-трафика 10 Мб/с на каждую сессию.

И существует ли какое-нибудь соотношение процессоров: например, одно ядро Intel Xeon соответствует двум ядрам Pentium 4 такой же частоты? Это нужно для пересчета: допустим, посчитал я сколько нужно процессоров Pentium 4 1800 МГц для обработки необходимого количества VPN-сессий (например, получилось 20 процессоров), но этот результат нужно интерполировать на Intel Xeon. Существуют ли такие соотношения для пересчета (например: 20 Pentium 4 равноценны по производительности двум 4-x ядерным Intel Xeon той же частоты)?


Во-первых, жручесть OpenVPN очень сильно зависит от настроек. Особенно - настроек шифрования. Во-вторых, вряд ли на производительность заметно влияет именно количество клиентов. Скорее - общее количество пропускаемого трафика.

Интересная инфа есть тут: https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux

Deleted
()
Ответ на: комментарий от Deleted

За инфу спасибо, читаю.

Количество VPN-клиентов и пиковая загрузка по каждому из них - это исходные данные. И мне нужна какая-то опорная величина (результат тестов), что на таком-то процессоре было максимально обработано столько-то VPN-сессий с такой-то пиковой загрузкой (например, 10 Мб), чтобы рассчитать количество процессоров для сервера. И пусть этот тест был при определенных настройках, каких - не так важно. Я понимаю, что с увеличением числа сессий скорость, приходящаяся на каждую сессию, будет падать. Но интересует такой, можно сказать, идеализированный, вариант (тем не менее взятый из тестов), от которого можно оттолкнуться при расчете.

И соотношение процессоров тоже важно. Ведь, имея эту опорную величину, я знаю производительность только этого процессора, который использовался в тесте. А если мне надо поставить более современный процессор (или с более высокой частотой), то мне нужно соотношение производительности процессоров между собой для правильного пересчета.

grk
() автор топика
Ответ на: комментарий от grk

а если говорить о настройках шифрования, то в реальности будет работать aes-128-cbc

grk
() автор топика
Ответ на: комментарий от Deleted

Из документации по приведенной Вами ссылке можно ли сделать следующий вывод? Берем за основу процессор из теста Intel Xeon E5440 2.83GHz (4-х ядерный). Насколько я знаю, один процесс openvpn использует одно ядро (или я не прав?). По этому процессу было прокачано 156 Mbps. Можно ли из этого сделать вывод, что если бы через этот процесс шел не один туннель, а несколько пользовательских, то при прокачке по каждому пользовательскому VPN-туннелю 10 МБ/с получилось бы 156/10=15 сессий? Думается, что при нескольких отдельных сессиях будут еще накладные расходы на каждую сессию, поэтому скорее всего не 15 сессий, а меньше. Но насколько меньше? Как тут правильно разделить?

grk
() автор топика
Ответ на: комментарий от grk

ИМХО, масштабируемость линейная, с коэффициентом 0.8 при идентичных потоках.

Да, openvpn однопоточный. Можно запустить несколько процессов, но это будут разные туннели, хотя наверняка можно настроить несколько групп пользователей, каждая из которых будет к своему туннелю, и роутинг настроить на серваке.

а еще хинт: aes-ni

Deleted
()
Ответ на: комментарий от Deleted

Тогда получается следующее: исходя из одной сессии в 10 Мб/с «живого» VPN-трафика вычисляем 0,2 часть сессии 10*0,2=2 складываем 10+2=12 Мб/с - занимает одна сессия вместе с накладными расходами.. Тогда всего сессий будет 156/12=13 сессий.

Правильно ли я прикинул?

grk
() автор топика
Ответ на: комментарий от grk

для надежности уменьшаем на 1 сессию и получаем 12 сессий (по 10 Мб/с каждая) на одно ядро процессора Intel Xeon E5440 2.83GHz (4-х ядерный).

Огромное вам спасибо, очень помогли.

grk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.