Beginner's Guide to Partitioning vs. Sharding in Postgres | Claire Giordano | PGConf EU 2023
When increasing concurrency by using a multi-threaded web server like Puma, or multi-process web server like Unicorn, you must be aware of the number of connections your app holds to the database and how many connections the database can accept. Each thread or process requires a different connection to the database. To accommodate this, Active Record provides a connection pool that can hold severa
Introducing Unicorn If you are a Rails developer, you’ve probably heard of Unicorn, a HTTP server that can handle multiple requests concurrently. Unicorn uses forked processes to achieve concurrency. Since forked processes are essentially copies of each other, this means that the Rails application need not be thread safe. This is great because it is difficult to ensure that our own code is thread
随分長いことブログ放置してしまったのだけどネタ見付けたので久々の記事。 UnicornはPassengerより遅かった? なんかTwitterで「アクセス少ないときはPassengerよりUnicornのが速いのに、アクセス多くなってきたらその逆になった」って話をみかけたので、それ単にUnicornのworkerが足りないんじゃないの、と返したのだけど、どういうことかという話を少しまとめる。 まず、Unicornのworkerは1プロセスにつき1度に1リクエストしか処理しない。だから例えば、凄い大雑把な計算だけど、平均50msくらいでレスポンスを返すアプリだとすれば、1workerは20req/secくらいは返せるかなと見積もって、ピーク時に100req/secくらいアクセスがありそうだったらworkerを5個くらい立てとくかな、足んなかったらもうちょっとかな、みたいに考える。実際どんくら
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ
Nginx Proxied to Unicorn¶ ↑ Nginx and Unicorn combine to provide a very powerful setup for deploying your Sinatra applications. This guide will show you how to effectively setup this combination for deployment. Installation¶ ↑ First thing you will need to do is get nginx installed on your system. This should be handled by your operating systems package manager. For more information on installing n
Table of Contents Open Table of Contents Unicorn とは? Unicorn のインストールと事前準備 Unicorn の設定ファイルを用意する Unicorn サーバを起動する nginx と Unicorn を連携する Unicorn を停止する Unicorn の設定の再読込 サービスの提供を止めずにプログラムの再読込 Unicorn とは? Rails、Rack アプリケーションを動作させるコンテナとしては、Passenger、Thin、Mongrel などの選択肢がある。 それ以外にも Unicorn という Rack アプリケーション向けの HTTP サーバがあり、今回試しに使ってみたのでそのメモ。 Unicorn: Rack HTTP server for fast clients and Unix 設計方針に特徴的な部分があり、以
最近は仕事でSinatraアプリを書いたりしているので、Sinatraアプリを動かすためにはどのHTTPサーバを使うのがベストなのかが気になっている。(先に結論を書いておくけれど、どれがベスト、という唯一の選択肢は今のところありません。適材適所です。) SinatraはRackの上に構築されているので、Rackに対応したHTTPサーバーを使って動かす事になるのだが、この数がやたらと多く、どれを使えばいいのか迷う。代表的なものを挙げただけでも、WebRick, Mongrel, Thin, Unicorn, Passenger(Apacheとかに組み込んで使うやつ), FastCGI, (普通の)CGI、これぐらいは選択肢がある(いくつかHTTPサーバじゃない物も混ざっているが、Rackが対応してるという点は共通している)。 WebRickはそもそもパフォーマンスに重点を置いていないし、Mo
いやぁ・・・Rails3はいいですね(`・ω・´) b Rails2とはなんだったのか・・・というレベルの完成度で、 なんとなく納得しないままRails2を使っていた私も、 Rails3になってからはバリバリに使いまくりです*1 そんなRailsを動かすAppサーバとして、 以前から定番になっていたのがpassengerでして、 私もApacheやnginxと組み合わせて使ってました*2 ただ、最近よく耳にするのがnginxにunicornを組み合わせた構成です http://unicorn.bogomips.org/ 前々から気になっていたものの、なかなか手をつけられなかったのですが、 仕事でもプライベートでもちょうどRails3アプリをリリースするタイミングだったので、 nginx+unicornの環境を試してみました なお、非常に細かな解説がある良記事がありますので、 ぜひそちらを先
mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... 現在 Rails サイト・アプリは、サーバ環境・ローカル環境ともに Apache2 + Passenger で動かしていますが、Nginx + Unicorn で動かすにはどうすべきか試行してみたので、記録しておきます。 (ちなみに、当初この記事を執筆していた時(数週間前)は試行段階でしたが、現在は実際に運用しています) Unicorn とは、CPU やメモリをあまり消費せず高速で軽快に動く次世代 Rails サーバです。 0. 前提条件 Linux Mint 14 Nadia (64bit) での作業を想定。 Nginx 1.2.6 がソースビルドによりインストール済み。
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
2010.07.09 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた 2010.07.20追記: prefixを指定した運用も可能でした。ご指摘頂きありがとうございます。 2010.07.28追記: 関連記事「RailsサーバUnicornを飼いならす! 運用時の便利技」へのリンクを張りました。 Railsサーバはたくさんあってややこしいですね! 最近さらにUnicornというものが頭角を表してきたようで、Twitterやgithubも使っているようなので使ってみましたので、特徴や使い方などレポートしてみたいと思います。 このブログの他にもEngine Yardのブログ記事「Everything You Need to Know About Unicorn」やgithubの記事「Unicorn!」が非常に参考になると思いますので、
構築を試みたときに調べたことなどなど なぜunicorn + nginx? unicornは汎用のRackアプリケーションサーバ。Railsからもsinatraからも使える。 unicornだけでも、任意のポートをlistenすればwebサーバーとして使えるが、 以下のようなメリットがあるため、本番ではnginxをリバースプロキシとして 前に立ててからリクエストをunicornに流すのが良い 画像やcssなどの静的ファイルはnginxで高速に返せる リクエストをバッファリングして受信完了してからunicornにリクエストを 投げるため、遅い回線(3Gなど)で接続が来た時にunicornの ワーカプロセスの待ち時間を削減できる 動作原理はgithubの運用例が記載された以下のドキュメントが詳しい https://github.com/blog/517-unicorn まずは、unicornだ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く