3

Ubuntu 8.04 共有ホスト (VMWare) を Apache + Passenger (= Mod Rails)、MySQL、および Acts_As_Ferret (サーバー モード) で実行しています。最初のリクエストでは遅すぎます。私は多くの REST 操作を行っていますが、ユーザーはほとんどいません。

今、私は新規インストールをしたい...

本当に機敏なRoRサーバーには、どのセットアップ(Ubuntuに基づく)をお勧めしますか? (例: Ngnix、Thin、Mongrels、またはその他の凝ったもの)

4

4 に答える 4

3

Passenger はアイドリングしているため最初のリクエストで遅く、すべての Rails プロセスをシャットダウンするため、最初のリクエストで Rails プロセスをロードする必要があります。Rails プロセスのアイドリングとクローズを避けるために定期的に ping を実行するか、アイドル タイムアウトを高い値に設定する必要があります。

RailsPoolIdleTime のドキュメントを参照してください

于 2009-06-19T08:20:58.293 に答える
2

ec2onrails メーリング リストを確認してください。ここでは、thin/nginx/passenger/apache のさまざまな代替案と順列について多くの議論が行われており、適切なテストに基づいて投稿されたハード データもいくつかあります。

また、ec2onrails イメージ (google ec2onrails) の形をした素敵なパッケージ化された RoR/Ubuntu スタックも見つかります。これは amazon EC2 クラウドで実行するためのものですが、そこにはたくさんの素晴らしい機能と capistrano タスクが含まれています。現在は apache をベースにしていますが、進行中のバージョンでは代替案を検討しています。非 EC2 サーバーに同じビルド スクリプトを使用できない理由はありません。

問題が最初のリクエストだけである場合は、稼働中と見なす前にサーバーをウォームアップしてみてください (たとえば、基本操作を自動的に実行するスクリプトを実行するなど)。

ああ、追加する必要があります-問題はスタックにあると確信していますか? おそらくそれはあなたのコードです。ボトルネックが最初にどこにあるのか、キャッシング、改善されたクエリとインデックス作成、特に memcached から何が得られるかを確認してから、他の調整を行うことをお勧めします。

于 2009-06-18T17:00:36.577 に答える
2

Ubuntu 9.04 または 8.10 に切り替えることで、速度が大幅に向上する可能性があります。

于 2009-06-18T16:54:21.997 に答える
1

私は個人的に、ubuntu スタックで nginx+passenger を使用しています。フェレットの代わりにスフィンクスも使う

于 2009-06-18T17:17:05.963 に答える