タグ付けされた質問 「performance-testing」

4
パフォーマンス比較を実行する前にキャッシュをクリアするSQL Serverコマンド
2つの異なるクエリの実行時間を比較する場合、最初のクエリの実行によって2番目のクエリのパフォーマンスが変わらないことを確認するためにキャッシュをクリアすることが重要です。 Google検索では、次のコマンドを見つけることができました。 DBCC FREESYSTEMCACHE DBCC FREESESSIONCACHE DBCC FREEPROCCACHE 実際、私のクエリは、数回実行した後、以前よりも現実的な時間で完了しています。ただし、これが推奨される手法であるかどうかはわかりません。 ベストプラクティスは何ですか?

5
PostgreSQLでの積極的な自動バキューム
私はPostgreSQLに積極的にデータベースを自動バキュームさせようとしています。現在、自動バキュームを次のように構成しています。 autovacuum_vacuum_cost_delay = 0#コストベースのバキュームをオフにする autovacuum_vacuum_cost_limit = 10000#最大値 autovacuum_vacuum_threshold = 50#デフォルト値 autovacuum_vacuum_scale_factor = 0.2#デフォルト値 自動バキュームは、データベースに負荷がかかっていないときにのみ作動することに気付きました。そのため、ライブタプルよりもはるかに多くのデッドタプルが存在する状況に陥ります。例については、添付のスクリーンショットを参照してください。テーブルの1つには23個のライブタプルがありますが、16845個のデッドタプルがバキュームを待っています。それは非常識です! テスト実行が終了し、データベースサーバーがアイドル状態になると、自動バキュームが開始されます。これは、データベースが既に稼働しているため、デッドタプルの数が20%のライブタプル+ 50を超えるたびに自動バキュームを開始したいので、これは望ましくありません設定済み。サーバーがアイドル状態のときの自動バキュームは、私にとって役に立たない。なぜなら、実稼働サーバーは、サーバーが負荷がかかっている場合でも実行するために自動バキュームが必要な理由で、持続時間にわたって1000更新/秒に達することが予想されるためである。 不足しているものはありますか?サーバーの負荷が高いときに自動バキュームを実行するにはどうすればよいですか? 更新 これはロックの問題でしょうか?問題の表は、挿入後トリガーを介して移入されるサマリー表です。これらのテーブルはSHARE ROW EXCLUSIVEモードでロックされ、同じ行への同時書き込みを防ぎます。

2
MySQLのベイクオフを適切に実行するにはどうすればよいですか?
Perconaサーバー、MariaDB、および場合によっては他のいくつかのフォークに対して、MySQLサーバーrpmのパフォーマンステスト(別名、ベイクオフ)を行います。この質問をすることで、適切なパフォーマンステストのセットアップの背後にある方法論をよりよく理解できることを望んでいます。私は実際のテストを実行するためにsysbenchを使用する予定でしたが、何に対してもオープンです。 テストの結果を1対1で比較し、RDBMSのみがバリアントであることを確認するには、どのような手順を実行する必要がありますか? どこから始めますか? 結果を評価するにはどうすればよいですか? どのようなアドバイスをいただけますか?

