홀매나 트래커의 반응 속도, 혹은 그로 인해서 체감하게 되는 전체적인 포커 게임 환경은 사실, 우리가 잘은 모르고 지내는 PostgreSQL 데이터베이스 관리 프로그램이 얼마나 효율적으로 돌아가는가에 달려 있다.
일반적으로 데이터베이스를 튜닝함으로써 그 목적을 어느 정도 달성할 수 있는데, postgresql.conf라는 파일에 기본으로 설정되어져 있는 값을, 사용하는 컴에 맞는 적절한 값으로 설정해 주게 된다,
예전에 정리해 두었던 것을 올려 보니, 참고해서 쾌적한 게임 환경을 누릴 수 있기를 바란다.
* 설정할 항목
* DB 접속 수 관련
max_connections
* DB 자료 조회 및 기록
shared_buffers
work_mem
maintenance_work_mem
* 디스크 기록 관련
fsync
full_page_writes
wal_buffers
checkpoint_segments
checkpoint_completion_target
* SQL 처리 관련
random_page_cost
cpu_tuple_cost
cpu_index_tuple_cost
cpu_operator_cost
effective_cache_size
default_statistics_target
from_collapse_limit
join_collapse_limit
* 조각모음 관련
autovacuum
* 적절한 설정값을 위해서는 현재 컴의 실제 메모리를 알아야 합니다. 현재 사용 컴의 실제 메모리 확인 방법은...
1. 작업 관리자 실행 : 작업표시줄에 마우스 커서를 갖다 놓고, 마우스 오른쪽 버튼 눌러 나오는 단축메뉴에서 작업 관리자 선택
2. 작업 관리자의 성능 탭 선택
3. 아래쪽의 실제 메모리 그룹에 있는 전체 메모리가 실제 메모리
4. 숫자(KB)로만 되어 있으면 그 값을 1024로 나누면 MB단위의 메모리가 됨 예) 1048036 이면 1048036/1024 = 1023.4726 = 1023MB
5. MB로 되어 있으면 그대로 사용
* 설정할 항목들의 설정값 계산 예, 실제 메모리 2814 MB인 경우,
max_connections
멀티 테이블링시 최대 플레이 테이블 수 + 2 예) 1개의 테이블만 플레이한다 1+2 = 3, 10개의 테이블을 플레이한다 10+2 = 12
트래커 사용하시는 분들은 최소 16 으로 설정해서 사용하는 것이 좋을 듯. 멀티 테이블링시 위 계산값이 16보다 작으면 16으로, 16보다 크면 큰 그 값으로 설정.
홀매 2 사용하시는 분들은 50 으로 설정해서 사용하시고, 무언가 문제가 생긴다면 100 으로 설정해서 사용하세요.
shared_buffers
실제 메모리의 1/4 설정, 2814/4 = 703.5 = 700MB 703을 넘지 않는 소숫점 이하 없는 수치로 설정
work_mem
실제 메모리의 1/(max_connections*2) 설정, 예) max_connections이 16이면 2814/(16*2) = 2814/32 = 87.94 = 80MB 87을 넘지 않는 소숫점 이하 없는 수치로 설정
maintenance_work_mem
실제 메모리의 1/16 설정, 2814/16 = 175.87 = 175MB 175을 넘지 않는 소숫점 이하 없는 수치로 설정
wal_buffers
shared_buffer의 1/32 설정, 여기에서는 shared_buffer를 700MB로 설정했으므로 700/32 = 21.88 = 20MB 21을 넘지 않는 소숫점 이하 없는 수치로 설정
effective_cache_size
실제 메모리의 절반 또는 3/4 설정, 일반적으로 3/4 설정해도 무방, 2814/2 = 1407MB 또는 2814*3/4 = 2110.5 = 2110MB
random_page_cost
SSD 사용시 1.0 고정
일반 하드 사용시 2.5으로 설정 후 트래커나 홀매내에서 자료 조회해 봄, 2.0로 설정 후 조회, 1.5로 설정 후 조회. 가장 상태 좋은 값으로 설정. 2.5, 2.0. 1.5 등의 중간값도 괜찮음
* 따로 계산하지 않고 재설정할 항목
fsync = off
full_page_writes = off
checkpoint_segments = 16
checkpoint_completion_target = 0.9
cpu_tuple_cost = 0.003
cpu_index_tuple_cost = 0.001
cpu_operator_cost = 0.0005
default_statistics_target = 1000
from_collapse_limit = 12
join_collapse_limit = 12
autovacuum = on
* 설정값 수정 방법
0. 변경할 설정값을 미리 정해 놓는다.
1. 만일을 위해 postgresql.conf 파일을 다른 곳으로 하나 복사 해 놓는다. 문제가 생기면 따로 보관해 두었던 파일을 제 자리에 갖다놓고 컴 부팅하면 된다.
postgresql.conf 파일 위치 : C:\Program Files\PostgreSQL\8.x\data, C:\Program Files\PostgreSQL\9.x\data, C:\Program Files (x86)\PostgreSQL\8.x\data, C:\Program Files (x86)\PostgreSQL\9.x\data 중 하나
2. postgresql.conf 파일을 텍스트 편집기로 오픈한다
3. 설정할 항목을 찾는다
4. 항목의 설정값을 정해진 값으로 바꾼다. 예) work_mem 항목을 찾아보니, #work_mem = 1MB # min 64kB 라고 되어 있다. 맨 앞의 #를 지우고, 1MB를 80MB 로 변경한다. 만일 맨 앞의 #이 없으면 1MB를 80MB 로 변경한다. 뒷쪽의 #는 놔두어도 됩니다.
5. 파일 메뉴에서 저장하고, 텍스트 편집기를 닫는다.
*텍스트 편집기 사용 : 화면 왼쪽 하단의 시작 버튼 눌러서 실행...을 찾아 선택하고, notepad를 입력하고 확인하면 메모장이 오픈된다. 파일 메뉴에서 열기를 선택하고 postgresql이 설치된 곳으로 가서 postgresql.conf를 선택, 오픈한다.
* postgresql.conf 파일을 변경하고 그 변경된 값을 적용하려면 항상 컴을 재부팅하면 됩니다.
* 컴 좀 아는 분이나, postgresql 좀 아는 분은 시작메뉴의 프로그램에서 postgresql 항목을 찾아서 postgresql 서버를 리스타트하거나, configuration file을 리로드하면 컴 재부팅하지 않아도 바로 적용됩니다.
****** 끝, 굿럭 *******
2014.12.14 04:34:24
내램은 몇메가냐?
2014.12.14 05:22:00
@wowjk
근데, 무슨 시스템인데 램을 16기가나 달고 있나...
2014.12.14 05:57:25
@뜨라
2014.12.14 05:20:30
나야 허드 안 쓰지만 여기 다른 넘들한텐
유용한 정보인거 같어서 bb 한개 주고간다.
2014.12.14 06:00:31
2014.12.14 13:37:36
@이방인
2014.12.14 06:09:40
2014.12.14 06:44:00
@뜨라
특히 크롬쓰는데...크롬이 CPU이미 많이 먹다보니까 youtube로 노래들으면서 치면 CPU과부하 걸림.
노트북인거 감안해서 해결책 좀..
2014.12.14 13:33:37
@wowjk
2014.12.14 08:25:02
2014.12.14 15:34:56
2014.12.14 18:10:24
@조찐이
2014.12.14 18:12:09
2017.02.14 11:46:22
2022.03.23 08:38:25
반가워서 ..ㅋㅋㅋ
2022.03.23 15:07:23
@aldnaldn