アプリケーションの開発とそのパフォーマンスの最適化は連携して行う必要がありますが、ほとんどの場合、期限を達成してプロジェクト内の機能を完成させるため、最適化の範囲が減り、最適化は最後まで維持されます (これは良い習慣ではありません)。経験不足や標準以下のコーディングなどの要因もパフォーマンスの低下につながります。
パフォーマンスを向上させてアプリケーションをコード化する方法はたくさんありますが、これは広大なトピックであり、開発するアプリケーションに応じて主観的なものであり、パフォーマンスを変更して改善するために実行できる小さな変更について説明します。
開発中にアプリのパフォーマンスを向上させるために集中すべき主な領域は次のとおりです。
-
データベースの最適化とクエリの最適化
-
JavaScript、CSSの最適化
データベースの最適化に集中しましょう。簡単なヒントをいくつか紹介します (繰り返しますが、これらは適用する必要があると思われる基本的な調整であり、アプリケーションと開発者の主観的です)
-
データベース内の必要なテーブルの適切なインデックス付けを維持します (インデックス付けをやりすぎないでください。パフォーマンスの低下につながる可能性もあります。これはケースバイケースで決定できます)
-
モデル間の適切な関係と関連付けを維持することも、アプリのパフォーマンスに影響を与える主要な要素であり、関連付けを適切に利用するとパフォーマンスが向上します。
-
必要なときに必要なものだけを取得し、データベースから取得したデータを可能な限り再利用します。
-
取得するデータを制限し、大量のデータの場合はバッチでデータを取得することでクエリを最適化します。
-
データベース キャッシュを使用すると、応答時間とクエリ数を削減できます。実装することで達成できる memcached そして ダリ 宝石。
-
クエリをループ内に記述しないでください。これが最大の理由です しないでください コーディング中。すでに完了している場合は、コードのその部分を書き換えて、ループ状況でのクエリの呼び出しを回避する方法を見つけてください。
これらは、Rails アプリケーションを最適化するために検討できるいくつかのポイントです。また、アプリケーションでの N+1 クエリを削減するのに非常に役立つ Bullet gem を開発中にお勧めします。
プロジェクトは GitHub で入手できます。 http://github.com/flyerhzm/bullet
他にこれに追加すべき点がある場合は、お気軽にコメントしてください。次の一連の記事を書くときにそれらを取り上げます。
続きを読む :
Rails でのモジュールの作成と使用の基本
アクティブなレコードとのポリモーフィックな関連付け
複数のデータベース接続を使用したアプリケーションのスケーリング
Rails API の概要
ご連絡ください。スリーディープ・クマール
Ruby on Rails シニア開発者