8
テストデータの大規模なデータセットを生成するツール[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 効率的なデータベース設計を考えようとするとき、2つのサンプルデータベースを構築し、それらにデータを入力し、それらに対していくつかのクエリを実行して、どちらのパフォーマンスが優れているかを確認することが最善の方法です。 (理想的にはデータベースに直接)大規模(〜10,000レコード)のテストデータセットを比較的迅速に生成するツールはありますか?少なくともMySQLで動作するものを探しています。

3
ナチュラルキーは、代理整数キーよりもSQL Serverで高いまたは低いパフォーマンスを提供しますか?
私はサロゲートキーのファンです。私の発見が確認バイアスのリスクがある。 こことhttp://stackoverflow.comの両方で見た多くの質問では、IDENTITY()値に基づく代理キーの代わりに自然キーを使用しています。 コンピューターシステムの私のバックグラウンドは、整数の比較演算を実行すると、文字列を比較するよりも高速になることを教えてくれます。 このコメントは私の信念に疑問を投げかけたので、整数はSQL Serverのキーとして使用する文字列よりも高速であるという仮説を調査するシステムを作成すると思いました。 小さなデータセットでは識別可能な差はほとんどないため、プライマリテーブルに1,000,000行、セカンダリテーブルにプライマリテーブルの各行に10行、合計で10,000,000行の2つのテーブル設定を考えました。二次テーブル。私のテストの前提は、このような2つのテーブルセットを作成することです。1つは自然キーを使用し、もう1つは整数キーを使用し、次のような簡単なクエリでタイミングテストを実行します。 SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Key = Table2.Key; 以下は、テストベッドとして作成したコードです。 USE Master; IF (SELECT COUNT(database_id) FROM sys.databases d WHERE d.name = 'NaturalKeyTest') = 1 BEGIN ALTER DATABASE NaturalKeyTest SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE NaturalKeyTest; END GO CREATE DATABASE NaturalKeyTest ON …

5
クエリチューニングはプロアクティブかリアクティブか
ソフトウェア開発者および意欲的なDBAとして、SQL Serverデータベースを設計するときにベストプラクティスを取り入れようとしています(ソフトウェアがSQL Serverの上に置かれる時間の99%)。開発前および開発中に可能な限り最高の設計を行います。 ただし、他のソフトウェア開発者と同様に、機能、バグ、および変更/作成されたデータベースオブジェクトを必要とする要件の変更が追加されています。 私の質問は、クエリのチューニングはプロアクティブかリアクティブですか?言い換えれば、コード/データベースの大幅な変更の数週間後、クエリのパフォーマンスをチェックし、それに基づいてチューニングするために1日だけを確保する必要がありますか?それが実行されているように見える場合であっても大丈夫? または、平均以下のパフォーマンスはデータベースチェックであり、ことわざにある黒板に戻るべきであることに注意する必要がありますか? クエリのチューニングには多くの時間がかかる可能性があり、データベースの初期設計によっては、メリットが最小限になる場合があります。私は受け入れられている手口について興味があります。

2
Google BigTables(およびその他の統合DB)でのパフォーマンステストの取得と配置
特にデータベース自体が専用ツールを提供していない環境で、データベース操作のプログラムによるパフォーマンステストを実行するための効果的な方法は何ですか? たとえば、Google App Engineでは、ページ読み込み全体が特定のデータベース操作を含む1つの操作として評価されます。この問題は、SQLiteやその他の統合DBにも存在する可能性があります。テストが必要な選択および挿入(と同等)を完全に抽象化することは困難なので、これらの種類のクエリでより徹底的な診断を実行するための推奨データベースツールはありますか?

3
ストアドプロシージャのスケーラビリティのテスト
各ページの読み込みで特定のユーザーの新しいメッセージの数をUIに配信するために呼び出される電子メールアプリケーションがあります。DBレベルでテストしているものにはいくつかのバリエーションがありますが、すべてストアドプロシージャコールによって抽象化されています。 私は、ブレークポイント(1秒あたりのリクエスト数)がどうなるかを確認するために、DBを強打しようとしています。 一言で言えば、このuserId、newMsgCountなどのテーブルとuserIdのクラスター化インデックスがあります。SQLは、1秒あたり数百または数千のこれらの応答を処理できる必要があります。遅れは私の.NETアプリだと思います。 SQLパフォーマンスに基づいてテスト結果を達成するために、これをどのように良いテストにすることができますか? これには、ストアドプロシージャ名とパラメーターを指定してDBをパンドするツールがありますか? DBが1分を返すことができるかどうかを見たいです。1秒あたり250応答。

4
SQL Serverのテストデータを生成するためのツールは何ですか?
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私の別の質問からわかるように、テストデータを生成することが今の私のテーマです。 この時点で、私はまだ手動でテストデータを生成しています。ただし、このプロセスは手動プロセスであるため、常に少量のデータ(通常5〜10行)を生成します。 このプロセスを自動化するツールはありますか?特に、1mil以上の行を生成できるようにしたいと思います。

1
SQL Serverの使用をリセットする
私の開発環境では、クエリをいじっています。そのために、SQL Serverのメモリ、プランなどをリセットする必要があります。これにより、クエリがすべての値がリセットされたサーバー上の唯一のストレス/作業プロセスであることを確認できます。 私がしていることのいくつか 発砲チェックポイント DBCC DROPCLEANBUFFERS; DBCC FREEPROCCACHE; DBCC FLUSHPROCINDB DBCC FREESESSIONCACHE DBCC SQLPERF( "sys.dm_os_wait_stats"、CLEAR); 私はそれを正しくやっていますか?または、新鮮な統計をクリアまたは表示するには、さらに多くのものが必要ですか?

1
SQL Serverベースラインテストの手順の決定的なリスト?
SQL Serverを使用するアプリのパフォーマンステスト/ベースラインを実行する前に、インスタンスを再起動せずにインスタンスを「クリーン」な状態に設定できるようにしたいと考えています。私は従う傾向があるステップがありますが、正しい順序であり、冗長なステップがない決定的なリストを作成したいと思います。 この手順の一覧では、SQL Serverを「クリーン」な状態に設定できますか? シーケンスは論理的/正しいですか? 余分な手順はありますか? CHECKPOINT -- Write all dirty pages DBCC DROPCLEANBUFFERS -- All should be clean after checkpoint? DBCC FREEPROCCACHE -- Clear the plan cache DBCC FREESYSTEMCACHE -- Is this necessary after FREEPROCCACHE? DBCC FREESESSIONCACHE -- May not be necessary if distributed queries aren't used, but want …

3
SQLサーバーのストレステストを行う方法 [閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 3年前休業。 私は、MSSQLサーバーとMySQLサーバーのストレステストを担当しています。現在のシステムと新しいシステムでパフォーマンスを比較するために使用できるツールやスクリプトがあるかどうか知りたいのですが。 ディスクとプロセッサの読み取り/書き込みパフォーマンスを測定したいと思います。役に立つかもしれない何か他のものも素晴らしいでしょう。 ありがとう!

1
最新のサーバーでのパフォーマンスの低下
実稼働環境にはいくつかのdbサーバーがあり、そのうち4つはハードウェア構成が非常に似ています。Dell PowerEdge R620、唯一の違いは、最新の2つ(3か月前に購入および構成されたもの)にRAIDコントローラーv710、256GB RAM、およびCPUが2つの物理Xeon E5-2680 2.80GHzであることです。古いもの(約1年前に購入および構成されたもの)には、RAIDコントローラーv700、128GB RAMがあり、2つの物理Xeon E5-2690 2.90GHzで実行されています。BIOSの更新、すべてのドライバーの最新バージョンへの更新など。実行中のすべてのSQL Server 2008R2 Enterprise(SP1)が最新のCUおよびWindows 2012R2 Standardに更新されました。どちらも200 GB SSD x5 RAID10で動作します。それぞれで実行されているデータベースは1つだけで、SSISパッケージを呼び出すジョブを使用して同期されます。私たちのシステム管理者は、ハードウェアやネットワークの設定ミスや失敗がないことを確認するために、多くのパフォーマンスとストレステストを実行しました。予想通り、最新のものはより良いパフォーマンス結果を示しています。ここまでは順調ですね。 私たちが抱えている問題は、Kibanaの画面キャプチャーで確認できます。黄色とオレンジは2つの新しいサーバー(テーブルでは6、7)で、他のすべてのサーバーの下にあります。これらの2つの新しいサーバーの応答時間が遅いことが完全にわかります。それだけでなく、これらの2つのサーバーの負荷も、2つの古いサーバーよりもわずかに少なくなっています(表の淡い青色と濃い青色の線-4,5)。 パフォーマンスカウンターに関する情報を収集するいくつかの監視スクリプトを用意します。DMVと3番目の監視ツールで可能な限り掘り下げたので、私は多くの情報を手元に持っています。しかし、この遅い応答時間に対する答えを見つけることができないため、ここで見逃していることがあるはずです。 最新の2台のサーバーはRAMの使用量が少ないですが、他の古いサーバーと比較すると、負荷が低いため、それは予想通りです。 | Server Name| Mem_MB | Mem_GB | Server_RAM_GB | SQL_max_mem_GB| SQL_min_mem_GB | |------------|--------|--------------|---------------|---------------|----------------| | 4 | 41108 | 40.145263671 | 128 | 120 | 16 | | 5 | …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.