관리 메뉴

Jsecurity

리눅스 [아파치 모듈] DSO와 Static의 차이점 본문

Linux/리눅스마스터

리눅스 [아파치 모듈] DSO와 Static의 차이점

Great king 2019. 3. 7. 14:03

리눅스마스터 1급 필기공부하다가

 중요할거 같은 문제 올려봅니다 ^^




여러분들은 답이 몇번이라고 생각하시나요??


저는 문제를 보니깐 DSO를 몰라서 찾아 봤습니당


동적운용(DSO)
아파치 설치 이후 필요한 third-part 모듈 확장이 필요한 경우 third-part 모듈만 따로 설치하여 사용

필요한 요청이 있을 경우에만 메모리에 적재 되므로 시스템 자원을 효율적으로 사용
클라이언트 요청시 필요한 모듈을 메모리에 적재를 해야하기 때문응답 속도가 약간 느림
(DSO 관련 문서인 Advantage&Disadvantage를 읽어보면 실제로 아파치 실행속도의 20%, 서버의 실행속도는 약 5%정도 느릴수 있음)


정적운용(Static)
third-part 모듈 함깨 아파치를 설치한 이후 사용

아파치가 실행하게 되면 모든 모듈을 메모리에 적재해놓는 방식으로 DSO 보다 응답 속도가 빠르다.
거의 사용되지 않은 모듈이 있다면, 시스템 자원을 낭비하므로 비효율적이다.

그리고 third-part 모듈이 필요한 경우 아파치를 재 컴파일 해야 한다는 단점있어, third-part 개발시 불편함이 따른다.


오호...


그러면 동적운용과 정적운용의 차이점이 뭘까요..?


DSO방식은 아파치를 먼저 컴파일하고 다른 모듈들을 추가로 설치할 때는 아파치를 재 컴파일하지 
않고 한번 설정되어 컴파일된 아파치를 계속 사용하는 것이다. 
즉, DSO방식은 아파치를 단 한번만 컴파일한다는 것이다. 이점은 관리, 설치면에서 커다란 장점이다. 
Static 방식은 설치면에서 추가로 모듈을 설치하려고 하면 설정하려는 모듈만 설정하고 컴파일하는 
과정이 필요할 뿐만 아니라 아파치 또한 그에 따라 컴파일을 하여야 한다. 
이는 관리면에서 단점이 될 수 있다. 

시스템 측면에서 이 두 가지의 차이점이 있다. 

먼저 DSO는 아파치에 설치된 모듈이 필요할 때 시스템에 적재된다. 이는 클라이언트의 요청에 
응답하는 요청시간이 다소 느릴 수 있지만, 하드웨어의 속도가 뒷받침된다면 해결이 될 수 있는 부분이다. 
여하튼 이런 방식(DSO)은 시스템의 리소스(메모리, CPU)들을 적절하게 효율적으로 사용한다고 볼 수 있다. 
이 방식은 예전에는 실험적인 성격을 가졌지만, 이젠 거의 안정 수준에 올라와 점점 DSO방식을 선호하고 있다. 

또 다른 방식인 Static 방식은 이전 방식(DSO)와는 다소 차이가 있다. 
이 방식은 아파치에 추가된 모듈이 아파치의 기동과 함께 모든 모듈을 포함하여 시스템에 적재한다. 
만약 아파치의 기동과 함께 적재된 어떤 모듈이 클라이언트에 의해 거의 쓰지 않는다면 쓸데없이 
시스템 리소스를 점유하고 있으므로 이는 비효율적이라 볼 수 있다. 
또한 아파치와 각 모듈들은 설치시 복잡하다. 
각 모듈과 설정된 아파치에 또 다시 모듈을 추가하려 할 때 아파치와 모듈을 다시 컴파일하여야 한다.



그러하여 문제의 답은!!

4번입니다!!


4번의 내용은 Static의 내용과 DSO의 내용이 섞여있어서 틀린문제입니다.




'Linux > 리눅스마스터' 카테고리의 다른 글

리눅스 NIS 서버  (0) 2019.03.08
메일서버 sendmail의 access 파일  (1) 2019.03.07
아파치 httpd 명령어 옵션  (0) 2019.03.07
리눅스 아파치 RPM 패키지  (0) 2019.03.07
리눅스마스터 1급 도전!  (0) 2019.03.07
Comments