persistent(지속적인(?))의 개념이란 것이
웹의 등장과 함께 나온 개념입니다.
connect 되었다가, 웹서버의 프로세스가 종료되면,
그 연결이 자동으로 끊어집니다.
하지만, pconnection 으로 연결하면, 따로 특별히 close 함수를 호출하지
않는한 그 연결을 지속합니다.
문제는 다음 웹서버의 프로세스가 어떻게 그 현재 지속적으로 연결되어있는
연결 프로세스를 찾느냐인데,
이것은 일반적으로 웹서버의 하위 프로세스 id로 찾습니다.
글로 설명하기가 힘든 부분인데,
웹서버가 아파치라면, keep alive 타임을 지정하는 것이 있습니다.
이 시간 안에, 같은 리모트호스트에서 웹서버를 다시 호출하면,
다른 하위 웹서버 프로세스가 작동하는 것이 아니라,
이전에 사용했던 그 프로세스를 사용하게 됩니다.
이렇게 되면, 그 프로세스에서 사용했던, DB 연결을 사용하는게지요.
이렇게 사용하려면, 바로 persistent connection을 사용합니다.
직접 pg_connect 와 pg_pconnect 명령 두개를 사용해 보면서,
웹서버의 프로세스와, 디비 서버의 프로세스를 살펴보세요.
그럼 이해가 가실겝니다.
>>반포지효 님께서 쓰시길<<
::
:: connect와 pconnection은 둘 다 DB와 연결하는건데,
::
:: pconnection은 persistent던가? 뭐, 그런 개념이 들어가 있는가
::
:: 보던데, 그게 뭔가요?
::
:: 둘, 차이점이 뭐예요?
::
|