タグ

unicornに関するinouetakuyaのブックマーク (26)

  • Unicornのgraceful restartで少しハマった件 - hack in 3 minutes

    RailsサーバーのUnicornはmasterプロセスにUSR2シグナルを送ると、新しい設定・アプリのリロードを無停止で行うgraceful restartな動きをしてくれます。 この仕組を理解してなかったのでそれのメモ。 ドキュメントも何も見てない時の認識 現行のmasterが新しい設定・アプリをロードした新masterプロセスをforkする 新masterとそこから生えるworkerがreadyになって、新旧のUnicornが処理を行う 頃合いを見て旧masterは勝手に落ちる と思ってたんだけど、実際試してみても3のタイミングになっても旧masterがなかなか落ちてくれない。 旧masterのCPU利用率はだんだん下がってきているので、それがなくなったら落ちるのかと勝手に思ってたけどそうでもない。ウーンとなっててドキュメント見たら普通に書いてありました。 USR2を送った時の動き

  • なぜ Forkwell はリリース初日にサーバダウンを繰り返したのか - 表参道フォークウヱル別館

    こんにちは。Forkwell の中の人、大岡(おおか)です。 日は、お恥ずかしながら Forkwell リリース初日の失態について、詳細をお話しようと思います。 当初からのユーザーの方はご存知かもしれませんが、先週4月3日(火)に Forkwell がリリースされた際、殺到するアクセスの負荷に耐え切れず、深夜までサーバダウンを繰り返しました。なぜそんなことになったのか。 端的に言えば、ロクに負荷テストを行ってなかったからというのが真相という間抜けなオチなのですが。 初めての慣れないディレクター業務で連日サービスリリースのことで頭が一杯になっていた大岡は、負荷テストのことがすっぽり頭から抜けていました。 私も過去、Apache Bench や JMeter で負荷テストを行った経験はもちろん何度もあったのですが、今回はウソのようにきれいさっぱり忘れてしまっていました。 ディレクター業務に加

  • なぜ Forkwell は初日にサーバダウンを繰り返したのか解 目明し編 - 表参道フォークウヱル別館

    こんにちは。Forkwell の中の人、大岡(おおか)です。前回の記事「なぜ Forkwell はリリース初日にサーバダウンを繰り返したのか」の反響が大きく、一時はホッテントリに入るほどで正直驚きました。 Twitter や ブックマークコメント でご意見も多くいただいたので、今回はそれに対するフォローの記事を書きたいと思います。 一番多かったご意見は、 当に Unicorn が悪かったのか。worker_proccesses の設定値が小さすぎただけじゃないのか。 ちゃんと原因究明してないのに、Unicorn を悪者にするのは Unicorn がかわいそうです(´;ω;`) といったものでした。 500エラーが頻発し出した午前11時すぎから、Passenger への入れ替えを決断した午後5時くらいまでの約6時間、私たちが行っていたのは Webサーバ、アプリケーションサーバ、DBサーバの

  • https://qiita.com/y_uuki/items/118bce7b3a4acb545d79

  • Account Suspended

    Account Suspended This Account has been suspended. Contact your hosting provider for more information.

  • apache,nginx × passenger,unicornのベンチをとってみた

    railsでwebアプリを作る予定なので、webサーバーのベンチをとって見ました。 ツッコミ大歓迎です!!! **[結果をすぐ見たい人はこちら](#1)** ## それぞれの説明 apacheとnginxの説明は省きます。 passengerはruby版mod_perlです。 * [Phusion Passenger](http://www.modrails.com/) unicornは、RubyのためのHTTPサーバです。 * [Unicorn: Rack HTTP server for fast clients and Unix](http://unicorn.bogomips.org/) perlでいうStarmanですね。 ## 構成 ベンチ取るためのwebアプリを動かしたマシンのスペックは下記の通りです。 rbenvを使ってrubyの1.9.3p125 使いました。 ### マシ

  • Railsで利用可能なWebサーバのパフォーマンス(&その環境構築) | simBlog

    2012年2月12日 11:23 - CATEGORY: Rails, Solaris いろんなサイトで、Railsで利用可能なWebサーバにおけるパフォーマンステストを実施していたので 興味位で自分もやってみた。ちなみに導入先のサーバはSolaris10(09/10 X86)である。 対象のWebサーバは以下のとおり。 Webrick mongrel thin unicorn passenger & Apache unicorn & nginx (注)passenger & nginxも試したかったのだが、”passenger-install-nginx-module”の インストール時に「nginxをリコンパイルする必要がある」というメッセージが出力された ので諦めた。 パフォーマンステストの前に、いくつかのモジュールのインストールが必要のため、そこから説明する。 1 環境構築 (1

  • nginx + unicorn + Rails on Mac - Aerialarts

    とりあえず動かしてみたのでメモ。 unicornを動かす まずはgemをインストール。 $ gem install unicorn unicornの処理を設定する $ cd <RAILS_ROOT> $ vi config/unicorn.rb <RAILS_ROOT>/config/unicorn.rbはこんな感じ(nginx + unicorn を試してみたからほぼそのまま拝借): # ワーカーの数 worker_processes 2 # ソケット経由で通信する listen File.expand_path('tmp/sockets/unicorn.sock', ENV['RAILS_ROOT']) # ログ stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) stdout_path File.exp

  • RailsサーバUnicornを飼いならす! 運用時の便利技|TechRacho by BPS株式会社

    前回ブログで紹介したRailsサーバUnicornくんを運用し始めて結構時間が経ちました。 サービスを落とさないであるとか、システムの安定性を確保するために、 ちょっとしたユーティリティを作ったり監視ソフトMonitの設定を行ったりしていました。 みなさんのお役に立つかわかりませんが、弊社でUnicornと組み合わせて運用に利用しているツールや設定をブログに掲載してみたいと思います。 もっといいやり方がありましたら、ぜひコメント欄でご紹介頂ければと思います。 ダウンしたら自動的に再起動 これはMonitで行っています。 もちろん同内容の監視ツールGodでも可能だと思いますが、以前設定した経験があって設定が楽そうだったので、Monitでやってみました。(事実楽でした) check process unicorn with pidfile "/path/to/rails/tmp/pids/un

    RailsサーバUnicornを飼いならす! 運用時の便利技|TechRacho by BPS株式会社
  • Account Suspended

    Account Suspended This Account has been suspended. Contact your hosting provider for more information.

  • CentOS6.2 に Rails + Nginx + Unicorn な環境を作った - (゚∀゚)o彡 sasata299's blog

    2012年05月10日11:00 Ruby Linux CentOS6.2 に Rails + Nginx + Unicorn な環境を作った 必要になって久しぶりに環境作りました。にしても、しばらく触ってなかったからかいろいろ忘れてて大変でした。今度のために簡単にまとめておきます :D ネットワーク まずはネットワーク周りの設定をします。 vi /etc/sysconfig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network # NETWORKING_IPV6=no vi /etc/resolv.conf sudo /etc/init.d/network restart ssh 次は ssh 周りの設定です。ポート番号変えたりとかパスワード認証不可にしたりとか公開鍵認証を許可したりとかすると良いでしょう。 vi /etc/ssh/ss

  • Nakajijapan » 「Unicorn + Rails + Nginx」で構築してみる

    勉強がてら構築してみました。以前はrailsのWebサーバはThinで構築していたのですが、 最近流行している「Unicorn」、さらにはフロントにリバースプロキシとHTTP用のサーバ「nginx」 をおいて構築してみることにします。 仕組みについてはこちらのサイトがよくまとめられていたので概要つかむによいでしょう。 まずは、nginxのインストールを行います。インストールはあらかじめrpm をインストールしてからyumでインストールし直します。 rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm yum install nginx 一度、デフォルトでnginxで起動するかどうかの確認を行います。「service nginx start」で http://hoge.moge にアクセスしてnginx用の画面が表示されていればとりあえずは

  • #tuningathon #4に参加しました

    2位でした。ありがとうございます。お騒がせしました。 やったことはこれだけ varnish導入 unicorn導入 varnish default.vclはこんな感じ。 ポイントは、vcl_fetchの先頭にあるbanですな。 backend default { .host = "127.0.0.1"; .port = "3001"; } sub vcl_recv { if (req.restarts == 0) { if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; } else { set req.http.X-Forwarded-For = client.ip; } } if (req.request != "GET" &

  • tuningathon 4 に参加&優勝してきました

    @tnmt 次回チューニンガソンは7/1(日)らしいけどご予定は?前回のリベンジを是非! — Michael H. Oshita (@ijin) June 12, 2012 というわけで3回目のJavaではボロボロでしたが、 @ijin さんと再び tuningathon に参加して、優勝してきました。 ルール レギュレーション があるのでそれを参照。refineryていうRoR製CMSのブログ機能のチューニングがお題でした。 やったことを時系列順で ※スコアの移り変わりや、このエントリで触れていない点については相方@ijinさんのエントリが詳しいので、合わせてご参照ください。 rbenv + ruby-buildRuby 1.9.3-p194 を入れる Railsのアプリサーバにunicornを使う MySQLにいくつかindex追加 計測ツールを眺めてスコア算出方法を調査 Var

  • unicornを使ってみた(2) - REMPにおけるメモリ利用量の変化 - テノニッキ (@hideack 's diary)

    では、実際に現在のREMPの場合において、どの程度メモリ使用量が変化したのかを確認してみました。 Apacheをフロントのリバースプロキシとして、背後にRack用のWebサーバ(Thin or unicorn)を動かすという挙動はかわらないので、Thinとunicornの両方のサーバを立てて、リバースプロキシ(mod_proxy)で均等に複数のプロセスで起動させているthinサーバとunicornにアクセスする様にして3分毎に実メモリ使用量を監視してグラフにしてみました。 mod_proxyの設定は以下の様な形にしています。以下の様に設定することでthinの1プロセスとunicornへ均等にアクセスがされる様にしています。 <IfModule mod_proxy.c> (中略) <Proxy balancer://***> BalancerMember http://127.0.0.1:4

    unicornを使ってみた(2) - REMPにおけるメモリ利用量の変化 - テノニッキ (@hideack 's diary)
  • unicornを使ってみた(1) - 導入 - テノニッキ (@hideack 's diary)

    REMPで今までApacheのリバースプロキシを通してthinサーバでAPIを稼働させていたのですが、稼働時間が長くなるとメモリの利用割合が増える状況が続いていたため、どうしようかと悩んでいたところ会社でmizzyさん(@gosukenator)からunicornだとメモリ利用量が押さえられるという話を伺ったので早速切り替えてみました。 unicornは、Rack 環境をロードした master プロセスが fork して子の worker を作る仕組みになっているため、安定性とメモリ利用量を小さくすることができることが期待されます。 unicornのインストールはgemを使うことで簡単に行えます。 $ sudo gem install unicorn 現在、REMPのAPIサーバはthinで動いているのでアプリケーションのルートにunicornの設定ファイルを書き足すことでunicorn

    unicornを使ってみた(1) - 導入 - テノニッキ (@hideack 's diary)
  • RailsのデプロイとUnicornのトラブルシューティング

    デプロイしたけど何かおかしい? 先日、Unicornを採用しているウェブアプリで問題が発生しました。デプロイした最新のコードが実行されているように見えますが、時々古いコードの挙動を見せるのです。 今回はそのトラブルシューティングの一部始終を紹介しながら、Unicornのホットデプロイ(ダウンタイムなしでアプリケーションを更新すること)の仕組みをおさらいします。担当は私、去年KRAYに入社しました@irohirokiです。よろしくお願いします。 問題 まずはデプロイ先のサーバにSSHして、Unicornのプロセスを調べてみました。 $ ps ax -H PID TTY STAT TIME COMMAND 3159 ? Sl 0:00 unicorn master (old) -c unicorn.conf -D 3162 ? Sl 0:00 unicorn worker[0] -c unic

    RailsのデプロイとUnicornのトラブルシューティング
  • Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel

    Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke

  • unicornのpreload_app - motsatのブログ

    unicornの設定「preload_app」について。 ざっくりと、「workerのアプリケーションの先読み」の設定らしい。 このサイトに詳しい説明があったので訳してみた。英語は苦手なので怪しいがなんとなく雰囲気は合ってる気がする。 http://unicorn.bogomips.org/Unicorn/Configurator.html#method-i-preload_app Enabling this preloads an application before forking worker processes. workerをforkする前のアプリケーションの先読みを有効にします。 This allows memory savings when using a copy-on-write-friendly GC これは、copy-on-write-friendlyに相性の良い環境

    unicornのpreload_app - motsatのブログ
  • nginx+UnicornでRailsのページキャッシュを使おうとしてはまった話 - ひげろぐ

    ここやここを参考に設定してみたが、nginx+Unicornの組み合わせでページキャッシュが効かなかったので、ちょっと試行錯誤。 最終的には以下を参考にしてなんとかなった。 RubyonRailsMongrel 原因 nginxがキャッシュファイルを見つけてくれなかった 状況を調べてみるとキャッシュファイル自体は作られている。 しかしRailsがキャッシュファイルを作るときにパス名に「index.html」か「.html」を付加したものをファイル名とするが、nginxはこの事情を知らないので、キャッシュファイルを見つけられなかった。 なので都度Unicornの方へリクエストを振っていた。 一方Unicornは静的ファイルへのアクセスをnginxに一任していた Rails3からはProduction環境ではデフォルトで静的ファイルへのアクセスを受け付けていない。 以下デフォルトのconfig