Недавно я обновил свой сервер с CentOS 5.0 до четырехъядерного процессора с двухъядерного. Нужна ли перекомпиляция, чтобы использовать добавленные ядра? PostgreSQL был установлен путем компиляции из исходников.
Обновлено: обновление было с Intel Xeon 5130 до Intel Xeon 5345.
Если это та же самая архитектура, я не думаю, что потребуется перекомпиляция.
Если это другая архитектура (x86 vs x86_64 vs amd64 и т. д.), Вам придется перекомпилировать.
Нет, многопроцессорность обрабатывается динамически.
Предположительно и старый, и новый чип работают под архитектурой x86_64. Перекомпиляция не требуется, однако некоторая настройка базы данных и / или приложения может заключаться в полном использовании этих дополнительных ядер.
Нет, вам не нужно будет перекомпилировать PostgreSQL, чтобы воспользоваться преимуществами дополнительных ядер.
Что произойдет, так это то, что планировщик Linux теперь сможет выбрать два или более (до четырех) потоков / процессов postgresql для одновременного запуска, в основном они работают параллельно, а не должны ждать друг друга, чтобы получить кусок процессорного времени. Это означает, что вы можете обрабатывать данные быстрее, поскольку теперь можно обрабатывать четыре разных запроса одновременно, а не только два, которые у вас были ранее.
PostGreSQL не требует дополнительной настройки для использования преимуществ нескольких ядер / физических процессоров, и это полностью зависит от ОС. Вы в основном улучшили свою производительность за счет нового процессора.
Если вы ищете информацию о настройке PostgreSQL, взгляните на этот пост о настройке PostgreSQL на выделенном сервере.
Поскольку теперь у вас есть больше процессов, которые могут выполняться одновременно, вы также можете рассмотреть возможность увеличения объема оперативной памяти, которая у вас есть, в зависимости от того, что вы в настоящее время установили. Чем больше база данных может храниться в памяти, тем быстрее все транзакции и запросы будут!