Rails Deployment

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

 

배포 환경

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

 

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

 

성능 테스트

  1. 웹 프레임워크 성능 비교 - 레일스는 생각보다 느리지 않다
  2. 레일스 로그를 활용한 성능 분석
  3. 레일스 2.3은 이전 버전보다 빨라졌을까요?
  4. RailsBench 사용법 (draft)
  5. 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)
  3. 레일스에서 특정 작업 비동기로 처리하기- Delayed Job 플러그인

 

참고