コンテンツ ドリブンのウェブアプリのバックエンド パフォーマンスを最適化する
bookmark_borderbookmark
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
スケーリングの種類にかかわらず、アプリケーションのアーキテクチャと可能な最適化について検討してください。たとえば、静的コンテンツは最適化されたコンテンツ配信ネットワークから配信し、価格とパフォーマンスのメリットを提供します。データ ストレージ バックエンド用のキャッシュを追加すると、パフォーマンスが向上し、高価なスケーリングの要件が最小限に抑えられる可能性があります。
ベンチマークとパフォーマンス テストにより、開発中のパフォーマンスの潜在的なボトルネックを特定し、経時的な傾向を追跡し、アーキテクチャ、技術スタック、クラウド プロバイダなどのオプションを比較して意思決定を行うことができます。
負荷テストでは、制御された事前定義の負荷、トラフィック、またはデータを使用して、ターゲットに対するバックエンドのパフォーマンスを測定します。さまざまな負荷レベルがアプリケーションのパフォーマンスにどのように影響するかを確認できます。
スケーラビリティのテストでは、アプリケーションのスケールアップとスケールアウト能力の分析に重点を置いています。スケーラビリティテストでは、負荷の増加にアプリケーションがどのように反応するか、バックエンド(データ ストレージを含む)がどのように適応するかを示します。
アプリケーションのベンチマークを開始する前に、パフォーマンスと速度(レイテンシ、スループット、速度など)、リソース使用率(CPU 使用率、メモリ使用量、バックエンド コンポーネント間のネットワーク トラフィック)、費用などの明確な目標を定義します。スケーリングの遅延を考慮してください。たとえば、トラフィックのバーストや急増が発生したときに、割り当てられた「予約」リソースのセットを超えてアプリケーションをスケーリングする必要がある場合などです。
ベンチマークとパフォーマンス テストには、Apache JMeter や Locust などの多くのツールが用意されています。テストツールを選択する際は、スクリプトの作成、デバッグ用の IDE 統合、追加のプラグイン、テストするトラフィックの種類やスケールのサポートなど、利用可能なテストの種類を考慮してください。
クラウド プロバイダを使用している場合は、潜在的な制限を回避するために、負荷テストに追加の要件やベスト プラクティスがあるかどうかを判断します。たとえば、Cloud Run のベスト プラクティスを検討してください。
パフォーマンスを向上させるにはスケールアップが不可欠ですが、スケールダウンもコストを最小限に抑えるための考慮事項です。リクエストがない場合のバックエンド アプリケーションのベースライン コストと、アプリケーションのスケールアップに伴うコストを考慮します。
オンプレミスまたはサーバーベースのアーキテクチャでは、使用率に関係なく、固定費が発生する可能性があります。一部のクラウド環境では、リクエストが発生しない場合のコストを回避するために「ゼロへのスケーリング」が可能です。クラウド プロバイダが提供する計算ツールでは、リソースの事前コミットメントなど、さまざまな構成や料金戦略を検討できます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-07-10 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-07-10 UTC。"],[[["Optimize application architecture and utilize content delivery networks for static content to enhance performance and minimize scaling needs."],["Benchmarking and performance testing, including load and scalability testing, are crucial for identifying bottlenecks, tracking performance trends, and making informed decisions about scaling approaches."],["Establish clear performance targets, encompassing speed, resource utilization, and cost, and account for potential scaling delays when planning your infrastructure."],["Manage costs by scaling down resources when they are not needed, leveraging cloud provider tools to explore pricing strategies and potentially scaling to zero to minimize expenses during periods of inactivity."]]],["Application architecture should be optimized for scaling, such as using content delivery networks for static content and caching for data storage. Benchmarking and performance testing, including load and scalability tests, are crucial for identifying bottlenecks. Define targets for performance, resource utilization, and cost. Choose testing tools like Apache JMeter or Locust, considering test types and provider requirements. Balance scaling up for performance with scaling down to minimize costs, exploring cloud options like \"scale to zero.\"\n"]]