pgpro_tune - конфигурационные параметры СУБД и ОС
НАСТРОЙКИ СУБД и VM
version
-----------------------------------------------------------------------------------------------------------
PostgreSQL 17.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Soft 11.4.0-1), 64-bit
(1 row)
#------------------------------------------------------------------------------
# The following settings were added by pgpro_tune.
# pgpro_tune was run with the following options:
# -D /data/pg_data
# At 2026-03-14 08:45:28
#------------------------------------------------------------------------------
# Memory configuration
shared_buffers = 1919MB
effective_cache_size = 3838MB
max_connections = 239
work_mem = 32MB
temp_buffers = 16MB
maintenance_work_mem = 479MB
autovacuum_work_mem = 239MB
# Vacuum and bgwriter configuration
autovacuum_max_workers = 4
vacuum_cost_limit = 400
autovacuum_naptime = 20s
autovacuum_analyze_scale_factor = '0.005'
bgwriter_delay = 20ms
bgwriter_lru_multiplier = '4.0'
bgwriter_lru_maxpages = 4000
# Additional configuration
track_activity_query_size = 10kB
default_statistics_target = 800
wal_compression = lz4
default_toast_compression = lz4
log2_num_lock_partitions = 8
log_lock_waits = on
log_connections = on
log_disconnections = on
max_wal_size = 4GB
min_wal_size = 2GB
effective_io_concurrency = 200 # for SSD
#effective_io_concurrency = 500 # for NVMe
#effective_io_concurrency = 1 # for HDD
random_page_cost = '1.1' # for NVMe SSD
#random_page_cost = 1.3 # for SATA SSD
#random_page_cost = 4.0 # for HDD
jit = off
autoprepare_threshold = 2
autoprepare_for_protocol = simple
plan_cache_lru_memsize = 100MB
generic_plan_fuzz_factor = '0.9'
#------------------------------------------------------------------------------
# End of settings added by pgpro_tune at 2026-03-14 08:45:28
#------------------------------------------------------------------------------
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
track_io_timing = 'on'
listen_addresses = '0.0.0.0'
logging_collector = 'on'
log_directory = '/log/pg_log'
log_destination = 'stderr'
log_rotation_size = '0'
log_rotation_age = '1d'
log_line_prefix = '%m| %d| %a| %u| %h| %p| %e| '
log_truncate_on_rotation = 'on'
log_checkpoints = 'on'
archive_mode = 'on'
archive_command = 'true'
archive_timeout = '30min'
pg_stat_statements.track_utility = 'off'
shared_preload_libraries = 'pg_stat_statements , pg_wait_sampling'
log_autovacuum_min_duration = '0'
wipe_file_on_delete = 'on'
wipe_heaptuple_on_delete = 'on'
wipe_mem_on_free = 'on'
wipe_memctx_on_free = 'on'
wipe_xlog_on_free = 'on'
log_connections = 'on'
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Vendor ID: GenuineIntel
Model name: Intel Xeon Processor (Skylake, IBRS, no TSX)
CPU family: 6
Model: 85
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 8
Stepping: 4
BogoMIPS: 5387.32
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ibrs ibpb fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat pku ospke
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 256 KiB (8 instances)
L1i cache: 256 KiB (8 instances)
L2 cache: 32 MiB (8 instances)
L3 cache: 128 MiB (8 instances)
NUMA node(s): 1
NUMA node0 CPU(s): 0-7
Vulnerability Gather data sampling: Unknown: Dependent on hypervisor status
Vulnerability Itlb multihit: KVM: Mitigation: VMX unsupported
Vulnerability L1tf: Mitigation; PTE Inversion
Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Mitigation; IBRS
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; IBRS; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI SW loop, KVM SW loop
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
RAM = 7.50 GB
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 252:0 0 70G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 69G 0 part
├─rootvg-root 253:0 0 20G 0 lvm /
├─rootvg-swap 253:1 0 1G 0 lvm [SWAP]
├─rootvg-tmp 253:2 0 5G 0 lvm /tmp
├─rootvg-opt 253:3 0 5G 0 lvm /opt
├─rootvg-home 253:4 0 5G 0 lvm /home
└─rootvg-var 253:5 0 15G 0 lvm /var
vdb 252:16 0 30G 0 disk
└─vg_log-LG_log 253:6 0 29G 0 lvm /log
vdc 252:32 0 50G 0 disk
└─vg_wal-LG_wal 253:7 0 49G 0 lvm /wal
vdd 252:48 0 100G 0 disk
└─vg_data-LG_data 253:8 0 99G 0 lvm /data
devices = vdd vdc
ТЕКУЩИЕ НАСТРОЙКИ УПРАВЛЕНИЯ VM и RAM
1.ПОРОГИ ДЛЯ ЗАПУСКА ФОНОВОЙ ЗАПИСИ НА ДИСК:|
vm.dirty_background_ratio |
процент от общей оперативной памяти,|
по достижении которого система начинает фоновую запись "грязных" данных на диск. | 10|
vm.dirty_background_bytes |
абсолютный объем "грязных" данных в байтах |
для запуска фоновой записи (имеет приоритет над ratio). | 0|
2.ПОРОГИ ДЛЯ ПРИНУДИТЕЛЬНОЙ СИНХРОННОЙ ЗАПИСИ:|
vm.dirty_ratio |
процент памяти, по превышении которого процессы блокируются |
и вынуждены синхронно записывать данные на диск. | 30|
vm.dirty_bytes |
абсолютный лимит "грязных" данных в байтах|
для блокировки процессов (имеет приоритет над ratio). | 0|
3.ТАЙМИНГИ ЗАПИСИ:|
vm.dirty_expire_centisecs |
время (в сотых долях секунды)|
по истечении которого "грязные" данные считаются устаревшими и подлежат записи. | 1000|
vm.dirty_writeback_centisecs |
частота (в сотых долях секунды), |
с которой фоновый процесс проверяет и записывает устаревшие данные. | 200|
4.НАСТРОЙКИ УПРАВЛЕНИЯ ПАМЯТЬЮ:|
vm.vfs_cache_pressure|
тенденция ядра к освобождению памяти, |
занятой кэшем файловой системы (чем выше значение, тем агрессивнее). | 100|
vm.swappiness |
склонность системы к использованию подкачки на диск (swap)|
вместо освобождения кэша страниц в RAM (диапазон от 0 до 100). | 1|
-------------------------------------------------------------------------
МЕТОДОЛОГИЯ СТАТИСТИЧЕСКОГО АНАЛИЗА PG_EXPECTO
МЕТОДИКА 3-Х ЭТАПНОГО СТАТИСТИЧЕСКОГО АНАЛИЗА ОЖИДАНИЙ СУБД
Этап-1.СТАТИСТИЧЕСКАЯ ЗНАЧИМОСТЬ КОЭФФИЦИЕНТА КОРРЕЛЯЦИИ:
p-value < 0.05 — корреляция считается статистически значимой. Анализ целесообразен.
p-value >= 0.05 — связь нестабильна и может быть случайной. Интерпретация силы корреляции неприменима.
Этап-2.ВЗВЕШЕННАЯ КОРРЕЛЯЦИЯ ОЖИДАНИЙ (ВКО)
Аналитическая метрика, предназначенная для ранжирования типов событий ожидания.
по степени их влияния на общую нагрузку системы.
Чем выше значение ВКО, тем критичнее проблема.
>= 0.2 КРИТИЧЕСКОЕ ЗНАЧЕНИЕ : Немедленный анализ и действие.
[0.1 ; 0.2[ ВЫСОКОЕ ЗНАЧЕНИЕ : Глубокий анализ и планирование оптимизации.
[0.04 ; 0.1[ СРЕДНЕЕ ЗНАЧЕНИЕ : Контекстный анализ и наблюдение.
[0.01 ; 0.04[ НИЗКОЕ ЗНАЧЕНИЕ : Наблюдение и документирование.
< 0.01 Игнорировать в текущем анализе.
Этап-3.ИНТЕРПРЕТАЦИЯ КОЭФФИЦИЕНТА ДЕТЕРМИНАЦИИ R2
>= 0.8 — Исключительно сильная модель.
[0.6 ; 0.8[ — Качественная модель.
[0.4 ; 0.6[ — Приемлемая модель (средняя).
[0.2 ; 0.4[ — Слабая модель.
< 0.2 — Непригодная модель.
АНАЛИЗ ОЖИДАНИЙ(wait_event_type)
Этап-1. Интерпретация корреляций.
Отбросить невалидные значения (p-value > 0.05) : связь нестабильна и может быть случайной.
Этап-2. Интерпретация ВКО.
Отбросить значения, если ВКО < 0.01 : Игнорировать в текущем анализе.
Этап-3. Интерпретация коэффициента детерминации R2.
Отбросить значения, если R2 < 0.2 :Непригодная модель
-------------------------------------------------------------------------
МЕТОДИКА 2-Х ЭТАПНОГО СТАТИСТИЧЕСКОГО АНАЛИЗА МЕТРИК
Этап-1.СТАТИСТИЧЕСКАЯ ЗНАЧИМОСТЬ КОЭФФИЦИЕНТА КОРРЕЛЯЦИИ:
p-value < 0.05 — корреляция считается статистически значимой. Анализ целесообразен.
p-value >= 0.05 — связь нестабильна и может быть случайной. Интерпретация силы корреляции неприменима.
Этап-2.ИНТЕРПРЕТАЦИЯ КОЭФФИЦИЕНТА ДЕТЕРМИНАЦИИ R2
>= 0.8 — Исключительно сильная модель.
[0.6 ; 0.8[ — Качественная модель.
[0.4 ; 0.6[ — Приемлемая модель (средняя).
[0.2 ; 0.4[ — Слабая модель.
< 0.2 — Непригодная модель.
АНАЛИЗ КОРРЕЛЯЦИ МЕЖДУ МЕТРИКАМИ
Этап-1. Интерпретация корреляций.
Отбросить невалидные значения (p-value > 0.05) : связь нестабильна и может быть случайной.
Этап-2. Интерпретация коэффициента детерминации R2.
Отбросить значения, если R2 < 0.2 :Непригодная модель
-------------------------------------------------------------------------