タグ

翻訳とunicornに関するhachiのブックマーク (2)

  • Rubyのメモリ割り当て方法とcopy-on-writeの限界(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Limits of Copy-on-write: How Ruby Allocates Memory 公開日: 2017/08/28 著者: Brandur サイト: https://brandur.org/ Unicorn(またはPumaやEinhorn)を実行していると、誰しもある奇妙な現象に気がつくでしょう。マスタからforkした(複数の)ワーカープロセスのメモリ使用量は開始当初は低いにもかかわらず、しばらくすると親と同じぐらいにまでメモリ量が増加します。大規模な番インストールだと各ワーカーのサイズが100MB以上まで増加することもあり、やがてメモリはサーバーでもっとも制約の厳しいリソースになってしまい、しかもCPUアイドル状態のままです。 現代的なOSの仮想メモリ管理システムは、まさにこの状況を防止するために設

    Rubyのメモリ割り当て方法とcopy-on-writeの限界(翻訳)|TechRacho by BPS株式会社
  • 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株式会社
  • 1