웹서버하면 떠오르는 것은 Apache HTTP Server이다. 나역시 아무런 고민없이 아파치 웹서버만을 쓰다가, 지금은 기억나지않는 과거의 어떤 계기로 인해 lighttpd를 쓰게 되었었으며, 그러다 다시 nginx로 갈아타고, 그 후 지금까지는 nginx를 선호해 쓰고 있다.

물론 아파치가 가장 강력하고 훌륭한 기능들을 다양하게 제공하겠지만, 내게는 그 쓰지 않는 기능들의 필요성보다는 가볍고 간단함이 더 중요한 가치였다. 지금까지 내가 들어본 가볍고 간단한 웹서버는 lighttpd, cherokee, thttpd, 그리고 nginx였다. 이중에 실제로 사용해본 것은 lighttpd와 nginx이며 둘다 아주 만족스러운 기능과 성능, 그리고 편의성을 보여주었다. 지금으로써는 nginx에 너무도 만족한 나머지, 그다지 다른 웹서버를 바라보지 않고 있다. 아마도 아파치를 사용하는 대부분의 사람들도 그럴것이다. 충분히 만족스럽기 때문에 별다른 대안이 필요없는 상황일지 모르겠다.

내가 웹서버 사용에 있어 기대하는 가치은 무엇이었을까...

  • 성능(performance) & 안정성(stability)
  • 확장성(scalability) & 덩치(footprint)
  • 간편함
    • 간편한 설치(installation)
    • 간편한 설정(configuration)
    • 간편한 운영(operation)
  • 필요한 기능
    • rewrite
    • http_proxy (간단한 부하분산 기능을 포함하면 더 좋겠다)
    • virtual hosting
    • Linux와 MacOS X에서 사용가능

대부분의 웹서버가 이상의 가치를 모두 훌륭하게 실현하고 있을 것이다. 나라는 소비자와 웹서버라는 제품을 볼 때, 나는 이미 초과만족된 소비자인듯 하다. 덩치가 크고 설치/설정등의 작업이 복잡한 웹서버보다는 더 가볍고 간단한 웹서버가 매력적으로 느껴진다.

모든 웹서버가 필요한 가치를 모두 갖추고 있을 때, 어떤 웹서버를 선택해야하는지에 대한 고민이 의미가 있을까? 어떤 것을 써도 상관없는 것이잖아.

처음 아파치 대신 nginx를 도입할때에는 간단한 벤치마크를 해봤다. 아무런 튜닝(tuning)없이 기본 설정값으로 단순히 비교해보니, nginx가 우세했지만, 이미 둘의 성능은 내게 필요한 성능수준을 월등하게 뛰어넘었으므로 우열의 의미는 크지 않다. 결국 결정한 것은 설정의 편의성이었던것 같다.

이런저런 방법들로, 이성적으로 논리적인 판단과 비교를 해보려 애써보지만, 결국은 감성적인 판단을 내리게 되는 이런 상황을 뭐라고 부를지 궁금해진다. 감성적인(!) 판단으로는 이런상황 꽤 많이 있는거 같아. 

그래도 조금이라도 더 이성적인 비교를 원한다면,

http://en.wikipedia.org/wiki/Comparison_of_web_servers

여기를 뒤져볼 수 있겠다.


TAG
Posted by hatemogi 트랙백 1 : 댓글 5

댓글을 달아 주세요

  1. addr | edit/del | reply StudioEgo 2008.05.29 15:44

    Me2day에서는 nginx를 쓰는 것 같은데요, Nginx가 벤치마크시에 성능이 좋다고 하나, 과연 실제 서비스에서 안정적으로 돌아가는지는 검증이 안된것 같아 보여요. 미투 쓰다가 nginx error를 보니깐요.

    • addr | edit/del hatemogi 2008.06.04 14:23 신고

      웹서버 시장에서 유명해지려면 이미 실서비스 안정성은 충분하다고 봐야죠 ^^

  2. addr | edit/del | reply cybaek 2008.05.29 15:52

    글에 다 동감...

    가볍고 내 목적에 딱 맞는 다른서버를 알아도, 문서, 익숙함, 도움받을 곳(예, 커뮤니티), 책임 등을 생각하면 그냥 남들 쓰는 것을 쓰는 것 같아. 그리고 이런 익숙한 것을 택하지 않았다가 어려움을 겪은 적이 있다면 더더욱 그렇겠지.

    • addr | edit/del hatemogi 2008.06.04 14:23 신고

      그러게요, 저는 그다지 아파치에 익숙한 편이 아니어서 큰 걱정없이 도전해 볼 수 있었던듯. 이미 레일즈쪽에서는 나름 많이 쓰이고 말이죠.

  3. addr | edit/del | reply hatemogi 2008.06.17 11:28 신고

    StudioEgo님이 트랙백을 작성했군요. 해당서비스를 운영하는 기술자가 아닌이상 해당현상의 자세한 문제를 파악할 수는 없지만, 제 추측에는 mongrel 레이어의 서비스에러일수도 있는거구요(언급하신 서비스가 mongrel을 쓰고 있는지 아닌지도 알 수 없지만 말이죠), nginx를 사용한다는 웹서비스에서 서비스에러가 자주 보인다는 현상을 근거로 nginx가 불안하다는 것은 조금은 성급한 판단일거 같아요. Apache-Tomcat으로 운영중인 서비스에서 50x에러가 보인다고 Apache쪽의 문제라고 단정지을 수는 없는 것처럼 말이죠.