仕事で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サーバ
Passenger(mod_passenger)は言わずと知れたRuby on Rails/Rackアプリケーションを動かすための定番サーバーのひとつ。 Phusion Passengerhttp://www.modrails.com/実はPassengerではPython WSGIを動かすこともできる。誰が得するか分からないから誰もほとんど言及していないけど。本番環境でPassengerを使ってWSGIアプリケーションを動かそうとは思わないけど、virtualenvとの親和性が高い、複数のバージョンのPythonを使って開発ができるというメリットもあるから、開発環境では使ってみてもいいかもしれない。あと、すでにmod_passengerの環境が構築済みならば、Trac等の定番アプリケーションを動かす場合でも、mod_wsgiやFastCGIよりも設定が楽な気がする。まあ、こういったケース
preforkでテストしました。 yumでインストールした状態で使ってます。 最後にテスト用のconfをincludeしています。 httpd.confKeepAlive Off 〜 StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 〜 Include /home/homepage/hello_world_rack/hello_world_rack_apache.conf hello_world_rack_apache.conf passengerのテストの場合は、VirtualHostまで使ってます。 unicornをテストする場合は、VirtualHostまでをコメントアウトし、ProxyPassのところのコメントアウトを
one's world http://zom.hatenablog.jp/ に移転している最中でいくつかの記事は新ブログかQiitaにリダイレクトされます メニューとウィジェット 都内でプログラマやってるアラサーの男性です。 このブログは日記とか書いてます。ゆるーくやってます。かるいオタクです。 パズドラ/クラクラ/ケリ姫/にゃんこ大戦争あたりをよくやってます。 以下、人名は敬称略。音楽大好き。平沢進、ヒトリエ、FinalFantasyあたりのコンサート・ライブによく行きます。マンガも大好きです。作者で言うと日本橋ヨヲコ、水上悟志あたり。 zomです。 もうね、ぐったりするほどハマったので、他にもハマった人がいると思い投稿します。 【2014/04/05追記】 ※4.0.40では元に戻っていたのでタイトルなどバージョンについて細かく追記しました。 ちょっとsinatraでWebAPIでも
先日、 Phusion Passenger 4.0 beta 1 が公開されました。 近年は Passenger に代わり Nginx + unicorn の構成が Rails の業界標準になりつつありますが、Passenger 4 は大きく進化したようなので、そのアップデート内容を紹介します。 なお、この記事は 10/24 に公開された Phusion 公式ブログの記事「Phusion Passenger 4.0 beta 1 is here – Phusion Corporate Blog」を要訳したものです。説明をところどころ省いているので、詳しくは原文を参照してください。 What's new? 複数のRubyバージョンのサポート 1サーバで複数のアプリケーションをホストしている場合、アプリケーション毎に違うRubyインタプリタを指定できるようになりました。 イベント駆動 I/O
使ってみたよ。「gem install passenger」一発だったので楽ちんでした。 インストール
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
運営している某サービスが落ちていてあせったのだが、なんのことはない、約3年間そのままだった Rails の production.log が超巨大ファイルになっていたのが原因でした。 Log Rotation for Phusion Passenger | overstimulate で紹介されている通りに設定し、ログを毎日ローテートするようにしました。 以下の内容で、/etc/logrotate.d/passenger というファイルを作成、 /home/deploy/app/shared/log/*.log { daily missingok rotate 30 compress delaycompress sharedscripts postrotate touch /home/deploy/app/current/tmp/restart.txt endscript } ちゃんとロー
RailsとApacheの連携をアレコレやってみた。 現在候補は3つ Passenger Proxy fcgi/cgi 比較 比較の条件 設定がRailsディレクトリに収まるか。/etc/apache2や/etc/init.dに書くのは面倒だよね。 インストールが簡単か。コマンド実行だけでいけるか 再起動がいるか 動作速度は? 手法 設定がRailsディレクトリに収まるか。 インストールが簡単か。 再起動が不要か 動作速度は raisのエラー表示 passenger x x x ○ ○ proxy x x x ○ ○ cgi ○ ○ ○ x x fcgi x ○ x ○ x mod_proxyは.htaccessに設定書けない。しかも設定するたびにapaache reloadが必要。ってことで不便すぎたわ cgiは遅い。でも設定がappディレクトリをそのままをアーカイブ出来るので良いし、ド
こんにちは。Forkwell の中の人、大岡(おおか)です。前回の記事「なぜ Forkwell はリリース初日にサーバダウンを繰り返したのか」の反響が大きく、一時はホッテントリに入るほどで正直驚きました。 Twitter や ブックマークコメント でご意見も多くいただいたので、今回はそれに対するフォローの記事を書きたいと思います。 一番多かったご意見は、 本当に Unicorn が悪かったのか。worker_proccesses の設定値が小さすぎただけじゃないのか。 ちゃんと原因究明してないのに、Unicorn を悪者にするのは Unicorn がかわいそうです(´;ω;`) といったものでした。 500エラーが頻発し出した午前11時すぎから、Passenger への入れ替えを決断した午後5時くらいまでの約6時間、私たちが行っていたのは Webサーバ、アプリケーションサーバ、DBサーバの
PassengerMaxRequestsとPassengerPoolIdleTimeに関する個人的なメモ。 とりあえず、今自分が使用している設定はこちら。お決まりの3行はここでは省略する。 PassengerUseGlobalQueue on PassengerMaxPoolSize 30 PassengerMaxInstancesPerApp 0 PassengerMaxRequests 0 PassengerPoolIdleTime 120 RailsAutoDetect off RailsFrameworkSpawnerIdleTime 86400 RailsAppSpawnerIdleTime 86400ここから本題。 PassengerMaxRequestsとは、リクエストをいくつ処理したらプロセスを終了させるかを決めるものだ。 ちなみに初期値は0=無制限となっている。 例1(ち
Apache と Passenger と RVM を利用して、複数の gemset の環境の アプリケーションを動かす手順のメモです。 例えば、Rails2 のアプリと Rails3 のアプリを同一の Passenger 上に 共存させることなどができます。 文中の # で始まるプロンプトは root ユーザーでの作業を表し、 $ で始まるプロンプトは一般ユーザー(ここではwebappという名前のユーザー)での作業を 表します。 例えば、ruby-1.8.7-p334 しか利用しない(ruby-1.9.2などは混在させない)場合です。 Apache に Passenger モジュールをインストールすることで、 Apache と Passenger を連携させます。 ユーザー作る まずはWebアプリケーションを動かすためのユーザーを作成します。 #useradd -s /bin/bash -
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く