2013-07-31 3 views
14

푸마에 대한 이야기가 많고 유니콘보다 더 빠릅니다. 그러나 그들은 또한 JRuby와 Rubinius의 인스턴스에 더 적합하다고 언급합니다.Ruby 1.9.3 및 Rails 3.2에서 Puma가 Unicorn보다 우수한가요?

내 질문 : Ruby 1.9.3의 Rails 3.2 앱은 어떻습니까? 유니콘이나 푸마?

+7

http://puma.io/

감사를 볼 수 있습니다 이상

. 더 자주 있기 때문에, 그들은 나와 같은 NOOBS의 결정을 안내하는 답을 제공합니다. – pratski

+0

이전 댓글에 어떤 현상이 발생 했습니까? 다음 며칠 동안 이것에 대해 자세히 살펴보고 유용한 대답을 쓸 수 있기를 바랍니다. 당신이 그때까지 기다릴 수 있기를 바랍니다 –

+0

푸마와 함께 config.threadsafe를 활성화해야한다는 것을 알았습니다. 그리고 그것은 웜의 깡통입니다. 그러나 레일즈 4에서 기본적으로 활성화되어 있다고 생각하면 누구나 볼 필요가 있습니다. – pratski

답변

11

퓨마

http://ylan.segal-family.com/blog/2013/05/20/unicorn-vs-puma-redux/

유니콘 대 유니콘에 대한 좋은 기사가 동시에 여러 들어오는 요청을 처리하기 위해 포크 프로세스를 사용하는 랙 HTTP 서버가된다.

  1. 프로세스 관리 : 유니콘 거두 깨진 응용 프로그램에서 다이 근로자를 다시 시작합니다. 여러 개의 프로세스 또는 포트 을 직접 관리 할 필요가 없습니다. 유니콘은 귀하가 백엔드로 확장하기로 선택한 프로세스 수를 산출하고 관리 할 수 ​​있습니다.
  2. 로드 균형 조정은 전적으로 운영 체제 커널에 의해 수행됩니다. 바쁜 작업자 프로세스 뒤에 요청이 쌓이지 않습니다.
  3. 응용 프로그램이 스레드로부터 안전한지 여부에 상관없이 모든 작업자는 자신의 격리 된 주소 공간에서 실행되고 최대의 견고성을 위해 한 번에 하나의 클라이언트 만을 제공합니다.
  4. Rack 래퍼를 통해 Rails 이전 버전의 Ruby 과 함께 모든 Rack 응용 프로그램을 지원합니다.
  5. USR1 신호를 통해 응용 프로그램의 모든 로그 파일을 다시 열 수 있습니다. 이를 통해 logrotate는 파일 이름 바꾸기 및 느린 copytruncate 메서드 대신 이름 바꾸기를 통해 파일을 원자 적으로 신속하게 회전 할 수 있습니다 ( ). Unicorn 은 하나의 요청에서 복수 줄 로그 항목을 보장하기 위해 동일한 파일 내에 모두 을 유지합니다.
  6. 연결을 유지하면서 nginx 스타일의 바이너리 업그레이드 Unicorn, 전체 응용 프로그램, 라이브러리 및 클라이언트를 삭제하지 않고 Ruby 인터프리터까지 업그레이드 할 수 있습니다.
  7. before_fork 및 after_fork 후크는 분기 된 프로세스를 처리 할 때 특별한 요구 사항이있는 응용 프로그램이있는 경우를 대비하여 입니다. "preload_app"지시어가 false (기본값) 일 때 이것들은 이 될 필요가 없다.
  8. "writeload_app"를 true로 설정하여 메모리를 절약하기 위해 쓰기가 용이 한 메모리 관리와 함께 사용할 수 있습니다.
  9. UNIX 소켓을 포함하여 여러 인터페이스에서 수신 대기 할 수 있으므로 각 작업자 프로세스는 after_fork 후크를 통해 개인 포트에 바인딩하여 쉽게 디버깅 할 수 있습니다. 구성
  10. 간단하고 쉬운 루비 DSL

    1. 디코드 터널 할 수있는뿐만 아니라 구현하는 것이 업로드 진행을 알림을 수 있도록 온 - 더 - 플라이 전송을 청크를 HTTP를 통한 임의의 스트림 기반 프로토콜푸마 (소위 서버 잡종의 최신 버전)

      푸마 루비 웹 애플리케이션을위한 간단하고 빠르고, 높은 동시 HTTP 1.1 서버로 들어

. Rack을 지원하는 모든 응용 프로그램과 함께 사용할 수 있으며 Webrick 및 Mongrel의 대체품으로 간주됩니다. Rubinius의 go-to 서버로 설계되었지만 JRuby와 MRI에서도 잘 작동합니다. Puma는 개발 환경과 생산 환경 모두에서 사용하도록 설계되었습니다.

푸마 속도와 병렬

당신이 퓨마가 최고입니다 다음 속도 비교를보고 싶은 경우에 좋아하는 것입니다. 당신이 스택은 자기 의견을 고집하는 질문에 대한 정책의 변경을 가지고있다

+0

헤로 쿠를 사용하는 경우,이 헬로우 문서의 "느린 클라이언트"섹션에 설명 된대로 포인트 # 2가 정확히 사실이 아닙니다. https://devcenter.heroku.com/articles/rails-unicorn, "모든 유니콘 작업자가 묶여 있으면 새로운 요청이 대기하고 앱에 정상적인 요청 대기열 시간 또는 심지어 H12 오류가 발생합니다" – ryan0