'서버설정'에 해당되는 글 1건

  1. 2009.11.06 엔진엑스
카테고리 없음2009. 11. 6. 18:00

 

원 포스트  :

http://bethesignal.org/blog/2009/04/06/replacing-apache-with-nginx-for-static-file-serving/

----

 

아래는 어떤 사이트의 대기상태 프로세스를 일주일간 측정한 그래프라고 한다.

 

 

매일 점심시간쯤에 대기상태인 프로세스 갯수가 줄어든다. 즉, 모든 프로세스가 열심히 사용자들의 요청을 처리하는 중이라는 뜻이다. 하지만 그래프 후반부에 금요일에는 거의 모든 프로세스가 대기상태로 들어간 것 처럼보인다.

 

아래 그림을 보면 금요일부터는 메모리도 거의 안쓰고 놀고있다.

 

 

 

하지만, eth0 를 보면...

 

 

사용자들은 금요일 점심시간에도 여전히 접속을 하고 있었다.

 

 

 

아파치대신 엔진엑스를 썼기 때문이란다.

 

 

나는 정확한 테스트는 안해봤지만, 일단 메모리를 적게쓰는 것은 확인했다. 그 후로는 아파치를 설치해보질 않았다...

 

사실 아파치를 쓰는게 속은 편한데.... 아파치는 요청 하나에 대해 프로세스하나를 대응하는 방식이 기본이다. worker 모델로 바꾸면 요청에 대해 쓰레드를 대응하는 방식으로 바꿀 수 있지만, 문제는 PHP. PHP는 아파치 worker에서 제대로 쓸 수 없다.

 

요즘 서버를 설치할 일이 있으면, 엔진엑스를 올리고 php는 fast-cgi 데몬으로 올린다. phpMyAdmin 따위가 있으니 php를 아주 안쓰기는 힘들고, fast-cgi가 떠있는 걸 볼때마다 뭔가 좋은 방법은 없을까 생각하게되지만, 메모리 사용량이랑 CPU 로드 통계를 보고 있으면, 이쪽이 훨씬 경제적이다. 레일즈랑도 딱 맞고.

 

P.S 원 포스트의 주인장은 엔진엑스를 앞에서 돌리고, 뒤쪽에 아파치를 app서버로 써서 저런 효과를 봤다, 고 썼다. 어쩐지 시도해보고 싶은 방식이다. fast-cgi 보다는 이게 더 보기 좋을 듯.

Posted by jintopark

 

 
«이전  1  다음»