Database

mysql를 dso로 설치하면....

페이지 정보

본문

대부분의 서적이나 사이트를 참고해보면 아파치 + PHP 를 설치할때 일반적으로 하나로 뭉쳐서 설치하는걸 보여줍니다. 그런데 이렇게 뭉쳐서 설치하면 httpd 데몬의 크기가 1-2메가 정도됩니다. 그리고 문제는 클라이언트가 많이 붙으면 그만큼 메모리도 더 필요하게 되죠.

하지만 방법은 있습니다.

아파치의 README 파일을 보면 DSO(dynamic shared object)라는 개념이 있습니다. DSO 가 무엇인가?. 윈도우즈로 보자면 DLL 이라고 보시면 됩니다. DLL 이 좋은점은 서로다른 프로그램들이 하나의 DLL 을 공유할경우 메모리나 퍼포먼스면에서 확실한 성능을 가져올수 있다는것 입니다.

예를 들어봅시다.

A 프로그램과 B 프로그램이 서로 공통된 부분이 있다고 봅시다. 이런 공통된 부분을 DLL 로 뺀다면 어떨까요?. 일단은 프로그램이 작아지죠!. 그리고 A 프로그램과 B 프로그램이 하나의 DLL 을 공유하기 때문에 메모리 사용량도 작아지고, 당연히 수행속도도 빨라집니다.

더구나 대용량 웹서비스라면 이는 필수적 일겁니다. 만약 100개의 웹데몬이 떠있다고 봅시다. 아파치를 PHP 와 뭉쳐서 설치했다면 100 X 1-2 메가의 메모리가 소요되겠죠. 대충. 하지만 DSO 로 설치를 했다면 데몬들이 공통된 부분을 공유하기 때문에 메모리 사용량은 전자의 10분의 1정도 밖에는 안될겁니다. 왜냐면 전자에서는 100개의 웹데몬이 메모리에 뜨면서 PHP와 자기자신을 몽땅 올리겠죠. 하지만 후자는 공통된 부분을 DSO 로 빼두었다가 필요할때 로딩합니다. 그리고 다른 웹서버는 이 한번뜬 DSO 를 서로 공유합니다!!.

자세한 사항은 INSTALL 파일을 보면 나와 있습니다. 참고로 DSO 로 설치하면 httpd 의 크기는 3만바이트정도 입니다. 나머지 부분은 DSO 로 나누어지더군요.

"진정한 프로가 되는 그날까지"

관련자료

등록된 댓글이 없습니다.
Today's proverb
얼마 전에 ‘어릴 때에는 무엇이 되고 싶었습니까?’ 라는 질문을 받은 적이 있습니다. 저는 진지하게 이렇게 대답했습니다. ‘솔 바스요.’ 건방지게 듣지 마십시오. 저는 정말 진정한 제 자신이 되고 싶었습니다. <솔바스, 미국의 영상 디자이너>