PERF 8: トレードオフをどのように使用するとパフォーマンスが向上するのですか?
アーキテクチャの設計にあたって、最適なアプローチとなるトレードオフを特定します。多くの場合、整合性、耐久性、および時間とレイテンシーの余裕と引き換えに、パフォーマンスを向上させることができます。
リソース
Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache
ベストプラクティス:
-
パフォーマンスが最も重要な分野を理解する: ワークロードのパフォーマンスの向上が効率性やカスタマーエクスペリエンスにプラスの影響を与える分野を理解し、特定します。たとえば、カスタマーインタラクションが多いウェブサイトは、エッジサービスを使用してコンテンツ配信を顧客の近辺に移動させることでメリットを得ることができます。
-
デザインパターンとサービスについて理解する: ワークロードのパフォーマンスの向上に役立つさまざまなデザインパターンとサービスについて調査し、理解します。分析の一環として、より優れたパフォーマンスを達成するために何を引き替えにすることができるかを特定します。たとえば、キャッシュサービスの使用はデータベースシステムにかけられた負荷を低減できますが、安全なキャッシングを実装するためのエンジニアリングが必要となる、または一部の領域で結果整合性が生じる可能性があります。
-
トレードオフが顧客と効率性にどのように影響するかを明らかにする: パフォーマンス関連の向上を評価する場合、どの選択肢が顧客とワークロードの効率性に影響するかを特定します。たとえば、key-value データストアの使用がシステムパフォーマンスを向上させる場合、その結果整合性の特質がお客様に与える影響を評価することが大切です。
-
パフォーマンス向上の影響を測定する: パフォーマンスを向上させるための変更を行うと同時に、収集されたメトリクスとデータを評価します。この情報を使用して、そのパフォーマンス向上がワークロード、ワークロードのコンポーネント、および顧客に与えた影響を判断します。この測定は、トレードオフに由来するパフォーマンス向上を理解する、および副次的な悪影響が生じたかどうかを判断するために役立ちます。
-
さまざまなパフォーマンス関連戦略を使用する: 適用可能な場合は、複数の戦略を活用してパフォーマンスを高めてください。たとえば、過剰なネットワークコールやデータベースコールを防止するためにデータキャッシングなどの戦略を使用する、データベースエンジンの読み込みレートを向上させるためにリードレプリカを使用する、データボリュームを削減するためにデータのシャーディングまたは圧縮を可能な限り使用する、ブロッキングを回避するために利用可能になった結果をバッファし、ストリーミングするなどの戦略を使用します。
改善計画
パフォーマンスが最も重要な分野を理解する
デザインパターンとサービスについて理解する
Amazon Builders’ Library
トレードオフが顧客と効率性にどのように影響するかを明らかにする
パフォーマンス向上の影響を測定する
さまざまなパフォーマンス関連戦略を使用する