php에서 기존에 pconnect를 사용하다 pgpool로 전환하려고 합니다. 기존에는 각 페이지에서 명시적으로 db close를 하지 않고 쓰고 있었는데 pgpool도 그대로 쓰면 되는지요? 구글을 통해 검색해보아도 정확한 문서를 찾을 수 없어 질문드립니다.
pgpool을 쓰실 때는 pconnect 를 쓰시지 마시구요
이것도 풀 갯수를 계산하는 법이 있습니다. 빈번하게 사용되는 스크립트의 실행 시간을 먼저 좀 아셔야 하구요. 이건 ab 나 time curl 같은걸로 체크 간단히 해보시면 평균을 구하실 수 있을 것 같습니다.
그럼 그 웹서버에 붙을 최대 동접이 대충 나오는데 풀 크기는 그 최대 동접보다 작게 잡으세요. 염려 스러우시면 최대 동접보다 약간 넉넉하게 잡아도 되구요. 그렇게 되면 pgpool을 쓰는 의미가 좀 없어지긴 합니다.
그리고 스크립트에서는 pg_connect 를 이용합니다. 그럼 pgpool은 대기하고 있다가 빠르게 DB 세션을 서빙하고 또 대기하고 하기 때문에 성능이 영향은 없습니다. 그럼 pgpool이 뒤로 pgsql이랑 직접 연결을 지속적으로 유지하게 됩니다.
pgpool은 DBMS로의 접속 세션을 관리하는 의미로 두는것이 좋습니다.
pconnect -> connect 로 전환하는 것 말고는 프로그램에서 변경하실 건 없습니다. close 안해줘도 관계 없구요. php가 종료될 때 자동으로 close를 합니다.