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
전깃불이 나간 어두운 방안에서 초가 있으면서도 초를 아끼느라 켜지 않는다면 어떻게 될까. 마찬가지로 한두 마디의 상냥한 말이면 상대방의 마음을 밝게 해 주고 유쾌한 분위기를 만들 수 있는데 그러지 않는다면 그것은 마치 초를 아끼기 위해 어둠 속에 있는 것과 같다. (T. 제퍼슨)