번호 | 제목 | 등록일 | |
---|---|---|---|
6 | [리눅스팁] 아파치의 DSO 방식과 Static 방식의 차이점 | ||
안녕하세요. 하나로호스팅입니다. 아파치(Apache)의 DSO 방식과 Static 방식의 차이점을 간략히 정리했습니다. 아파치를 운용하는 방법에는 동적(DSO)방식과 정적(Static)방식이 존재 합니다. 이 두가지의 운용법은 시스템의 특성에 따라 퍼포먼스, 자원의 활용 등에서 차이가 생깁니다. 먼저 이 두가지 운용법에 대해 간략하게 설명하면 아래와 같습니다. 동적운용(DSO) : 아파치를 먼저 설치한 뒤 third-part 모듈의 확장이 필요한 경우 third-part 모듈만 따로 설치하여 사용이 가능 정적운용(Static) : third-part 모듈과 함께 아파치를 컴파일한 뒤 설치후 사용 이 두가지 운용법은 시스템 측면에서 크게 두가지의 차이점이 있습니다. 동적인 운용인 DSO 방식은 아파치에 설치된 모듈이 필요할 때만 시스템에 적재 됩니다. 따라서 아파치가 실행될 때 모든 모듈을 메모리에 적재해놓고 사용하는 것이 아니라, 필요한 요청이 있을 경우에만 메모리에 적재 되므로 시스템 자원을 효율적으로 사용할 수가 있습니다. 그러나 클라이언트에게 요청을 받았을 때 필요한 모듈을 메모리에 적재하게 되므로 클라이언트에게 응답하는 속도가 다소 느려지게 됩니다. 실제로 아파치 DSO관련문서 Advantage & Disadvantage를 읽어보게 되면 DSO 기반으로 운영할 경우, 아파치의 실행속도는 약 20%정도, 서버의 실행속도는 약 5%정도 느리게 할 수 있다는 점이 언급되어 있기도 합니다. 정적 운용인 Static 방식은 아파치가 실행될 때 모든 모듈을 메모리에 적재해놓습니다. 그렇기 때문에 DSO 방식과는 다르게 빠른 응답속도를 가질 수 있습니다. 그러나 만약 거의 사용되지 않는 모듈이 있을 경우에는 쓸데없는 시스템 자원 낭비이므로 이 점에 대해서는 비효율적이라고 볼 수 있습니다. 또한, 운영중에 필요한 third-part 모듈이 있을 경우 아파치를 재 컴파일 해야 되기도 합니다. 따라서 자주 사용되는 기본 모듈이나 확장 모듈 혹은 third-part 모듈 들은 아파치를 컴파일 할 때 정적으로 컴파일해서 사용하고 자주 사용되지 않는 모듈은 동적으로 설치를 해서 운영하게 되면 효율적인 시스템 관리를 할 수 있습니다. 그러나 최근 H/W의 성능이 매우 좋아짐에 따라 시스템 운영의 편리성을 위해 DSO로 운영하는것이 대부분 입니다. |