잡동사니
Pgpool 현재 커넥션수 확인하기 본문
안녕하세요. yeTi입니다.
오늘은 Pgpool
에서 현재 접속한 커넥션수를 확인해보려고 합니다.
작업환경
- Pgpool : 4.1.1
shell에서 pgpool 상태확인하기
psql
접근시 비밀번호를 입력하는 단계를 생략하기 위해 환경변수에 pgpool
의 비밀번호를 설정합니다.
/$ export PGPASSWORD=[계정 비밀번호]
psql
을 활용하여 pgpool
에 쿼리를 실행에 shell
로 반환하여 정보를 받습니다.show pool_processes
를 사용하면 pgpool
에 설정되어있는 클라이언트 수 및 현재 접속하고 있는 클라이언트를 확인할 수 있습니다.
/$ psql -h localhost -p 5432 -U postgres -d postgres -c "show pool_processes;"
pool_pid | start_time | database | username | create_time | pool_counter
----------+---------------------+-------------------+------------+---------------------+--------------
108 | 2020-12-24 01:04:12 | | | |
109 | 2020-12-24 01:04:12 | | | |
110 | 2020-12-24 01:04:12 | | | |
...
Connection의 설정값 확인
pgpool
에 설정되어 있는 클라이언트의 수를 가져오기 위해 show pool_processes;
의 결과를 가공합니다.
/$ echo $(($(psql -h localhost -p 5432 -U postgres -d postgres -c "show pool_processes;" | wc -l)-4))
64
사용가능한 Connection 수 확인
pgpool
에 사용가능한 커넥션 수를 가져오기 위해 show pool_processes;
의 결과를 가공합니다.
/$ echo $(($(psql -h localhost -p 5432 -U postgres -d postgres -c "show pool_processes;" | awk '{print $6}' | grep \| | wc -l)-1))
28
주기적으로 Connection 상태 확인
1초마다 총 커넥션 대비 사용가능한 커넥션 수를 표현합니다.
export PGPASSWORD=[계정 비밀번호]
while true; do echo $(date '+%Y-%m-%d %H:%M:%S') $(($(psql -h localhost -p 5432 -U postgres -d postgres -c "show pool_processes;" | wc -l)-4)) $(($(psql -h localhost -p 5432 -U postgres -d postgres -c "show pool_processes;" | awk '{print $6}' | grep \| | wc -l)-1)); sleep 1; done
2020-12-24 05:19:09 64 28
2020-12-24 05:19:10 64 28
2020-12-24 05:19:11 64 28
...
'IT > Database' 카테고리의 다른 글
Isolation Level이 가지는 의미와 각 Level의 특성 with Lock (0) | 2022.05.31 |
---|---|
Pgpool이 죽는현상 해결 (0) | 2020.12.24 |
pgAdmin으로 PostgreSQL backup 및 restore하기 (0) | 2020.12.24 |
Kubernetes에 PostgreSQL HA 구성하기 (0) | 2020.05.14 |
[Redis] 지속성(Persistence)에 대한 레퍼런스 한글문서, Failover (0) | 2018.12.11 |
Comments