lighttpd + fastcgi vs. apache + mod_php

네오위즈에 근무하던, 2004년 정도에 이른바 “비용절감” 바람이 불었었다. 직접적인 원인은 아마도 budget의 감소였을 것이다. 하지만, 그동안 성능이나 비용에 크게 신경써오지 않았던 이유도 있으리라고 본다. “필요하다면, 더 많은 기계를 투입하면 된다”는 정책이기 때문인데, 이는 물론 맞는 말이다. 기본적으로 하드웨어는 싸고, time-to-market은 비싸기 때문이다.

어쨌거나 사실 시스템 프로그래머의 입장에서는 자신의 기술이 유용하게 쓰일 수 있다는 점에서, 그런 바람은 달가운 것이었다. 여러 부문에서의 기술적인 검토가 이루어지고, 또 실제로 여러가지 개선이 이루어지게 되었다.

내가 휴직을 위해 인수인계를 시작할 즈음 궁금해 하던 것 중의 하나는, 왜 apache를 대체하는 안은 고려되지 않는가였다. 그도 그럴 것이 네오위즈의 주 서비스인 세이클럽은 웹 어플리케이션이고, 따라서, 웹서버가 PC 서버들 중 상당 부분을 차지하고 있었기 때문이다. 물론 비용의 가장 커다란 부분은 DB 부문이었을테고, PC 서버들이 성능 개선의 요구에서 낮은 priority를 차지하는 것은 당연해보이긴 했지만 말이다.

당시에 내가 작업중이던 reactor framework을 테스트할 target으로 web server로 하면 어떨까 하는 생각도 있었기 때문에, 이러한 요구에 대해서 좀 더 심각하게 고려하게 되었다. 그러다가 같은 팀의 senior 멤버인 윤묵형과 이 주제에 대한 대화를 하게되었다.

윤묵형과 대화하면서 결론 내린 것은, 어느 웹서버를 사용하느냐는 별로 중요하지 않다는 것이었다. 그 이유는, 웹서버 머신 리소스의 대부분을 차지하는 것은 php (알다시피 세이클럽은 php를 사용한다)의 컴파일 및 실행 비용이고, 웹서버의 종류, 즉 apache와 비용은 상관관계가 상대적으로 작을 것이란 것이었다.

그런데, 최근 IRC 채널을 통해서, lighttpd와 php via fastcgi의 조합이 apache와 mod_php의 조합을 능가한다는 고무적인 벤치마크를 발견하게 되었다.

http://www.lighttpd.net/benchmark/

물론 이 벤치마크만으로, 세이클럽에서도 lighttpd + fastcgi의 조합이 apache + mod_php에 비해서 우세하리라고 단정지을 수는 없다. 이 벤치마크에 사용된 php application과 세이클럽에서 사용하는 php application은 다르기 때문이다. 뿐만 아니라, 세이클럽에서 사용하고 있는 apache의 기능이 lighttpd에서도 충분히 구현이 되어있는지, 또 그 기능이 벤치마크에 미칠 영향이 있을 것인지도 중요한 변수가 될 수 있다.

하지만, 이제 나는 회사라는 특정 비즈니스 요구에 한정되는 틀에서 벗어났기 때문에, apache에 비해 성능이 좋은 웹서버를 만드는 것 자체에는 더이상의 설득력 있는 이유가 필요한 것 같지는 않다. 내가 제일 처음 맡았던 job이 고성능 네트워크 서버를 만드는 것이었고, 그 때문인지, reactor + fsm 기반의 네트워크 서버를 위한 library/framework를 만들어야겠다는 조그만 야망을 계속 품어왔었다. 당장은 시간이 나지않지만, 앞으로 시간이 나는대로 작업해보고 싶다.

“lighttpd + fastcgi vs. apache + mod_php”에 대한 3개의 생각

  1. 안녕하셔요.
    저는 최민수라고 하는데 네오위즈 있을 때 잠시 인연이…
    저도 구글링 중에 우연히 오게 되었는데 반갑습니다.
    좋은 정보 잘 보고 가요. 건강하셔요.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.