私たちは毎日数千人のユーザーにサービスを提供するアプリケーションに取り組んでいます(それらの90%は勤務時間中にアクティブになり、勤務時間中は常にシステムを使用します)。このシステムの主な目的は、複数のデータベースにクエリを実行し、データベースからの情報を組み合わせて、ユーザーへの単一の応答にすることです。ユーザー入力にもよりますが、ユーザー数が1000人のシステムでは、クエリの負荷は1秒あたり約500クエリになる可能性があります。これらのクエリの80%は読み取りクエリです。
ここで、SQL Server Profilerツールを使用してプロファイリングを実行し、読み取りクエリに対して平均で最大300の論理読み取りを取得しました(書き込みクエリについてはまだ気にしませんでした)。これは、1,000人のユーザーの場合、1秒あたり15万回の論理読み取りに相当します。完全な本番システムには、最大10,000人のユーザーがいると予想されます。
これらのデータベースのストレージの実際の読み取り要件を見積もるにはどうすればよいですか?実際の物理的な読み取りはそれよりはるかに少ないと確信していますが、どうすればそれを見積もることができますか?もちろん、実稼働環境はまだ存在しないため、実稼働環境で実際に実行することはできません。ハードウェアの担当者に、システムに必要なIOPSを伝えて、何をすべきかを知らせる必要があります。買う。
以前の回答で提案されたHPサイジングツールを試しましたが、実際のパフォーマンスの見積もりではなく、HP製品のみを提案しています。任意の洞察をいただければ幸いです。
編集:メインの読み取り専用データセット(ほとんどのクエリが送信される場所)は、ディスク上の2桁(桁違いに4ギガ)です。これはおそらく、論理読み取りと物理読み取りに大きく影響します。この比率を取得する方法についての洞察はありますか?