K.3. ÐаÑÑÑойка паÑамеÑÑов ÑеÑвеÑа #
- K.3.1. ÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ
- K.3.2. ÐаÑамеÑÑÑ Ð¿Ð¾ÑÑÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи
- K.3.3. ÐаÑамеÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов ÑдÑа
- K.3.4. ÐаÑамеÑÑÑ Ñоновой запиÑи
- K.3.5. ÐаÑамеÑÑÑ Ð°ÑÐ¸Ð½Ñ Ñонного поведениÑ
- K.3.6. ÐаÑамеÑÑÑ Ð¶ÑÑнала пÑедзапиÑи (WAL)
- K.3.7. ÐаÑамеÑÑÑ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов
- K.3.8. ÐаÑамеÑÑÑ Ð°Ð²ÑомаÑиÑеÑкой оÑиÑÑки
- K.3.9. ÐаÑамеÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений
- K.3.10. ÐаÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовками
- K.3.11. ÐаÑамеÑÑÑ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ 1C
- K.3.12. ÐÑÑÑ Ðº подкаÑалогÑ
pg_stat_tmp - K.3.2. ÐаÑамеÑÑÑ Ð¿Ð¾ÑÑÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи
Ð ÑÑом докÑменÑе опиÑÑваеÑÑÑ, как наÑÑÑоиÑÑ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии ÑеÑвеÑа Postgres Pro Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑной пÑоизводиÑелÑноÑÑи и ÑÑабилÑноÑÑи пÑи ÑабоÑе Ñ ÑеÑениÑми 1C. ÐÑи паÑамеÑÑÑ ÑедакÑиÑÑÑÑÑÑ Ð² Ñайле конÑигÑÑаÑии postgresql.conf. УÑÑиÑе, ÑÑо пÑиведÑннÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов ÑвлÑÑÑÑÑ Ð¿ÑиблизиÑелÑнÑми. Ðни могÑÑ ÑаÑÑмаÑÑиваÑÑÑÑ ÐºÐ°Ðº наÑалÑÐ½Ð°Ñ ÑоÑка Ð´Ð»Ñ Ð´Ð°Ð»ÑнейÑей Ñонкой наÑÑÑойки.
ÐÐ»Ñ Ð±ÑÑÑÑой авÑомаÑиÑеÑкой наÑÑÑойки Postgres Pro можно Ñакже иÑполÑзоваÑÑ ÑÑилиÑÑ pgpro_tune. Ðна пÑедоÑÑавлÑÐµÑ Ð¿ÑеÑÐµÑ 1c.tune, коÑоÑÑй задаÑÑ Ð¾Ð¿ÑималÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов конÑигÑÑаÑии, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ 1C. Ðа подÑобноÑÑÑми об иÑполÑзовании ÑÑой ÑÑилиÑÑ Ð¾Ð±ÑаÑиÑеÑÑ Ðº ÐµÑ Ð´Ð¾ÐºÑменÑаÑии.
K.3.1. ÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ #
УвелиÑÑÑе макÑималÑное колиÑеÑÑво возможнÑÑ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений к ÑеÑвеÑÑ Ð±Ð°Ð· даннÑÑ , иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии max_connections. РеÑÐµÐ½Ð¸Ñ 1C могÑÑ Ð¾ÑкÑÑваÑÑ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво Ñоединений, даже еÑли не вÑе из Ð½Ð¸Ñ Ð¸ÑполÑзÑÑÑÑÑ. ÐоÑÑÐ¾Ð¼Ñ ÑекомендÑеÑÑÑ ÑазÑеÑиÑÑ Ð½Ðµ менее 500 подклÑÑений. Чем болÑÑе колиÑеÑÑво клиенÑÑÐºÐ¸Ñ ÑеанÑов, Ñем болÑÑе должно бÑÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа.
-- max_connections = 500..10000
K.3.2. ÐаÑамеÑÑÑ Ð¿Ð¾ÑÑÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи #
УвелиÑÑÑе обÑÑм памÑÑи, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð±Ð°Ð·Ð¾Ð¹ даннÑÑ Ð´Ð»Ñ ÐºÐµÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии shared_buffers. ÐÐ»Ñ Ñ Ð¾ÑоÑей пÑоизводиÑелÑноÑÑи ÑекомендÑеÑÑÑ ÑÑÑанавливаÑÑ Ð´Ð»Ñ ÑÑого паÑамеÑÑа как минимÑм 25% Ð¾Ñ Ð´Ð¾ÑÑÑпного обÑÑма опеÑаÑивной памÑÑи.
-- shared_buffers = ÐÐУ/4
УвелиÑÑÑе макÑималÑнÑй обÑÑм памÑÑи, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð²ÑеменнÑÑ Ð±ÑÑеÑов в каждом ÑеанÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ ÐºÐ¾ÑÑекÑнÑÑ ÑабоÑÑ Ð²ÑеменнÑÑ ÑаблиÑ. ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии temp_buffers.
РекомендÑемое знаÑение должно бÑÑÑ Ð¼ÐµÐ¶Ð´Ñ
32MBи256MB. ТоÑное знаÑение завиÑÐ¸Ñ Ð¾Ñ Ð¾Ð±ÑÑма памÑÑи на ÑеÑвеÑе и колиÑеÑÑва одновÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений. Чем болÑÑе подклÑÑений и менÑÑе обÑÑм памÑÑи, Ñем менÑÑе должно бÑÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа.-- temp_buffers = 32..256MB
УвелиÑÑÑе макÑималÑнÑй обÑÑм памÑÑи, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ опеÑаÑией запÑоÑа пеÑед запиÑÑÑ Ð½Ð° вÑеменнÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð¸Ñка. ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии work_mem.
ÐÑи вÑбоÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа ÑÑÑиÑе, ÑÑо ÑложнÑе запÑоÑÑ Ð¼Ð¾Ð³ÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно вÑполнÑÑÑ Ð½ÐµÑколÑко опеÑаÑий ÑоÑÑиÑовки и Ñ ÐµÑиÑованиÑ, и пÑи ÑÑом ÐºÐ°Ð¶Ð´Ð°Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ ÑказаннÑй обÑÑм памÑÑи. ÐÑоме Ñого, Ñакие опеÑаÑии могÑÑ Ð²ÑполнÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно в неÑколÑÐºÐ¸Ñ ÑеанÑÐ°Ñ . Таким обÑазом, обÑий обÑÑм иÑполÑзÑемой памÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð² неÑколÑко Ñаз болÑÑе Ñказанного знаÑениÑ. ТонкÑÑ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÑ Ð¿Ð°ÑамеÑÑа можно вÑполниÑÑ, оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑоздаваемÑÑ Ð² ÑиÑÑеме вÑеменнÑÑ Ñайлов.
-- work_mem = ÐÐУ/32..64 или 32MB..256MB
УвелиÑÑÑе макÑималÑнÑй обÑÑм памÑÑи, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ опеÑаÑией обÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , напÑимеÑ
VACUUMилиCREATE INDEX. ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии maintenance_work_mem.УÑÑиÑе, ÑÑо в ÑеанÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑÑÑ ÑолÑко одна ÑÐ°ÐºÐ°Ñ Ð¾Ð¿ÐµÑаÑиÑ. Таким обÑазом, можно задаваÑÑ ÑÑо знаÑение гоÑаздо болÑÑе, Ñем
work_mem. Ðолее вÑÑокие знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ ÑлÑÑÑаÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð¾Ð¿ÐµÑаÑий оÑиÑÑки и воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· копии.-- maintenance_work_mem = ÐÐУ/16..32 или work_mem * 4 или 256MB..4GB
Ð ÑлÑÑае ÑÑÑеÑÑвенной ÑÑагменÑаÑии памÑÑи ÑкажиÑе ÑледÑÑÑÑÑ Ð¿ÐµÑеменнÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð² Ñайле
/etc/systemd/system/postgresql.service:-- Environment = MALLOC_MMAP_THRESHOLD_= 8192
K.3.3. ÐаÑамеÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов ÑдÑа #
УвелиÑÑÑе макÑималÑное ÑиÑло Ñайлов, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно оÑкÑÑÑÑ ÐºÐ°Ð¶Ð´Ñм ÑеÑвеÑнÑм подпÑоÑеÑÑом. ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии max_files_per_process.
РекомендÑемое знаÑение â 10000, но оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑвелиÑено в завиÑимоÑÑи Ð¾Ñ Ð½Ð°Ð³ÑÑзки. ÐакÑималÑное допÑÑÑимое знаÑение завиÑÐ¸Ñ Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑемÑ. ÐÑли ÑеÑÐ²ÐµÑ Ð´Ð¾ÑÑÐ¸Ð³Ð°ÐµÑ ÑказаннÑй пÑедел, он наÑÐ¸Ð½Ð°ÐµÑ Ð¾ÑкÑÑваÑÑ Ð¸ закÑÑваÑÑ ÑайлÑ, ÑÑо влиÑÐµÑ Ð½Ð° пÑоизводиÑелÑноÑÑÑ. ÐÑÑлеживаÑÑ Ð¾ÑкÑÑÑÑе ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ lsof.
-- max_files_per_process = 10000
K.3.4. ÐаÑамеÑÑÑ Ñоновой запиÑи #
УменÑÑиÑе задеÑÐ¶ÐºÑ Ð¼ÐµÐ¶Ð´Ñ ÑаÑндами акÑивноÑÑи пÑоÑеÑÑа Ñоновой запиÑи, иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии bgwriter_delay. УÑÑиÑе, ÑÑо ÑлиÑком болÑÑое знаÑение паÑамеÑÑа бÑÐ´ÐµÑ ÑвелиÑиваÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° пÑоÑеÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑек и обÑлÑживаÑÑие пÑоÑеÑÑÑ, а ÑлиÑком маленÑкое знаÑение бÑÐ´ÐµÑ Ð¿ÑиводиÑÑ Ðº полной загÑÑзке одного из ÑдеÑ.
-- bgwriter_delay = 20ms
УвелиÑÑÑе знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов конÑигÑÑаÑии bgwriter_lru_multiplier и bgwriter_lru_maxpages, коÑоÑÑе ÑпÑавлÑÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑвом «гÑÑзнÑÑ Â» бÑÑеÑов, запиÑаннÑÑ Ð¿ÑоÑеÑÑом Ñоновой запиÑи в каждом ÑаÑнде акÑивноÑÑи.
-- bgwriter_lru_multiplier = 4.0 -- bgwriter_lru_maxpages = 400
K.3.5. ÐаÑамеÑÑÑ Ð°ÑÐ¸Ð½Ñ Ñонного Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ #
УкажиÑе колиÑеÑÑво одновÑеменнÑÑ Ð¾Ð¿ÐµÑаÑий ввода-вÑвода на диÑк, коÑоÑое каждÑй оÑделÑнÑй ÑÐµÐ°Ð½Ñ Postgres Pro пÑÑаеÑÑÑ Ð²ÑполнÑÑÑ Ð¿Ð°ÑаллелÑно. ÐÐ»Ñ ÑÑого иÑполÑзÑйÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии effective_io_concurrency. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ ÑолÑко на ÑканиÑование по биÑовой каÑÑе.
ÐÐ»Ñ Ð¼Ð°Ð³Ð½Ð¸ÑнÑÑ Ð½Ð¾ÑиÑелей Ñ Ð¾ÑоÑим наÑалÑнÑм знаÑением ÑÑого паÑамеÑÑа бÑÐ´ÐµÑ ÑиÑло оÑделÑнÑÑ Ð´Ð¸Ñков, ÑоÑÑавлÑÑÑÐ¸Ñ Ð¼Ð°ÑÑив RAID 0 или RAID 1, коÑоÑÑй иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . Ðднако ÑлиÑком болÑÑое знаÑение паÑамеÑÑа бÑÐ´ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑ Ð´Ð¸ÑковÑй маÑÑив, ÑÑо пÑиведÑÑ Ðº дополниÑелÑной нагÑÑзке на пÑоÑеÑÑоÑ.
ÐиÑки SSD ÑаÑÑо могÑÑ Ð¾Ð±ÑабаÑÑваÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво паÑаллелÑнÑÑ Ð·Ð°Ð¿ÑоÑов, Ñак ÑÑо лÑÑÑим знаÑением Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко ÑоÑен.
-- effective_io_concurrency = 2
УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии max_parallel_workers_per_gather знаÑение 0. ÐÑо вÑклÑÑÐ°ÐµÑ Ð¿Ð°ÑаллелÑнÑе запÑоÑÑ, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÑÐµÐ½Ñ Ñзлами
GatherиGather Merge. ÐаÑаллелÑнÑе запÑоÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾ÑÑеблÑÑÑ Ð·Ð½Ð°ÑиÑелÑно болÑÑе ÑеÑÑÑÑов, Ñем не паÑаллелÑнÑе.-- max_parallel_workers_per_gather = 0
K.3.6. ÐаÑамеÑÑÑ Ð¶ÑÑнала пÑедзапиÑи (WAL) #
ÐÑÑавÑÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии fsync знаÑение
on(по ÑмолÑаниÑ). Ð ÑÑом ÑлÑÑае ÑеÑÐ²ÐµÑ Postgres Pro пÑÑаеÑÑÑ Ð´Ð¾Ð±Ð¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±Ñли запиÑÐ°Ð½Ñ Ð½Ð° диÑк ÑизиÑеÑки, вÑполнÑÑ ÑиÑÑемнÑе вÑзовÑfsync(). ÐÑо гаÑанÑиÑÑеÑ, ÑÑо клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ ÑÐ¼Ð¾Ð¶ÐµÑ Ð²ÐµÑнÑÑÑÑÑ Ð² ÑоглаÑованное ÑоÑÑоÑние поÑле ÑÐ±Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ обоÑÑдованиÑ.ХоÑÑ Ð¾ÑклÑÑение паÑамеÑÑа
fsyncÑаÑÑо даÑÑ Ð¿Ð¾Ð²ÑÑение пÑоизводиÑелÑноÑÑи, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к неиÑпÑавимой поÑÑе даннÑÑ Ð² ÑлÑÑае оÑклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ ÑÐ±Ð¾Ñ ÑиÑÑемÑ.-- fsync = on
Ðажное замеÑание: еÑли Ð²Ð°Ñ Ð´Ð¸Ñк RAID Ð¸Ð¼ÐµÐµÑ ÐºÐµÑ Ð¸ ÑабоÑÐ°ÐµÑ Ð² Ñежиме оÑложенной запиÑи, ÑбедиÑеÑÑ, ÑÑо Ñ ÐºÐµÑа конÑÑоллеÑа диÑка еÑÑÑ ÑабоÑÐ°Ñ Ð±Ð°ÑаÑеÑ. РпÑоÑивном ÑлÑÑае даннÑе, запиÑаннÑе в кеÑ, могÑÑ Ð±ÑÑÑ Ð¿Ð¾ÑеÑÑÐ½Ñ Ð¿Ñи оÑклÑÑении пиÑаниÑ, и ÑеÑÐ²ÐµÑ Postgres Pro не ÑÐ¼Ð¾Ð¶ÐµÑ Ð¸Ñ Ð²Ð¾ÑÑÑановиÑÑ.
УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии synchronous_commit знаÑение
off. ÐÑо ознаÑаеÑ, ÑÑо ÑеÑÐ²ÐµÑ Postgres Pro не дожидаеÑÑÑ ÑбÑоÑа запиÑей WAL на диÑк, но возвÑаÑÐ°ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ Ð¿Ð¾Ð´ÑвеÑждение об ÑÑпеÑном вÑполнении.РоÑлиÑие Ð¾Ñ fsync, Ñказание знаÑениÑ
offÐ´Ð»Ñ ÑÑого паÑамеÑÑа не ÑгÑÐ¾Ð¶Ð°ÐµÑ ÑелоÑÑноÑÑи даннÑÑ . Сбой опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи ÑолÑко к поÑеÑе поÑÐ»ÐµÐ´Ð½Ð¸Ñ ÑÑанзакÑий. Таким обÑазом, вÑклÑÑение паÑамеÑÑаsynchronous_commitполезно, когда оÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð° вÑÑÐ¾ÐºÐ°Ñ Ð¿ÑоизводиÑелÑноÑÑÑ.-- synchronous_commit = off
УвелиÑÑÑе знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов конÑигÑÑаÑии checkpoint_timeout, min_wal_size и max_wal_size Ð´Ð»Ñ ÑокÑаÑÐµÐ½Ð¸Ñ ÑаÑÑоÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑек. СлиÑком ÑаÑÑÑе конÑÑолÑнÑе ÑоÑки пÑиводÑÑ Ðº знаÑиÑелÑной нагÑÑзке на диÑковÑÑ ÑиÑÑемÑ.
-- checkpoint_timeout = 15min -- min_wal_size = 512MB..4G -- max_wal_size = 2 * min_wal_size
УкажиÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии commit_delay, еÑли ÑÑеднее колиÑеÑÑво ÑÑанзакÑий в ÑекÑÐ½Ð´Ñ (TPS) болÑÑе 1000. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ Ð¿Ð°ÑÐ·Ñ Ð¿ÐµÑед вÑполнением ÑбÑоÑа WAL и Ð¼Ð¾Ð¶ÐµÑ ÑвелиÑиÑÑ Ð±ÑÑÑÑодейÑÑвие пÑи ÑикÑиÑовании гÑÑÐ¿Ð¿Ñ ÑÑанзакÑий.
-- commit_delay = 1000
K.3.7. ÐаÑамеÑÑÑ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов #
УкажиÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии effective_cache_size, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð¿Ñедположение планиÑовÑика об ÑÑÑекÑивном ÑазмеÑе диÑкового кеÑа, доÑÑÑпном Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ запÑоÑа.
ÐÑоизводиÑелÑноÑÑÑ Ð¾Ð¿ÑимизаÑоÑа запÑоÑов завиÑÐ¸Ñ Ð¾Ñ Ð²Ñделенного обÑÑма опеÑаÑивной памÑÑи. ÐÑи вÑÑÐ¾ÐºÐ¸Ñ Ð·Ð½Ð°ÑениÑÑ , как пÑавило, иÑполÑзÑеÑÑÑ ÑканиÑование по индекÑÑ, пÑи Ð½Ð¸Ð·ÐºÐ¸Ñ â поÑледоваÑелÑное ÑканиÑование.
-- effective_cache_size = ÐÐУ - shared_buffers
УкажиÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии random_page_cost, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð¿ÑиблизиÑелÑнÑÑ ÑÑоимоÑÑÑ ÑÑÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¹ пÑоизволÑной ÑÑÑаниÑÑ Ñ Ð´Ð¸Ñка.
ÐнаÑение ÑÑого паÑамеÑÑа задаÑÑÑÑ Ð¾ÑноÑиÑелÑно паÑамеÑÑа seq_page_cost, Ð´Ð»Ñ ÐºÐ¾ÑоÑого по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑановлено знаÑение
1.0. ÐÑи ÑменÑÑении знаÑениÑrandom_page_costÑиÑÑема наÑÐ¸Ð½Ð°ÐµÑ Ð²ÑбиÑаÑÑ ÑканиÑование по индекÑÑ Ð²Ð¼ÐµÑÑо поÑледоваÑелÑного ÑканиÑованиÑ. РекомендÑемое знаÑение завиÑÐ¸Ñ Ð¾Ñ Ð²Ñемени поиÑка диÑковой ÑиÑÑемÑ. Чем ниже вÑÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка, Ñем ниже должно бÑÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа (но не менÑÑе1.0).-- random_page_cost = 1.5-2.0 (Ð´Ð»Ñ RAID) или 1.1-1.3 (Ð´Ð»Ñ SSD)
УвелиÑÑÑе знаÑение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии from_collapse_limit. ÐланиÑовÑик бÑÐ´ÐµÑ Ð¾Ð±ÑединÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñе запÑоÑÑ Ñ Ð²Ð½ÐµÑними запÑоÑами, еÑли ÑезÑлÑÑиÑÑÑÑий ÑпиÑок
FROMбÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð½Ðµ болÑÑе Ñказанного колиÑеÑÑва ÑлеменÑов. УÑÑиÑе, ÑÑо пÑи менÑÑÐ¸Ñ Ð·Ð½Ð°ÑениÑÑ Ð¿Ð°ÑамеÑÑа ÑокÑаÑаеÑÑÑ Ð²ÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑованиÑ, но Ð¿Ð»Ð°Ð½Ñ Ð·Ð°Ð¿ÑоÑов могÑÑ ÑÑаÑÑ Ð¼ÐµÐ½ÐµÐµ ÑÑÑекÑивнÑми.-- from_collapse_limit = 20
УвелиÑÑÑе знаÑение паÑамеÑÑа конÑигÑÑаÑии join_collapse_limit. ÐланиÑовÑик бÑÐ´ÐµÑ Ð¿ÐµÑепиÑÑваÑÑ ÑвнÑе конÑÑÑÑкÑии
JOIN(за иÑклÑÑениемFULL JOIN) на ÑпиÑки ÑлеменÑовFROMкаждÑй Ñаз, когда ÑпиÑок ÑодеÑÐ¶Ð¸Ñ Ð½Ðµ болÑÑе Ñказанного колиÑеÑÑва ÑлеменÑов. УÑÑиÑе, ÑÑо пÑи менÑÑÐ¸Ñ Ð·Ð½Ð°ÑениÑÑ Ð¿Ð°ÑамеÑÑа ÑокÑаÑаеÑÑÑ Ð²ÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑованиÑ, но Ð¿Ð»Ð°Ð½Ñ Ð·Ð°Ð¿ÑоÑов могÑÑ ÑÑаÑÑ Ð¼ÐµÐ½ÐµÐµ ÑÑÑекÑивнÑми.-- join_collapse_limit = 20
УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии enable_sorted_merge_join знаÑение
off, ÑÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ Ð¸ÑполÑзование Ñоединений ÑлиÑнием в Ð¿Ð»Ð°Ð½Ð°Ñ Ñ ÑоÑÑиÑовкой. РеÑÐµÐ½Ð¸Ñ 1C не ÑабоÑаÑÑ Ñ ÑоединениÑми ÑлиÑнием, поÑÑÐ¾Ð¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑик беÑполезно ÑÑаÑÐ¸Ñ Ð²ÑÐµÐ¼Ñ Ð½Ð° ÑаÑÑмоÑÑение ÑÐ°ÐºÐ¸Ñ Ñоединений пÑи поиÑке опÑималÑного плана. ÐÑклÑÑение ÑÑого паÑамеÑÑа позволÑÐµÑ Ð¿Ð»Ð°Ð½Ð¸ÑовÑÐ¸ÐºÑ ÑокÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑованиÑ.-- enable_sorted_merge_join = off
ÐÑÑавÑÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии geqo знаÑение
on(по ÑмолÑаниÑ). ÐÑо вклÑÑÐ°ÐµÑ Ð³ÐµÐ½ÐµÑиÑеÑкий опÑимизаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑов (Genetic Query Optimizer, GEQO), коÑоÑÑй оÑÑÑеÑÑвлÑÐµÑ Ð¿Ð»Ð°Ð½Ð¸Ñование запÑоÑов, пÑименÑÑ ÑвÑиÑÑиÑеÑкий поиÑк. GEQO ÑокÑаÑÐ°ÐµÑ Ð²ÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑложнÑÑ Ð·Ð°Ð¿ÑоÑов, обÑединÑÑÑÐ¸Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑво оÑноÑений, но иногда ÑоздаÑÑ Ð¿Ð»Ð°Ð½Ñ, коÑоÑÑе менее ÑÑÑекÑивнÑе, Ñем планÑ, вÑбиÑаемÑе пÑи обÑÑном алгоÑиÑме полного пеÑебоÑа.ÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑполÑзованием GEQO ÑкажиÑе паÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии geqo_threshold. GEQO бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, коÑоÑÑе ÑодеÑÐ¶Ð°Ñ Ð½Ðµ менее Ñказанного колиÑеÑÑва ÑлеменÑов
FROM.-- geqo = on -- geqo_threshold = 12
УкажиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии jit знаÑение
offÐ´Ð»Ñ Ð²ÑклÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии Just-in-Time (JIT). ÐÑа компилÑÑÐ¸Ñ Ð¸Ð¼ÐµÐµÑ Ð¿ÑеимÑÑеÑÑво в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð´Ð»Ñ Ð´Ð»Ð¸ÑелÑнÑÑ Ð·Ð°Ð¿ÑоÑов, нагÑÑжаÑÑÐ¸Ñ Ð¿ÑоÑеÑÑоÑ, напÑÐ¸Ð¼ÐµÑ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸ÑиÑеÑÐºÐ¸Ñ Ð·Ð°Ð¿ÑоÑов. ÐÐ»Ñ Ð±ÑÑÑÑÑÑ Ð·Ð°Ð¿ÑоÑов добавлÑемÑе накладнÑе ÑаÑÑ Ð¾Ð´Ñ Ð±ÑдÑÑ Ð²ÑÑе, Ñем вÑемÑ, коÑоÑое Ð¼Ð¾Ð¶ÐµÑ ÑÐ¾Ñ ÑаниÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ñ JIT.-- jit = off
K.3.8. ÐаÑамеÑÑÑ Ð°Ð²ÑомаÑиÑеÑкой оÑиÑÑки #
ÐÑÑавÑÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии autovacuum знаÑение
on(по ÑмолÑаниÑ) Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка демона авÑооÑиÑÑки. ÐбÑаÑиÑе внимание, ÑÑо вÑклÑÑение демона авÑооÑиÑÑки бÑÐ´ÐµÑ Ð¿ÑиводиÑÑ Ðº ÑвелиÑÐµÐ½Ð¸Ñ ÑазмеÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ знаÑиÑелÑÐ½Ð¾Ð¼Ñ ÑÑ ÑдÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи.-- autovacuum = on
УвелиÑÑÑе макÑималÑное колиÑеÑÑво пÑоÑеÑÑов авÑооÑиÑÑки, коÑоÑÑе могÑÑ Ð²ÑполнÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно, иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии autovacuum_max_workers. Чем болÑÑе запÑоÑов на запиÑÑ Ð²ÑполнÑеÑÑÑ Ð² ÑиÑÑеме, Ñем болÑÑе ÑÑебÑеÑÑÑ Ð¿ÑоÑеÑÑов авÑооÑиÑÑки.
-- autovacuum_max_workers = ÑдÑа ЦÐ/4..2 (но не менее 4)
СокÑаÑиÑе минималÑнÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ð¼ÐµÐ¶Ð´Ñ ÑаÑндами авÑооÑиÑÑки, иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии autovacuum_naptime. ÐÑли знаÑение паÑамеÑÑа ÑлиÑком болÑÑое, Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ Ñ Ð²Ð°ÑиÑÑ Ð²Ñемени Ð´Ð»Ñ Ð¾ÑиÑÑки вÑÐµÑ ÑÑебÑемÑÑ ÑаблиÑ. ÐÑо пÑиведÑÑ Ðº ÑвелиÑÐµÐ½Ð¸Ñ ÑазмеÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ знаÑиÑелÑÐ½Ð¾Ð¼Ñ ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи. Ðднако ÑлиÑком маленÑкое знаÑение пÑиведÑÑ Ðº беÑполезной нагÑÑзке.
-- autovacuum_naptime = 20s
K.3.9. ÐаÑамеÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений #
УкажиÑе каÑалог, в коÑоÑом бÑдÑÑ ÑоздаваÑÑÑÑ Ð²ÑеменнÑе ÑаблиÑÑ Ð¸ индекÑÑ Ð²ÑеменнÑÑ ÑаблиÑ, иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии temp_tablespaces. ÐбÑÑно ÑеÑÐµÐ½Ð¸Ñ 1C иÑполÑзÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво вÑеменнÑÑ ÑаблиÑ. ÐÐ»Ñ ÑвелиÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи пÑи ÑабоÑе Ñ Ñакими ÑаблиÑами ÑаÑположиÑе ÑÑÐ¾Ñ ÐºÐ°Ñалог на оÑделÑнÑÑ Ð±ÑÑÑÑÑÑ Ð´Ð¸ÑÐºÐ°Ñ .
ÐеÑед ÑÑим ÑнаÑала Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоздаÑÑ ÑаблиÑное пÑоÑÑÑанÑÑво, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
CREATE TABLESPACE. ÐÑли Ñ Ð°ÑакÑеÑиÑÑики ÑелевÑÑ Ð´Ð¸Ñков оÑлиÑаÑÑÑÑ Ð¾Ñ Ð¾ÑновнÑÑ Ð´Ð¸Ñков, ÑкажиÑе в ÑÑой команде ÑооÑвеÑÑÑвÑÑÑее знаÑение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑаrandom_page_cost.-- temp_tablespaces =
'имÑ_ÑаблиÑного_пÑоÑÑÑанÑÑва'УкажиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии row_security знаÑение
off, ÑÑÐ¾Ð±Ñ Ð²ÑдаваÑÑ Ð¾ÑибкÑ, еÑли ÑезÑлÑÑаÑÑ Ð·Ð°Ð¿ÑоÑа ÑилÑÑÑÑÑÑÑÑ Ð¿Ð¾Ð»Ð¸Ñикой безопаÑноÑÑи на ÑÑовне ÑÑÑок.-- row_security = off
K.3.10. ÐаÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовками #
УвелиÑÑÑе знаÑение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии max_locks_per_transaction до 256. Ðно задаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво обÑекÑов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑеÑвеÑного пÑоÑеÑÑа или подгоÑовленной ÑÑанзакÑии, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно заблокиÑованÑ.
ÐбÑÑно ÑеÑÐµÐ½Ð¸Ñ 1C иÑполÑзÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво вÑеменнÑÑ
ÑаблиÑ. ÐаждÑй обÑлÑживаÑÑий пÑоÑеÑÑ Ð¾Ð±ÑÑно ÑодеÑÐ¶Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾ вÑеменнÑÑ
ÑаблиÑ. ÐÑи закÑÑÑии ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Postgres Pro пÑÑаеÑÑÑ ÑдалиÑÑ Ð²Ñе вÑеменнÑе ÑаблиÑÑ Ð² одной ÑÑанзакÑии, пÑи ÑÑом ÑÑанзакÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво блокиÑовок. ÐÑли ÑиÑло блокиÑовок пÑевÑÑÐ¸Ñ Ð·Ð½Ð°Ñение max_locks_per_transaction, ÑÑанзакÑÐ¸Ñ Ð¿ÑеÑвÑÑÑÑ, оÑÑавлÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво поÑеÑÑннÑÑ
вÑеменнÑÑ
ÑаблиÑ.
-- max_locks_per_transaction = 256
K.3.11. ÐаÑамеÑÑÑ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ 1C #
УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии standard_conforming_strings знаÑение
off, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ ÑкÑаниÑование Ñимволом обÑаÑной коÑой ÑеÑÑÑ (\) Ð´Ð»Ñ Ð²ÑÐµÑ ÑÑÑок.-- standard_conforming_strings = off
УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии escape_string_warning знаÑение
off, ÑÑÐ¾Ð±Ñ Ð²ÑклÑÑиÑÑ Ð¿ÑедÑпÑеждение об иÑполÑзовании Ñимвола обÑаÑной коÑой ÑеÑÑÑ.-- escape_string_warning = off
K.3.12. ÐÑÑÑ Ðº подкаÑÐ°Ð»Ð¾Ð³Ñ pg_stat_tmp #
ÐзмениÑе пÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ðº подкаÑÐ°Ð»Ð¾Ð³Ñ PGDATA/pg_stat_tmp, ÑÑÐ¾Ð±Ñ ÑазмеÑÑиÑÑ ÐµÐ³Ð¾ оÑделÑно Ð¾Ñ ÐºÐ°Ñалога клаÑÑеÑа. ÐÑÐ¾Ñ Ð¿Ð¾Ð´ÐºÐ°Ñалог ÑодеÑÐ¶Ð¸Ñ Ð²ÑеменнÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÑиÑÑÐµÐ¼Ñ ÑÑаÑиÑÑики. ÐÑи ÑÐ°Ð¹Ð»Ñ Ð¸Ð½ÑенÑивно изменÑÑÑÑÑ, ÑÑо ÑоздаÑÑ Ð·Ð½Ð°ÑиÑелÑнÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° диÑковÑÑ ÑиÑÑемÑ. РекомендÑеÑÑÑ ÑазмеÑаÑÑ ÑÑÐ¾Ñ Ð¿Ð¾Ð´ÐºÐ°Ñалог в tmpfs (Ñ
ÑанилиÑе вÑеменнÑÑ
Ñайлов).