多くの初期のスタートアップはパフォーマンスに興味がありません。製品作りも忙しいのに性能がどういう意味があるかと思います。すぐにサービスにユーザーが集まるとAmazonのオートスケールが解決してくれるからです。そうです。 急速に価値を証明するスタートアップであれば、サービスの初期からパフォーマンスに関心を持つ必要はありません。
しかし、月にAmazonサービスの費用が千万ウォンを超え始めると、そろそろ私たちのサービスが合理的にインフラを使っているのか悩みますインフラ費用の根拠も作りたくなります。 システムのパフォーマンス指標を確認したい場合は、今このTPS指標を見てください。
TPSの計算
Transaction Per Second(TPS)は、1秒あたりのトランザクション数です。実際の計算方法は、一定期間実行されたトランザクションの数を取得し、再び1秒間隔の値に変更します。WhaTapの場合、5秒間隔で値を収集するため、単位時間に集計されたトランザクションの数を5で割った値が表示されます。
上の図に2番目の列を表示すると、5つのトランザクションが実行完了したことがわかります。この場合、TPSを求める方法は5 transaction / 5 secなので、結果値は1 TPSになります。(WhaTapのTPSインジケータはより複雑に計算されます。WhaTapはチャートの傾向を示すために5秒間隔で30秒の平均TPSを示しています。)
Saturation PointとTPSが低い理由
サービスにユーザーが増え続けると、ある時点からTPSがもはや増加しない状況が発生します。このように増加しない点をSaturation Pointと呼びます。上の図は、サービスが理想的な状況です。 正しくチューニングされていないサービスは、Saturation Pointを過ぎるとむしろTPSが落ちることもあります。上で見ると、サービスユーザーは300人を超えるとTPSが固定され、比較的トランザクションの応答時間が長くなると予想できます。
もう少しストーリーを作ってみるとこういう話ができます。上の図を見ると、同時接続ユーザーが300人を超えるとTPSはもはや上がらなくなり、サービスの滞留時間は増加し始めます。300人の要求に対するTPSが50の場合、その要求をすべて処理するのに6秒かかると考えることができます。このようにTPSと同時接続者をあらかじめ選定しておくことでサービスの性能を想像してみることができます。
TPSの要約
- TPS は、1 秒あたりのトランザクションの数を指します。
- TPSはサービス性能の基準となります。
- 通常のTPS指標をチェックしてください。TPSを介してどの曜日に、または何時に最大値になるかを確認してください。
- TPSがもはや増加していないポイントをSaturation Pointと呼びます。
- Saturation Pointを超えてユーザーが集まると、TPSが固定された状態で応答時間が長くなります。
合理的にシステムのパフォーマンスを確認したい場合は?