1

Ruby Web アプリケーションで CPU サイクルを節約する方法は何ですか? 私のプロジェクトが拡大するにつれて、レンダリング、メソッドの実行、db クエリの平均時間が増加しています。平均60msが高いと思います。マシンコードをタイトでコンパクトに保つ​​ための設計ガイドラインはありますか? のように - 完全にオブジェクト指向ですか? 繰り返しの繰り返しを避けるために、より多くの変数とメモリを使用していますか? データベースクエリを統合していますか?

4

4 に答える 4

3

実際にすべてのチューニングを開始する前に、ボトルネックを見つけてください。

問題はCPUにあると確信していますか?それはあなたのストレージシステムですか?, それはあなたの方法ですか? それはあなたのDBですか?データベースでidicesを使用していますか?データベースで必要なインデックスをさらに使用していますか?

于 2012-05-08T15:06:28.623 に答える
3

あなたの質問に対するオールインワンのソリューションはありません。

プロファイラーに対してアプリケーションを実行する必要があります。これにより、ソフトウェアのどのポイントが最も多くのリソースを消費するかが判断されます。その部分を最適化し、満足のいく結果が得られるまで操作を繰り返します。

ruby-prof、gperftools、および newrelic などのパフォーマンスを測定するためのツールはたくさんあります。Google でこのキーワードをチェックしてください。

于 2012-05-08T15:07:24.380 に答える
1

キャッシングを調べましたか?これは、Web アプリケーションを高速化し、高トラフィックにスケーリングするための非常に重要なツールであり、多くの場合、通常のコード最適化よりも桁違いに効率的です。

于 2012-05-08T21:31:05.217 に答える
0

実際に遅い部分を見つけるためにコードをプロファイリングする (正しい) 答えに加えて、ユースケースでより高速になる可能性のある別の Ruby 実装を調べることもできます。

見る:

標準の 1.9 インタープリターよりも高速であると報告されている 2 つの代替手段について。

于 2012-05-08T15:53:05.810 に答える