
[メソトロジ]パフォーマンスマントラとは?
「パフォーマンスマントラ」とは、Netflixのクレイグ・ハンソンとパット・クレインによって提唱された、システムパフォーマンスの最適化に関する一連の原則です。これらの原則は、システムの効率を向上させるための指針として設計されています。以下は、各原則に対する具体的な例です:
するな(Do Not Do):不要な作業やプロセスを排除する。例えば、システムが不要なデータ処理や計算を行っている場合、これらを削除することでシステムの負荷を軽減します。
してもいいが二度とするな(Do It Once):データや計算結果をキャッシュすることで、同じ操作を繰り返さないようにします。例えば、計算結果をメモリにキャッシュして、次回同じリクエストが来たときに再計算を防ぎます。
減らせ(Do Less):リフレッシュレート、ポーリング間隔、データ更新頻度を下げることで、システムの負荷を減らします。例えば、リアルタイムでなくても良いデータの更新間隔を長くすることが挙げられます。
先に伸ばせ(Do It Later):ライトバックキャッシュを利用して、データの書き込みを後回しにする。これにより、システムは他のタスクに集中でき、効率が向上します。
見られていないときにせよ(Do It When Not Seen):ユーザーの操作に影響を与えない時間帯に、リソースを消費するタスクを実行します。例えば、バックグラウンドでのデータベースの最適化やメンテナンス作業などです。
同時並行でせよ(Do It Concurrently):シングルスレッドからマルチスレッドへの移行を行い、タスクを並行して実行することで、全体の処理速度を向上させます。
安上がりにせよ(Do It Cheaper):より高性能なハードウェアへの投資を行うことで、全体のシステムパフォーマンスを向上させます。ただし、コスト対効果を考慮し、必要最小限の投資で最大の効果を得ることが重要です。
これらの原則は、システムやソフトウェアのパフォーマンスを最適化するための効果的なガイドラインを提供し、効率的なシステム設計と運用に寄与します。
いいなと思ったら応援しよう!
