데이터베이스 관리자가 자주 경이로움"지금 시스템은 지금 무엇을하고 있습니까?"이 장 그것을 찾는 방법에 대해 논의합니다.
데이터베이스 활동 모니터링을위한 여러 도구를 사용할 수 있습니다 성능 분석. 이 장의 대부분은 설명윈 토토's통계 수집가, 그러나 하나는 안됩니다 와 같은 정기적 인 UNIX 모니터링 프로그램을 무시합니다.PSandTOP. 또한 한 번 성능이 좋지 않은 쿼리, 추가 조사를 확인했습니다 사용이 필요할 수 있습니다.윈 토토's설명명령. 그만큼사용자 안내서논의설명및 기타 이해를위한 기타 방법 개별 쿼리의 동작.
대부분의 플랫폼에서윈 토토명령 제목을 수정합니다 보고PS따라서 개인 서버 프로세스를 쉽게 식별 할 수 있습니다. 샘플 디스플레이 이다
$ ps auxww | grep ^postgres Postgres 960 0.0 1.1 6104 1480 pts/1 SN 13:17 0:00 Postmaster -I Postgres 963 0.0 1.1 7084 1472 PTS/1 SN 13:17 0:00 Postgres : 통계 버퍼 프로세스 Postgres 965 0.0 1.1 6152 1512 PTS/1 SN 13:17 0:00 Postgres : 통계 수집기 프로세스 Postgres 998 0.0 2.3 6532 2992 Pts/1 SN 13:18 0:00 Postgres : TGL Runbug 127.0.0.1 유휴 상태 Postgres 1003 0.0 2.4 6532 3128 Pts/1 SN 13:19 0:00 Postgres : TGL 회귀 [로컬] 대기 선택 선택 Postgres 1016 0.1 2.4 6532 3080 pts/1 SN 13:19 0:00 Postgres : TGL 회귀 [로컬] 트랜잭션의 유휴
(적절한 호출PS표시. 이 예는 최근 Linux 시스템에서 나온 것입니다.) 첫 번째 여기에 나열된 프로세스는Postmaster, 마스터 서버 프로세스. 명령 인수가 표시되었습니다 출시 시점이 주어진 것과 동일합니다. 다음 두 프로세스는 통계 수집기를 구현합니다 다음 섹션에서 자세히 설명합니다. (이건 그렇지 않을 것입니다 통계를 시작하지 않도록 시스템을 설정 한 경우 참석 Collector.) 나머지 프로세스 각각은 서버 프로세스입니다. 하나의 클라이언트 연결을 처리합니다. 그러한 프로세스는 각각을 설정합니다 양식의 명령 줄 표시
Postgres :사용자 데이터베이스 host 활동
사용자, 데이터베이스 및 연결 소스 호스트 항목은 남아 있습니다 클라이언트 연결의 수명에 대해서도 동일하지만 활동 표시기 변경. 활동은 일 수 있습니다.유휴(즉, 클라이언트 명령을 기다리고 있음),트랜잭션의 유휴 상태(기다리고 있습니다 시작 블록 내부의 클라이언트) 또는와 같은 명령 유형 이름select. 또한,대기서버가 현재 인 경우 첨부됩니다 다른 서버 프로세스로 고정 된 잠금 장치를 기다리고 있습니다. 위에서 예를 들어 프로세스 1003이 프로세스를 기다리고 있다고 추론 할 수 있습니다. 1016 거래를 완료하고 일부 잠금 장치를 해제합니다. 또는 기타.
팁 : Solaris특별한 취급이 필요합니다. 사용해야합니다/usr/ucb/ps가 아니라/bin/ps. 또한 두 가지를 사용해야합니다W단지 하나가 아니라 깃발. 또한, 당신의 원래의 호출Postmaster더 짧아야합니다PS제공된 것보다 상태 표시 각 백엔드에 의해. 세 가지 일을 모두하지 않으면PS각 백엔드에 대한 출력이 있습니다 원래Postmaster명령 줄.