タグ

pumaとrailsに関するclavierのブックマーク (7)

  • Rails: Puma/Unicorn/Passengerの効率を最大化する設定(翻訳)|TechRacho by BPS株式会社

    まとめ: アプリのサーバー設定はRuby Webアプリのスループットやコストあたりのパフォーマンスに大きな影響を与えます。設定の中でも最も重要なものについて解説します(2846 word、13分) RubyのWebアプリサーバーは、ある意味で自動車のガソリンに似ています。よいものを使ってもそれ以上速くなりませんが、粗悪なものを使えば止まってしまいます。実際にはアプリサーバーでアプリを著しく高速化することはできません。どのサーバーもだいたい同じようなものであり、取っ替え引っ替えしたところでスループットやレスポンスタイムが向上するわけではありません。しかしダメな設定を使ったりサーバーで設定ミスしたりすれば、たちまち自分の足を撃ち抜く結果になります。クライアントのアプリでよく見かける問題のひとつがこれです。 記事では、3つの主要なRuby アプリサーバーであるPuma、Unicorn、Pass

    Rails: Puma/Unicorn/Passengerの効率を最大化する設定(翻訳)|TechRacho by BPS株式会社
  • RackサーバーのPumaについて調べてみる - ゆーじのろぐ

    はじめに いま開発中のRailsアプリケーションのRackサーバーは最初Unicornを使っていたのですが、諸々の事情でPumaの方を使いたいということになった。 まだリリースもしていないのでやるなら早めに変えちゃおうということでPumaについて調べてみた。 Pumaとは Pumaとはスピードと並列性を追求したRubyのWebサーバーです。 RubyでWebサーバーを作るときの標準となっているRackに対応したライブラリになっています。 スレッドベースのWebサーバー Pumaではリクエストの並列処理を実現するためにスレッドを利用しています。 リクエストを処理するためのスレッドを予めスレッドプールに指定した数だけ用意しておきます。リクエストが来るとそのスレッドに処理を任せることでスレッドベースの並列処理を行っています。 Rubyの処理系について Pumaではスレッド用いるため、Rubyの処

    RackサーバーのPumaについて調べてみる - ゆーじのろぐ
  • SSSSLIDE

    SSSSLIDE
  • PumaでActiveRecordのErrorが出てハマった話 - 月曜日までに考えておきます

    応答に500ms以上掛かる外部APIに依存するサービスを作ってて、Unicornのworker数だと簡単に詰まって死ぬという現象が起きていたのでしばらく前にPumaに置き換えました。 既に Nginx + Unicorn で運用しているサーバのUnicorn部分をPumaに置き換えるのは割と簡単で、これを参考にしたらほぼうまくいきました。(*) coderwall.com : establishing geek cred since 1305712800 (*) ただし、capistranoを set :pty, true にすると capistrano-sidekiqが効かずにsidekiqが動かなくなって死ぬというknown issueを踏んだので注意 それ以降、順当に運用できていたのですが、負荷がかかったときに500エラーが出るという現象はUnicornよりマシになったものの出続けて

    PumaでActiveRecordのErrorが出てハマった話 - 月曜日までに考えておきます
    clavier
    clavier 2015/02/25
    PumaでActiveRecordのErrorが出てハマった話 - 月曜日までに考えておきます
  • pumaを使ってみた - Qiita

    注:このTipsはRails初心者が書いたものです。ツッコミ歓迎です。 pumaとは http://puma.io/ で公開されているconcurrentなWebサーバー。thinやunicornはワーカー毎にプロセスを立ち上げるが、pumaはワーカー毎にスレッドを立ち上げる。production環境ではサイトのパフォーマンスを上げるため、複数のワーカーを立ち上げるが、thinやunicornはワーカー毎にプロセスが異なるため、排他処理ができない。しかし、pumaはスレッドで動作するため、Mutexでsynchronizeブロックを記述すれば、排他処理を行える。 RailsCast #365 Thread-Safetyで取り上げられていた。ここではpumaの設定等のメモをまとめる。 インストール pumaも他のgemと同様、Gemfileに

    pumaを使ってみた - Qiita
  • pumaでコントロールサーバを使うときはトークンをつけた方が良いよ - Qiita

    Rubyのウェブアプリケーションサーバにpumaというのがあります。 で、そのpumaにはコントロールサーバという仕組みがあります。その仕組みを使うと、指定したURLにHTTPリクエストを送るだけでpumaの再起動や停止が行えます。使い方は下記の通り。 $ puma -S tmp/puma.state --control unix://tmp/pumactl.sock & # 起動 $ pumactl -S tmp/puma.state restart # 再起動 $ pumactl -S tmp/puma.state stop # 停止 で、結論から言うと、まあタイトル通りなのですが、コントロールサーバを使うときは、上記だけでは少しおっかなく、トークン(--control-tokenオプション)も使った方が良いよ、ということです。何故か。下記のケースで少し面倒なことになります。 $ pu

    pumaでコントロールサーバを使うときはトークンをつけた方が良いよ - Qiita
  • [Rails] APサーバの比較検証(Puma, Unicorn, Passenger) - Tech Log - s21g

    仕事Railsを使うことになり、APサーバの選定にあたってPuma, Unicorn, Passenger の比較検討を行いました。方法としてはJMeterでAPサーバにデプロイしたRailsアプリケーションに対して負荷をかけられるだけかけるというやり方です。 試験環境 試験の環境としては下記の構成です。 Ruby2.0, Rails4 アプリケーションサーバ:1台(VM) JMeterサーバ:3台(VM) JMeterクライアント:1台(通常の作業PC) サーバ構成 hostanameCPU仮想コア数(Per CPU)MemoryDisk用途 loadtest01248192MB20GBAPサーバ loadtest02114096MB20GBJMeterサーバ loadtest03114096MB20GBJMeterサーバ loadtest04114096MB20GBJMeterサーバ

  • 1