PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да увеличим максималните връзки в postgres?

Просто увеличавам max_connections е лоша идея. Трябва да увеличите shared_buffers и kernel.shmmax също.

Съображения

max_connections определя максималния брой едновременни връзки към сървъра на базата данни. По подразбиране обикновено са 100 връзки.

Преди да увеличите броя на вашите връзки, може да се наложи да разширите внедряването си. Но преди това трябва да помислите дали наистина имате нужда от повишено ограничение на връзката.

Всяка PostgreSQL връзка консумира RAM за управление на връзката или клиента, който я използва. Колкото повече връзки имате, толкова повече RAM ще използвате, която вместо това може да се използва за стартиране на базата данни.

Едно добре написано приложение обикновено не се нуждае от голям брой връзки. Ако имате приложение, което се нуждае от голям брой връзки, помислете за използването на инструмент като pg_bouncer, който може да обединява връзки за вас. Тъй като всяка връзка консумира RAM, трябва да се стремите да сведете до минимум тяхното използване.

Как да увеличим максималния брой връзки

1. Увеличете max_connection и shared_buffers

в /var/lib/pgsql/{version_number}/data/postgresql.conf

промяна

max_connections = 100
shared_buffers = 24MB

до

max_connections = 300
shared_buffers = 80MB

shared_buffers конфигурационен параметър определя колко памет е посветен към PostgreSQL за използване за кеширане на данни .

  • Ако имате система с 1GB или повече RAM, разумна начална стойност за shared_buffers е 1/4 от паметта във вашата система.
  • Малко вероятно е да използвате повече от 40% RAM, за да работите по-добре от по-малко количество (като 25%).
  • Имайте предвид, че ако вашата система или версия на PostgreSQL е 32-битова, може да не е практично да зададете shared_buffers над 2 ~ 2,5 GB.
  • Обърнете внимание, че в Windows големите стойности за shared_buffers не са неефективни и може да намерите по-добри резултати, като го поддържате сравнително ниски и вместо това използвате повече кеша на ОС. В Windows полезният диапазон е 64MB до 512MB .

2. Променете kernel.shmmax

Ще трябва да увеличите максималния размер на сегмента на ядрото, за да бъде малко по-голям отколкото shared_buffers .

Във файл /etc/sysctl.conf задайте параметъра, както е показано по-долу. Ще влезе в сила, когато postgresql рестартира (Следният ред прави ядрото максимално до 96Mb )

kernel.shmmax=100663296

Препратки

Postgres Max връзки и споделени буфери

Настройка на вашия PostgreSQL сървър



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавете знак плюс/минус към число в PostgreSQL

  2. Инсталация на Postgis:геометрия на типа не съществува

  3. Heroku PostgreSQL GROUP_BY грешка в приложението Rails

  4. Проста криптирана аритметична библиотека (SEAL) и променливата seal::Ciphertext

  5. 3 начина за изброяване на всички тригери за дадена таблица в PostgreSQL