Rails Deployment

June 16th, 2008

레일스 애플리케이션 개발은 10분만에 블로그를 만들 정도로 쉽지만, 이렇게 만든 애플리케이션을 서비스하기 위해 배포하고, 운영하는 일은 생각만큼 만만치않다. 가장 큰 문제는 레일스 배포 환경을 설명한 자료나 경험을 가진 사람이 부족하다는 점이다. 이런 현실을 조금이나마 극복하기 위해 스프링노트를 개발/운영해본 경험을 공유하고자 한다.

 

배포 환경

현재 추천할만한 배포 스택은 아래 두가지다.

  • Apache 2.2 + Phusion Passenger
  • Nginx + EventedMongrel + Monit

 

  1. 레일스 최적의 배포 환경 (outdated)
  2. monit을 이용한 몽그렐 프로세스 모니터링
  3. 몽그렐 클러스터가 필요한 이유
  4. 이벤트 기반 몽그렐의 성능
  5. Apache2 vs. Nginx
  6. 스프링노트 배포 환경 Before & After: Capistrano, God, HAProxy, Seesaw!
  7. 변하지 않는 것은 없다. 이제 대세는 Passenger(aka. mod_rails)
  8. HAProxy
  9. Capistrano
  10. Memcached
  11. Swiftplied Mongrel
  12. Vlad the Developer
  13. 레일스 로거 성능 테스트

 

성능 테스트

  1. 웹 프레임워크 성능 비교 - 레일스는 생각보다 느리지 않다
  2. 레일스 로그를 활용한 성능 분석
  3. RailsBench 사용법 (draft)
  4. Erubis는 레일스 성능에 도움이 될까?  (draft)

 

Tips

  1. 몽그렐을 우아하게 재시작하는 법
  2. 몽그렐이 말을 듣지 않으면 Kill -9
  3. JS/CSS를 한 파일로 합쳐 요청 수를 줄이자
  4. 010 nginx를 위한 똑똑한 로드 밸런서
  5. 쿼리 최적화: include vs. preload
  6. monit을 모니터링 하자  (draft)
  7. Logger rotate를 쓰지 마세요
  8. 세션 스토어를 선택하세요

 

유용한 플러그인

  1. 예외 알림 플러그인 (Exception Notifier Plugin)
  2. 쿼리 분석 플러그인 (Query Analyzer / Query Trace)

 

참고

 

6 Responses to “Rails Deployment”

  1. 이나무 Says:
    대단해요! 이런 값진 경험지식의 공유라니! 짝짝짝짝짝~~
  2. 각혈염통 Says:
    자유로이 컴퓨터를 만질 수만 있다면 당장 뒤적뒤적 해볼 수 있을 텐데 안타까움이 이만저만이 아닙니다. ㅠㅠ
  3. 똥파리 Says:
    짜악짝짝짝~
  4. 재선아빠 Says:
    와우.. 한눈에 정리 !!
  5. deepblue Says:
    좀 더 정리해야하는데 요새 통 시간을 못내고 있어요
  6. 이노메이커 Says:
    (myRuby.net) 역시 deepblue님 최고!!

Leave a Reply

Website

Email