Улучшение работы Postgresql

PPTP использует относительно простой механизм инкапсуляции и использует поточный шифр RC4, который является относительно дешевым с точки зрения загрузки ЦП. L2TP имеет намного более сложный механизм инкапсуляции с потенциально до 6 слоев инкапсуляции с инкапсулированным туннелем IPSec, использующим обычно 3DES или (позже) Шифрование AES. 3DES относительно эффективно при реализации в аппаратных средствах, но мой опыт состоит в том, что программное обеспечение только L2TP с 3DES имеет о дважды издержках более простых протоколов инкапсуляции, хотя у меня нет значительного опыта с выполнением PPTP и L2TP в гневе на тех же аппаратных средствах. С AES ЦП наверху должен быть ниже, я полагаю, что это обычно на 20-30% ниже 3DES, но у меня нет точных данных для резервного копирования этого.

Путь назад в глубинах времени (2002/2003), у меня была забавная задача поддержки инфраструктуры VPN, которая была составлена из большого количества Intel\Shiva Netstructure 3120 и 3 130 шлюзов VPN, поддерживающих 60k удаленные пользователи. Большая часть инфраструктуры работала в, или близко к он - практические пределы производительности в то время. Сами устройства были (по большей части) стандартным x86 серверным оборудованием с Pentium на 733 МГц III ЦП и 512 МБ RAM. То, что 3130 имел, некоторые выделили crypto аппаратные средства акселератора (для DES/3DES) и легко обработали 90-95Mbps, зашифровало throughput\10K одновременные туннели, но эти 3120 были в основном просто базовым сервером без crypto ускорения и только управляли приблизительно 20 Мбит/с throughput\2K одновременные туннели. Та пропускная способность была основана на собственном протоколе Shiva\Intel под названием SST, который имел полезную функцию только требования, чтобы единственный порт UDP работал, но те же аппаратные средства смогли обработать приблизительно 75% пропускной способности с IPSec V2 незначительно меньше с L2TP, который был в процессе того, чтобы быть ратифицированным в то время. На практике эти 3 120 шлюзов все еще легко обработали 1 000 параллельных туннелей и приблизительно 10 Мбит/с пропускной способности с L2TP.

Моя точка - то, что программное обеспечение только реализация L2TP, работающего на одноядерном Intel Coppermine CPU на 733 МГц с архитектурой, которая поддерживала не больше, чем 1GByte/sec пропускную способность памяти, удобно смогло обработать зашифрованную пропускную способность на 10 Мбит/с через очень большое количество параллельных сессий. Современный multi-core\multi-socket сервер будет иметь 20-50x мощность ЦП на сокет и 20x или больше пропускная способность памяти, таким образом, я ожидал бы, что, такие как система должен смочь легко поддерживать 1 Гбит/с пропускной способности L2TP с программным обеспечением только решение и с любыми crypto аппаратными средствами во всем, современная система должна смочь поставить линейной скорости L2TP на нескольких Гигабитных интерфейсах без любой проблемы.

0
задан 26 March 2013 в 08:10
2 ответа

Используйте инструмент pgtune из pgfoundry . https://github.com/gregs1104/pgtune

pgtune возьмет файл postgresql.conf по умолчанию, проверит оборудование и предложит значения конфигурации.

1
ответ дан 4 December 2019 в 14:15

Дает ли индексация производительность улучшение?

У вас сейчас нет индексов (кроме первичных ключей)? Если нет, то это единственное место для начала, хотя вам нужно понять свои запросы, чтобы определить, где индексы принесут пользу.

Кроме того, вам следует взглянуть на postgresql.conf, так как там можно многое сделать - значения по умолчанию очень консервативны.

Также стоит обратить внимание на режим обслуживания. Если это более старая версия PostgreSQL, возможно, она не очищается автоматически.

тогда это единственное место для начала, хотя вам нужно понимать ваши запросы, чтобы определить, где индексы принесут пользу.

Кроме того, вам следует взглянуть на postgresql.conf, так как там можно многое сделать - по умолчанию очень консервативен.

Также стоит обратить внимание на режим обслуживания. Если это более старая версия PostgreSQL, возможно, она не очищается автоматически.

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

Кроме того, вам следует взглянуть на postgresql.conf, так как там можно многое сделать - по умолчанию очень консервативен.

Также стоит обратить внимание на режим обслуживания. Если это более старая версия PostgreSQL, возможно, она не очищается автоматически.

1
ответ дан 4 December 2019 в 14:15

Теги

Похожие вопросы