並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 31 件 / 31件

新着順 人気順

Pumaの検索結果1 - 31 件 / 31件

  • Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE

    この記事はiCARE Dev Advent Calendar 2022 第1レーン24日目の記事です。 Railsの基本原則の一つに「メニューはおまかせ」があり、デフォルトで設定を良い感じにしてくれています。しかし、本当に自分のユースケースでも問題ない設定だと自信を持って言うためには、なぜこの設定になっているのかの背景知識が必要になります。例えばrails newをするとpumaのスレッド数はデフォルト5、データベースのコネクションプール数も5になっています。これは自分のユースケースで適切な値なのでしょうか?どういうときにいくつに設定するのが正しいのでしょうか? pumaのスレッド数をどうやって決めるのか pumaはRailsのデフォルトのアプリケーションサーバであり、複数プロセス、複数スレッドで動くアプリケーションサーバです。この記事を執筆している時点で最も利用率の高いアプリケーションサ

      Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE
    • Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ

      私たちは Ruby on Rails の主要なマルチテナントライブラリ apartment を使ってサービスを提供しています。 Ruby のバージョンを 3.1 系から 3.2 系に上げたときに CSV ファイルを処理する部分でこのテナントの切り替えが意図通りに動作しませんでした。 この事象が興味深かったので共有します。 現在はこの事象に対応済で、私たちの環境は Ruby3.2 系で動作しています。 apartment ではマルチテナント対応部分をほとんど吸収してくれるので、アプリケーションのコードのほうにはあまりマルチテナント特有の処理が出てこず、個別処理のコードに集中できるメリットがあります。 事象が発生したコードは以下のような形式でした。 CSV.parse(filename, headers: true, header_converters: ->(header) { curren

        Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ
      • 大型ネコ科のピューマが1km以上も海を遠泳、驚きの報告

        森の小川を跳び越えるピューマ(Felis concolor)。水を避けることもあるが、状況によっては長い距離を泳げる。(PHOTOGRAPH BY JIM AND JAMIE DUTCHER, NATGEO IMAGE COLLECTION) 一般的に、ピューマは泳ぎが得意ではなく、ましてや長い距離は泳げないと考えられている。しかし、少なくともある1頭の冒険好きなピューマにとって、その認識は全くの見当違いだ。 米西部ワシントン州の本土からピュージェット湾の無人島まで1.1kmを泳ぐ若いオスのピューマが、新たな研究で記録された。GPSで追跡された「M161」または「ノーラン」と呼ばれるこの個体は、米ワシントン州オリンピア郊外の曲がりくねった道を通り、海岸沿いを進み、海へ出た。論文は2022年11月17日付けで学術誌「Northwestern Naturalist」に掲載された。 もしピューマ

          大型ネコ科のピューマが1km以上も海を遠泳、驚きの報告
        • 設定だけで Ruby アプリを高速化する

          新年あけましておめでとうございます。 @rosylilly です。 この前 SRE 養成講座の体験授業配信 をしたんですが、その時にハンズオンの一環で Ruby 製アプリケーションをいじって高速化してみる。という内容を実施しました。 コンセプトとしては、『ちゃんと設定ファイルを書くだけでも高速化する』という感じです。作業としてはアプリケーションをいじらずに、設定だけいじって高速化する、ということなんですが、結局何がどれくらい効くのか、というのを事前に参考値レベルで弾いておかないとぶっつけ本番になっちゃうな、ということで何がどれくらい効くのかを試してからにしようということで、事前に調査したときのベンチテストと何を変えたかの記録になります。 ベンチマークの前準備 今回はほぼ何もしない Sinatra アプリケーションを作って、その性能差から測ります。ということで用意した性能測定用何もしない S

            設定だけで Ruby アプリを高速化する
          • Rails 6リリース記念!?Qiitaにいろいろ記事を書きました - give IT a try

            先日、Rails 6が正式にリリースされました。 ついにRails 6が正式リリースされたようです!🎉 Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk | Riding Rails https://t.co/pHoJb68B97— Junichi Ito (伊藤淳一) (@jnchito) 2019年8月16日 だから、というわけでもないのですが、Rails関連の記事をいくつか書いてQiitaにアップしています。 Railsアプリのアップグレードの手順 1つ目はRailsアプリのアップグレード(バージョンアップ)の手順です。 永久保存版!?伊藤さん式・Railsアプリのアップグレード手順 - Qiita qiita.com

              Rails 6リリース記念!?Qiitaにいろいろ記事を書きました - give IT a try
            • Puma 5がリリース!スリープソートによる高速化など(翻訳)|TechRacho by BPS株式会社

              概要: Puma 5は当プロジェクトの大きなメジャーリリースであり、実験的な新パフォーマンス機能がいくつも導入されたほか、多数のバグ修正や機能追加も行われました。その中でも最も重要な目玉機能についていくつかお話しいたします(1839 word/7分)。 Puma 5(コードネーム Spoony Bard1)が本日リリースされました(私の誕生日です!)。このリリースにはさまざまなものが盛り込まれていますので、Pumeユーザーの皆さまが自信を持ってアップグレードできるよう、Pumaのさまざまな機能や変更点についてお話しいたします。 ⚓ MRI + クラスタモードでの実験的パフォーマンス機能 今回のリリースの見出しを飾るのはたぶんこれでしょう。メモリ使用量を削減する機能が2つと、レイテンシを削減する機能が1つ加えられました。 Puma 5には以下の3つの実験的パフォーマンス向上機能が含まれていま

                Puma 5がリリース!スリープソートによる高速化など(翻訳)|TechRacho by BPS株式会社
              • Puma の内部構造やアーキテクチャを追う

                Extended outer memory module for my poor native memory. Posts: 2022/02/13 クラビスの CTO になりました 2020/09/28 gendoc という YAML からドキュメントを生成するコマンドを作った 2020/09/13 ISUCON10 の予選を 7 位で通過した 2019/12/01 Puma の内部構造やアーキテクチャを追う 2019/05/27 Golang の正規表現ライブラリの処理の流れをざっくり掴む 2019/04/29 InnoDB の B+Tree Index について 2019/04/29 InnoDB における index page のデータ構造 2019/04/28 InnoDB はどうやってファイルにデータを保持するのか 2019/01/06 Designing Data-Intens

                • Rails初心者がハマったCapistranoの環境変数 - dely Tech Blog

                  こんにちは。 delyコマース事業部エンジニアのjohnです。 もともとは開発部でiOSエンジニアとしてクラシルのiOSアプリ開発をやっていましたが、今年のはじめから新規事業のコマース事業部でwebのフロントエンドやRailsアプリケーションとかいろいろと開発をしています。 この記事は「dely Advent Calendar 2019」の16日目の記事です。 昨日はSREの井上さんによる「10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019」という記事でした。 tech.dely.jp 今回は、Capistranoを使ってRailsアプリケーションをデプロイしたときに環境変数でハマった話を書きます。 なかなか、これ系の記事が少なかったので、gemの中を見るところまでしてみました。 1つのサーバーを使いまわしてのデプロイの話です。インフラがコード化(Infrastructur

                    Rails初心者がハマったCapistranoの環境変数 - dely Tech Blog
                  • Kaigi On Rails

                    Cheating the UX When There Is Nothing More to Optimize - PixelPioneers

                      Kaigi On Rails
                    • DockerでNginx+Puma環境の構築(AWS FargateでRails環境をつくる - その2) - 虎の穴開発室ブログ

                      こんにちは、虎の穴ラボNSSです。 前回「いまさらDocker入門(AWS FargateでRails環境をつくる - その1)」という記事をご紹介しました。 多くの方に読んでいただいたようで大変嬉しかったです。 今回こそは、Fargateを利用してDockerコンテナをデプロイするところまでを紹介いたします。 ...と思ったのですが、デプロイする前の準備がまだまだあったので、 今回は前回同様ローカルマシンで少し違ったRails環境の構築についてご紹介します。 toranoana-lab.hatenablog.com 1. 構築する環境について その1で構築したRails環境をdevelopmentとし、今回構築する環境をproductionとします。 development production ※実際本番デプロイするときはロードバランサーがありますが、ローカルマシンでの実行の際はありま

                        DockerでNginx+Puma環境の構築(AWS FargateでRails環境をつくる - その2) - 虎の穴開発室ブログ
                      • Set a new default for the Puma thread count · Issue #50450 · rails/rails

                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                          Set a new default for the Puma thread count · Issue #50450 · rails/rails
                        • 週刊Railsウォッチ(20190708-1/2前編)ActiveRecord::FixtureSetがめちゃ強くなってた、MacだとRubyが遅い理由、Puma 4登場ほか|TechRacho by BPS株式会社

                          2019.07.08 週刊Railsウォッチ(20190708-1/2前編)ActiveRecord::FixtureSetがめちゃ強くなってた、MacだとRubyが遅い理由、Puma 4登場ほか こんにちは、hachi8833です。「👨‍🦲」という絵文字をSlackに貼ったらこんなふうにぶっ壊れたことで合字だということを知りました。 つっつきボイス:「Bald?」「人間の顔の絵文字にズラのコンポーネントをかぶせてたことが判明しました😆」「😆」 参考: 👨‍🦲 Man: Bald Emoji 参考: 🦲 Emoji Component Bald Emoji 「そうそう😆、Unicodeってこんなふうに複数の文字を組み合わせて合字が作れるんですよね☺️」「4人家族もパパとママと子ども2人を悪魔合体っぽく作ったりしてますね👨‍👩‍👧‍👦」「こういうのに長けたUnicod

                            週刊Railsウォッチ(20190708-1/2前編)ActiveRecord::FixtureSetがめちゃ強くなってた、MacだとRubyが遅い理由、Puma 4登場ほか|TechRacho by BPS株式会社
                          • メトリクス可視化から始める Rails ウェブサーバーのチューニング- Kaigi On Rails 2021

                            Kaigi on Rails 2021 の登壇資料です。 https://kaigionrails.org/2021/talks/s4ichi/

                              メトリクス可視化から始める Rails ウェブサーバーのチューニング- Kaigi On Rails 2021
                            • Unicorn vs Puma vs Passengerの比較まとめ | Scout APM Blog

                              Rubyのアプリケーションサーバーのエコシステムは、Unicorn、Puma、Passenger 5 の3つを中心に出来上がっています。Rubyにおいて、アプリケーションサーバーが解決しなければならない具体的な問題はなんでしょうか。どのようにして最適なアプリケーションサーバーを選択すればよいでしょうか。2019年にはこれらのアプリケーションサーバーのニーズはあるでしょうか。 この記事ではこら全てを取り上げ、Rubyの主要なアプリケーションサーバーを比較していきます。 How important is an app server's raw speed? アプリケーションサーバーそのものの速度がアプリケーションの速度に対して多くの要因となることはほとんどありません。アプリケーションコード、データベースのクエリ、HTTPコールのRubyアプリケーションサーバーとの間の応答速度が、マイクロ秒ない

                                Unicorn vs Puma vs Passengerの比較まとめ | Scout APM Blog
                              • Nginx, Puma, Rails, MySQLのパラメータ設定/チューニング - Qiita

                                # 環境変数 RAILS_MAX_THREADS に 16 をセット threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } ... # 環境変数 WEB_CONCURRENCY に 2 をセット workers ENV.fetch("WEB_CONCURRENCY") { 2 } 実験を行った結果、もちろんサーバーのリソース(今回はCPUコア数: 2)にもよりますが以下のようにサーバーが処理できるキャパシティが変わりました。thread数が少ないともちろんさばける処理数が減るため、サーバーのリソースが余っているにもかかわらず、unhealthyになります。つまり、レスポンスで過負荷を示す503 errorが返却されます。 1worker/5threadの場合、CPU15%ぐらいでunhealthyになる 1worker/10threadの

                                  Nginx, Puma, Rails, MySQLのパラメータ設定/チューニング - Qiita
                                • 毎分1000リクエスト処理できるようにRubyアプリケーションをスケールさせる: 初心者ガイド | Scout APM Blog

                                  ネイト・ベルコペック (@nateberkopec)  SpeedShop(詳細),Railsパフォーマンス・コンサルタンシー 要約:Rubyアプリケーションのための”スケーリング”についての情報は、毎秒数百リクエストを処理している企業によって書かれたものがほとんどです。そうではない私たちのためのスケーリングはどのようなものでしょうか? スケーリングは敷居の高いトピックです。Rubyアプリケーションのスケーリングに関するブログやインターネットでの情報のほとんどは、毎分何万ものリクエストへのスケーリングについて書かれたものです。TwitterやShopifyの規模です。興味深いですが...Rubyでどれくらいできるか、上限を知ることはいいことです...1台よりは多いものの、せいぜい100台以下のサーバでアプリケーションを実行している、私たちのような大多数にとってはあまり役に立ちません。スケー

                                    毎分1000リクエスト処理できるようにRubyアプリケーションをスケールさせる: 初心者ガイド | Scout APM Blog
                                  • 🍭 【連載】=LOVE 音嶋莉沙「ゴルフの楽しさやウェアも可愛いってことを伝えていきたい」PUMA訪問編 - Pop'n'Roll(ポップンロール)

                                    編集協力:竹内伸一 渋野日向子選手をきっかけに興味を持つようになりました(音嶋)音嶋: 私は、ゴルフは男性の方、特に年配の方がやっているスポーツという印象だったんです。でも最近は女性の方にも人気があるように思うんです。 小倉: 男女比でいえば、今でも男性のゴルファーの方が多いと思いますけど、女性も増えてきていますね。若い女性ゴルファーが活躍しているので、その影響は大きいと思います。 音嶋: 他社さんの所属のようですが、私、渋野日向子選手と同じ歳なんですよ。“同世代でもゴルフで活躍している方がいるんだ”って興味を持つようになったんです。 小倉: 音嶋さんのように、女性にもゴルフが広まっていけば、僕らも嬉しいです。僕らも、若い女性に“ゴルフは楽しいよ”ということをしっかり伝えていきたいと思っているんですよ。 COBRA PUMAゴルフ音嶋: ゴルフは可愛いアイテムもたくさんありそうなので、女性

                                      🍭 【連載】=LOVE 音嶋莉沙「ゴルフの楽しさやウェアも可愛いってことを伝えていきたい」PUMA訪問編 - Pop'n'Roll(ポップンロール)
                                    • Puma 4: New I/O 4 Your Server

                                      ❶ Author of How to Open Source (.dev). A book to take you from coder to contributor. ❷ Creator of CodeTriage, a free service helping developers contribute to open source. ❸ Core committer to ruby/ruby. ❹ Married to Ruby, literally. Here’s the setup: You are a web server named Puma. You need to accept incoming connections and give them to your thread pool, but before we can get that far, you’ll hav

                                        Puma 4: New I/O 4 Your Server
                                      • Rails アプリケーションを Puma Web サーバーでデプロイする | Heroku Dev Center

                                        並列リクエストを処理する Web アプリケーションのほうが、一度に 1 つのリクエストしか処理しない Web アプリケーションより dyno リソースをより効率的に使用します。Puma は Unicorn​ と競合する Web サーバーで、並列リクエストの操作ができます。 Puma は、Worker プロセスだけでなくスレッドを使用して、使用可能 CPU をより活用します。Puma でスレッドを使用できるのは、コードベース全体がスレッドセーフ​な場合だけです。安全でない場合は、Puma を使用できても、ワーカープロセスを通してスケールアウトしなければなりません。 このガイドでは、Puma Web サーバーを使用して新しい Rails アプリケーションを Heroku にデプロイする方法について説明します。基本的な Rails のセットアップについては、Rails スターターガイド​を参照し

                                          Rails アプリケーションを Puma Web サーバーでデプロイする | Heroku Dev Center
                                        • How we migrated application servers from Unicorn to Puma

                                          How we migrated application servers from Unicorn to Puma It's been a long journey but with the release of GitLab 13.0 Puma is our default application server. Here's what we did and learned along the way. It’s been years in the making, but our journey to migrate our application servers from Unicorn to Puma is complete. With the Gitlab 12.9 release Puma was running on GitLab.com and now with 13.0 it

                                            How we migrated application servers from Unicorn to Puma
                                          • railsアプリケーションにおいて、なぜNginx+unicornの組み合わせが多いのでしょうか?Nginx+pumaと比較して何が違うのでしょうか?

                                            回答: unicorn が活躍した時代の方が長かったので、それを推す文書が多いというだけだと思います。 rails5以降は puma がデフォルトになっており、わざわざ unicorn に切り替えるメリットが皆無とは言いませんが普通にデフォルトのまま puma を使えば十分です。 unicorn と puma の違いですが、 unicorn はマルチプロセス、 puma はマルチスレッドです。 スレッドはメモリを共有し、プロセスはメモリを共有しません。通常、httpサーバーは複数のリクエストを独立に処理し、永続的なデータはデータベースに保存するので、マルチプロセスモデルの方が相性が良...

                                              railsアプリケーションにおいて、なぜNginx+unicornの組み合わせが多いのでしょうか?Nginx+pumaと比較して何が違うのでしょうか?
                                            • 週刊Railsウォッチ(20210614前編)Pumaのgraceful restart、partial_writesコンフィグが非推奨化、Active Recordの楽観的ロックほか|TechRacho by BPS株式会社

                                              週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は以下のコミットリストのChangelogを中心に見繕いました。 コミットリスト: Compa

                                                週刊Railsウォッチ(20210614前編)Pumaのgraceful restart、partial_writesコンフィグが非推奨化、Active Recordの楽観的ロックほか|TechRacho by BPS株式会社
                                              • puma/docs/architecture.md at master · puma/puma

                                                Architecture Overview Puma is a threaded Ruby HTTP application server processing requests across a TCP and/or UNIX socket. Puma processes (there can be one or many) accept connections from the socket via a thread (in the Reactor class). The connection, once fully buffered and read, moves into the todo list, where an available thread will pick it up (in the ThreadPool class). Puma works in two main

                                                  puma/docs/architecture.md at master · puma/puma
                                                • Puma の Daemonization が廃止された理由と、デーモン化したいときはどうするべきか - 完全に理解した.com

                                                  Puma は Ruby のアプリケーションサーバの一種であり、Ruby on Rails がデフォルトで使用していることでも有名です。 そんな Puma をサーバにデプロイする方法を調べていると、一昔前まではデーモン化 (Daemonization) する設定があったそうですが、現在はその設定が廃止されていました。 そこで Puma をデーモン化する設定はなぜ廃止されたのか 代替手段の puma-daemon によるデーモン化はどのように実現されているのか を調べたところいろいろ勉強になったので、記事としてまとめます。 前提 Puma とは?という方には、Ruby における Web サーバとアプリケーションサーバについて説明している以下の翻訳記事が分かりやすくてオススメです。 Rails開発におけるwebサーバーとアプリケーションサーバーの違い(翻訳) - Qiita Puma をデーモン

                                                    Puma の Daemonization が廃止された理由と、デーモン化したいときはどうするべきか - 完全に理解した.com
                                                  • Puma graceful restarts

                                                    How to configure Puma 5 application server for graceful restarts, and what is the difference between regular, hot, and phased restarts? Application restarts are necessary when things go wrong or whenever we need to push a new application version. But a regular restart isn’t usually anything more than stopping and starting the server again. To keep clients connected or even keep serving requests, w

                                                      Puma graceful restarts
                                                    • capistrano3でpumaの運用ー設定ファイルの管理どうする? - Qiita

                                                      railsユーザの多くがつかってるのではないかと思われるcapistranoとpuma。この組み合わせで、どうやってpuma起動時に任意の設定を指定するか、意外とわけわからんのでまとめた。 pumaのデフォルト仕様 なにも指定せずにpuma起動すると、 config/puma/{env}.rb, config/puma.rb, の優先順位で設定ファイルが読まれる。 puma/configuration.rb at 0cd28f373a245eca4e717bff1415b97bbc2356d2 · puma/puma · GitHub ちなみに、ローカル環境などでrails server したときはどうも、puma, thin, webrickの順にrackハンドラを探して見つかったやつで起動するっぽい。最近のrailsではrails newするとpumaが入るので、特にいじらないかぎりr

                                                        capistrano3でpumaの運用ー設定ファイルの管理どうする? - Qiita
                                                      • Rails でメモリが右肩上がりに増えて最終的に落ちるのでなんとかしてきた - Qiita

                                                        before_fork do require 'puma_worker_killer' PumaWorkerKiller.config do |config| config.ram = 1024 # total RAM available config.frequency = 5 # how often to check config.percent_usage = 0.98 # percent of RAM to use before killing config.rolling_restart_frequency = 12 * 3600 # 12 hours in seconds end PumaWorkerKiller.start end puma_worker_killer の設定値の解説 config.ram = 1024: アプリケーションが利用可能なRAMの総量 config

                                                          Rails でメモリが右肩上がりに増えて最終的に落ちるのでなんとかしてきた - Qiita
                                                        • pumaがdaemonとして動かせなくなったので、systemdで動かすときのpuma.serviceの書き方 | takeshit.info

                                                          pumaがdaemonとして動かせなくなったので、systemdで動かすときのpuma.serviceの書き方 はじめに Railsをコンテナ以外のEC2などで実行しているみなさん、capistranoやpuma使っていますか!? 今回はdaemonizeオプションが削除されたpumaをタスクマネージャーであるsystemdで動かすためのtipsです。 Railsを6.1に上げたらpumaのバージョンも当然上がっていて、bash上でpumaを直接バックグランド実行できなくなっており、様々なdocumentを読んでたどり着いたのが今回の設定です。 最適な設定になっているわけではないと思いますが、どなたかの役に立てたら幸いです。 2021.06.18 更新 capistrano3-pumaのコマンド実行時の挙動について追記 2021.07.08 更新 環境変数の注意事項について、コマンド備忘に

                                                            pumaがdaemonとして動かせなくなったので、systemdで動かすときのpuma.serviceの書き方 | takeshit.info
                                                          • Itamae自分メモ[0] Rails&nginx&puma&CentOSのプロビジョニングをしてみるので基本的な設定とか準備 – t4traw.net

                                                            Itamae自分メモ[0] Rails&nginx&puma&CentOSのプロビジョニングをしてみるので基本的な設定とか準備 今までインフラ系はほとんどまともに勉強した事がなくて、ライブラリのインストールやVagrantで開発をするのに必要な設定ぐらいしか知識がなかった。RailsとかSinatraのデプロイは社内サーバーかheroku。 しかし、今作ってるモノがどうしてもherokuだと厳しい(レイテンシーとかプラン的な問題)ので、勉強も兼ねてRails+nginx+puma+CentOSな本番環境を作ったみた🔧 で、こういうのは毎日やらないと忘れてしまう……👻 いつもはメモや秘伝のレシピ的なモノを作って置いておくのだけど、プロビジョニングをコードに落としておけば「バージョン変わって動かない」なんて事があっても、(やりたい事orやらないといけない事)は分かるよね❗という事で、一通り

                                                            • Puma 4: Hammering Out H13s—A Debugging Story

                                                              For quite some time we've received reports from our larger customers about a mysterious H13 - Connection closed error showing up for Ruby applications. Curiously it only ever happened around the time they were deploying or scaling their dynos. Even more peculiar, it only happened to relatively high scale applications. We couldn't reproduce the behavior on an example app. This is a story about dist

                                                                Puma 4: Hammering Out H13s—A Debugging Story
                                                              • pumaのthread数の伸縮がどのように行われているか - 名有りさんの日記

                                                                pumaが同時に建てるthread数はこちらで指定することが出来る 実際の定義を見るとこのように2つの値を入れることが出来る threads 5, 16 第一引数が最小値、第二引数が最大値を表しているらしく、処理の際に自動でスレッド数をスケールしてくれるらしい 実際どのように動くか空気感を調べる必要があったためメモ 最初にまとめ 語弊がある気もするけどこんな感じ 最初は最小値の数だけthreadを用意する (thread poolに格納される) 既存のthreadが全てビジーな状態になった際、現在のthread poolのスレッド数が最大値に達していない場合は Thread.new して新しいthreadを確保 thread数が +1 される 30秒おきにthread poolの状況を確認し、もし待ち状態のthreadが存在するのであればthreadを1つ削除するよう宣言 threadの処

                                                                  pumaのthread数の伸縮がどのように行われているか - 名有りさんの日記
                                                                1