The Nginx.

July 28th, 2008

관리하고 있는 사이트에 부하 분산을 위해 Squid를 활용하고 있었습니다.

Reverse 방식으로 말이죠…

어느 날 어느 순간..Squid님께서 퍽퍽 죽으시더란 거죠.

아마 지속적으로 들어오는 웜 트래픽 + a 로 죽으시는 걸로 추측되더군요.

그래서 내친김에  nginx로 하나씩 전환!! 총 10대의 서버 중 6대를 Nginx로 전환에 성공.(나머지 4대는 FreeBSD5.5 기반이라 Port를 사용해 보려 했으나..시간과 귀차니즘으로..ㅋㅋ)

트래픽이나 TCP 커넥션 갯수를 기준으로 봤을때 훨씬 많은 부하를 감당해 내더군요. 역시 구조가 단순(?)하셔서 그런지…성능도 팍팍 나고 트래픽도 Squid 에 비해 약 50M(38~49M) 정도 더 감당해 내더군요.(자료를 올리려했으나 태클 당했..)

역시 가볍고 단순한게 좋은 걸까요?

다음에는 Nginx에 Fastcgi(PHP) 붙여 봐야겠습니다.

룰루랄라~(이로써 밤에 전화오는 일은 이제 끝~)

3주동안…있었던 사태.

July 5th, 2008

처음에는 로그인 서버가 자꾸 죽었습니다. 그래서 다시 컴파일 하고 OS도 다시 밀고 최적화 작업을 조금했죠.

구조적인 문제나 버그가 심각한 것 같아서 그런 부분도 다 코딩으로 처리하고, 사용되는 각종 모듈들도 재컴파일해서 새 OS에 깔끔하게 올렸습니다. 3일정도 문제가 없더군요.

로그인 서버가 살아나니까, 성인용 사이트가 퍽퍽 죽어나갔습니다. Lost Conn.. (아 이제 보기도 싫어..) 그 부분을 조금 손대고 튜닝을해서 일단은 죽지 않을정도로만 만들어 두었습니다.

그러더니 이제 게시판 보안문제가 터졌습니다. (이놈의 KIMS보드.. 아니 그전에 777걸어둔 사람 누구야?) 처음엔 내부적인 기능이 있을까봐 문제터질때만 대응했습니다. 그런데 내부적인 매커니즘(특히 관리툴)에 의해 보안에 매우 취약한 구조란걸 알게되곤 그 부분다 일괄처리 해버렸습니다.

이제 게시판이 잘되니 회원유입이 늘어났는지… 로드밸런싱 걸어놓은 서버들이 한대씩 퍽퍽 죽습니다…(아놔 어쩌라고..) 껏다 켜도 다시 죽습니다. 몇일 격고나서 찾아보니 P4 제온에 CentOS SMP 커널이 뻗는 문제.(인터럽트가 한쪽 코어로만 몰리다가 죽어버리는…) 어차피 CPU도 1개뿐인 애들이 듀얼코어라고 SMP 올릴필요는 없죠. 그래서 커널을 다시 싱글로 만들고 재시작.

아..몇일 잘 버텨줍니다. 그랬더니 이제 Squid가 죽습니다…;; FreeBSD도 몇대 있는데 이건 응답속도가 쥐약입니다.(대신 절대 죽진 않더군요.). 가서 Squid 2.7 로 업그레이드 하고 설정값 다 바꿔주고 L4 장비 세팅 다시 깔끔하게 정리했습니다. 이제 반응속도는 좀 느려도 죽지는 않더군요. Ok~.

그런데 말입니다. 웹 서버가 안죽으니..이제 DB서버가 말썽이군요.(아..이 장비들 제일 최근께 광고서버 빼면 3년전 장비인데..), 일단 급한대로 쿼리 몇개 튜닝 해놓고..(정규화 안해놓은건 알겠는데, 인덱스 걸어두고 멍때리는 쿼리들은 뭡니까..) 일단 업무시간내에 죽는건 방지했습니다. (cron에 flush-host 까지 걸어두는 악수를…)

그랬더니 이제 L4장비에 DoS 공격이 들어와서 네트웍이 죽습니다…

참고로 저러는 동안 프로그래밍 업무는 일정 1주정도 밀린 것 이외에 고대로 다 진행되었습니다. 제 직업은 서버관리자/네트워크관리자가 아니라 프로그래머..인걸로 아는데.. OTL

결론 : 어쩌라고!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

정말 많은 할 말이 있지만..

July 2nd, 2008

정작 하고 싶은 말은 한마디도 없는…

너무 비참한 기분의 어느 새벽.

DSCF9253

미안해요. 모두들..그리고 나.