안녕하세요.
리눅스 서버에 postgresql를 설치하려고 합니다.
251 GB 중 10GB를 postgresql 디비로 설정을 하고 싶은데요.
- os 메모리 사이즈
- 264024100 kB = 251 GB
postgres@ubuntu:~/12/data$ cat /proc/meminfo
MemTotal: 264024100 kB
MemFree: 239662192 kB
---
질문1. 파라미터 설정 시,
#### work_mem
- sort, merge, join 등에 사용하는 메모리 사용량을 의미합니다.
- Default : 4MB
- 산정 방법
- 방법1 : (시스템 전체 memory) / (max_connections * 16)
=> 계산하게 되면, (251 * 1024) / (100 * 16) = 160MB
work_mem = 160MB 설정해주면 되나요?
아니면 사용할 메모리 10기가를 기준으로 계산을 해야하나요?
이외에도 다른 파라미터도 이렇게 전체 메모리크기로 계산을 해야하는 것인지 헷갈립니다.
----
https://pgtune.leopard.in.ua/#/
위의 링크에서 값 입력 후 나온 결과를 그대로 사용해도 될까요?
설정 값 이미지 링크도 첨부하였습니다.
# WARNING
# this tool not being optimal
# for very high memory systems
# DB Version: 12
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 251 GB
# CPUs num: 56
# Connections num: 100
# Data Storage: ssd
max_connections = 100
shared_buffers = 64256MB
effective_cache_size = 192768MB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 164495kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 56
max_parallel_workers_per_gather = 4
max_parallel_workers = 56
max_parallel_maintenance_workers = 4
==================================
# DB Version: 12
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 10 GB
# CPUs num: 56
# Connections num: 100
# Data Storage: ssd
max_connections = 100
shared_buffers = 2560MB
effective_cache_size = 7680MB
maintenance_work_mem = 640MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 6553kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 56
max_parallel_workers_per_gather = 4
max_parallel_workers = 56
max_parallel_maintenance_workers = 4
|