반응형

Tomcat symbol

<

Apache httpd symbol



  예전에 포스팅했던 글에서 제가 웹서버의 성능을 향상 시키기 위해 아파치(Apache, httpd)톰캣(Tomcat)을 연동한다고 했었습니다. 그런데 열심히 항해를 하다가 그것이 불필요한 일이라는 것을 알아버렸네요.

출처를 먼저 밝히겠습니다.
Tomcat expert라는 커뮤니티입니다.

http://www.tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform

내용을 제 나름대로 해석하고 요약해봤습니다.
정말 제 나름이니 정확한 내용을 보실분은 출처를 꼭 한번 따라가 보시길^^;;


Myth or truth : 사람들은 항상 성능을 향상시키기 위해 아파치 Tomcat 앞에 아파치 httpd 를 사용해야합니까?

간단히 말하면 그 것은 Myth이다. 좀 더 이야기하면 Tomcat 3 이전에는 상황에 따라 어느 정도 진실이었다. 하지만 요즘 사용하는 Tomcat (5.5.x 이후)은 순전히 성능상의 이유만으로 httpd (아파치) 를 사용할 필요가 없다. Tomcat은 현재 low-level I/O를 위해서 httpd와 같은 기본 라이브러리를 사용하여 httpd와 비슷한 기능을 수행할 수 있는 native/APR(Apache Portable Runtime) connector를 지원한다. Tomcat으로 정적인 컨텐츠를 제공할 경우 httpd에 비해 약간 부하가 더 있지만 그 차이는 눈에 띄지 않을 정도다.

종종 벤치마크에서 예상외로 httpd보다 Tomcat이 좋을 성능을 발휘했다. 이는 Tomcat은 기본적으로 메모리에 작은 정적 파일을 캐시하고 httpd는 기본적으로 메모리에 파일을 캐시하지 않기 때문이다.

최상을 성능을 달성하기 위한 설정은 다양하다. 이는 여러가지 요인에 크게 의존한다.

그외에 복 수의 Tomcat 인스턴스에 로드밸런싱을 위해 Apache를 사용한다. (로드밸런싱을 위한 유일한 옵션은 아니지만)

요약하면 Tomcat과 httpd를 합께 사용하면 좋은 이유들이 있지만 정적 페이지의 성능을 위한 이유는 그 중 하나가 아니다.


  원문에는 벤치마크에 대한 내용과 이런저런 connector 들에 대한 이야기가 나와 있습니다. 저는 그렇게까지 전문적인 내용은 필요가 없으므로 제가 이해할 만한 내용만 적어봤습니다.

  때로는 그저 그냥 당연하다고 생각한 것이 사실은 전혀 당연한게 아닐 수도 있군요.

반응형

+ Recent posts