2

データベースのパフォーマンスについて何かを言うための簡単なクエリを探しています

クライアントのネットワーク/サーバー/ソフトウェアのパフォーマンスを調べるためのツールを作成して、サーバーまたはクライアントのいずれかが実際に機能不足であるか、ソフトウェアのパフォーマンスが低下していることを示すベースラインを作成しました。

なぜこれをしているのですか?

私たちのクライアントの1つで、私たちのソフトウェアのパフォーマンスが非常に遅く、彼らは私たちを非難しました。考えられるソフトウェアの欠陥を探し回ったところ、問題は実際にはネットワーク速度にあることがわかりましたが、それはひどく遅いだけでした。(ネットワークトラフィックは100マイル離れたVPN経由でルーティングされました)

私が必要なものは何

MicrosoftSQLサーバーデータベースのベースラインパフォーマンスを設定するための「単純な」クエリを探しています。

できれば、データベースが本当に遅い/速いのか、それとも問題なく動作しているのかを示すクエリが望ましいです。

私は単純に次のことを行う単純なクエリを作成しました。

select top 50000 * from BigTable 
where YEAR(startdate) = 2011 or YEAR(startdate) = 2010 
order by table.startdate desc

ここでのBigTableは、実際には、ソフトウェアが複雑な更新計算を行うために多くのクエリを実行するものです。

このクエリを(100回)呼び出してクライアントからタイミングを合わせると、サーバーのパフォーマンスを適切に推測できます。しかし、単純な選択以外のサーバーパフォーマンスについて実際に何かを言っているいくつかの複雑な結合を使用して、より計算指向のクエリを実行したいと思います。

4

1 に答える 1

6

同じクエリを使用することをお勧めしますが、クエリの前に次のように設定します。

Set Statistics IO ON    
go
Set Statistics Profile ON
go
Set Statistics Time ON
go

SQL Profilerを実行して、セッションごとにCPU、READS、WRITES、DURATIONを提供するセッションをトレースすることもできます。これにより、ワークステーションでセッションが実行されている間、サーバーレベルの情報が制限されます。

于 2012-04-10T17:20:02.293 に答える