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

システムが目的に適合するほど十分に機能するかどうかの評価。通常、パフォーマンスとは、システムが1つの操作または一連の操作を時間の経過とともに完了する速度を指します。

3
トレースフラグとオフにする必要がある理由と理由
SQLサーバーには非常に多くのトレースフラグがあります。それらのいくつかをオフにする必要がある理由。トレースフラグ8017をオフにする必要があることを確認した場所もあります。それで、どのトレースフラグをオフにする必要があるのか​​、なぜ知りたいのですか?

2
SQLリストアを高速化するためにサーバーに何を追加できますか?
現在、復元に約9時間かかる2.8 TBのSQLデータベース(主にデータファイル、約400 GBのログファイル)を持っています。このデータベースはテスト目的で使用され、常に同じポイントから開始するように、実行のたびに削除してバックアップから復元する必要があります。 私の質問は、サーバーには現在12コアと92 GBのRAMがあり、データベースが存在するRAID 5ディスクサブシステムが搭載されていることです。通常、SQL復元プロセスのボトルネックとなる領域は何ですか?それはディスク、メモリ、またはCPUですか?

1
sp_configureのブロックされたプロセスしきい値の変更によるパフォーマンスへの影響
私は運用サーバーで発生しているすべてのブロッキングを識別することを任されています。これを達成するための私の計画は使用することです EXECUTE sp_configure 'blocked process threshold', 5 サーバー側のトレースと組み合わせて、ブロックされたプロセスレポートを収集します。 このアクティビティがパフォーマンスに影響を与えることを理解しています。これが何であるかを数値化する方法を見つけたいと思います。

1
MySQLの起動/停止
次のコマンドラインを実行するとどうなるかを理解するための助けを求めています。 root@prodn$ service mysqld stop はい、それはMySQLサーバーをシャットダウンするので、サービスが再開されるまで、そのサーバーへのアクセスは利用できなくなります。しかし、より具体的には、サービスが停止したときに何か他に起こることはありますか?ここで私の初心者を許しますが、mysqldが再起動すると、ログがフラッシュされた、一部のメモリが解放された、キャッシュが空になったなどのことを意味しますか? 私が尋ねる理由は次のとおりです: 私たちのデータウェアハウスDBはMySQL DBであり、過去4か月で、平均8.5時間かかりました。 先週の水曜日に、mysqlサービスを停止し、30分後に再起動しました。それ以来、全体的なパフォーマンスの大幅な改善に気づき始めました。SELECT/ INSERT / UPDATE / DELETEプロセスの方が効率的でした。DWは同じ数のデータ行でほぼ4時間早く終了しました ただし、1日が経過するごとに、終了時間に15〜20分が追加されます。だから、私は毎週サービスを再開する必要があるのではないかと思います。 この動作の説明はありますか?関連する他の質問はわかりませんが、mysqldサービスの再起動時に何が起こるかを知ることはすばらしいでしょう。 誰かこれに光を当てることができますか?

1
SQL Server 2008 R2の高バッファI / Oの原因
ドキュメント管理サーバー用のSQLサーバーのパフォーマンスをトラブルシューティングしようとしていますが、今日のパフォーマンスはかつてないほど低くなっています。 最近セットアップした管理データウェアハウス(MDW)を見ると、バッファI / Oに大きなスパイクが見られます。組み合わされたSQL待機時間は、1500〜2000ミリ秒の範囲にあり、通常よりもかなり高くなっています(約500ミリ秒)。この増加の大部分はバッファI / Oです。 DBAではなく、必要以上にこれを行うので、私は深く自分の深みから外れています。 バッファI / Oが大幅に増加した理由を確認する方法はありますか?これは、クエリが大量のデータを取得したためか、SQL Serverのメモリ制限の構成が正しくないためと考えられますか?トラブルシューティングに役立つように照会する必要がある特定の(またはその問題に関して一般的な)またはDMVはありますか? サーバーはSQL Server 2008 R2です。これは、2つのvCPUと8GB RAMを実行するVMであり、ディスクはSAN上の別のアレイでホストされます。 上記のグラフはすべて、SQL Server Management Data Warehouseを使用して生成されました。

4
SQL Server-SAN上のデータ、ログ、およびTempDBファイルの分離
SQL ServerをSANに接続しています。新しいストレージベンダーは、すべてのLUNがディスクアレイ全体(RAID5)にまたがることを推奨しています。通常、SAN管理者に3つの個別のLUN(データ、ログ、TempDB)を要求しますが、新しいベンダーの推奨を考えると、個別のLUNを作成する意味はありますか?それともすべてのディスクにまたがるので、すべてが1つのLUNにある場合、同じパフォーマンスが得られますか? ここでは素晴らしい記事ですが、私の正確な状況には完全には対応していません:http : //www.brentozar.com/archive/2008/08/sql-server-on-a-san-dedicated-or-shared-drives/

2
インデックスの断片化とSSDディスク
パフォーマンスの問題は初めてですが、SSDディスクがインデックスの断片化によって引き起こされるパフォーマンスの問題を解決するという議論がありました。誰かこれを経験しましたか?ハードウェアの変更を考えており、それが役立つか迷っています

2
SQL Serverは、再起動するまで時間が経過すると遅くなります
OLAP / OLTPのワークロードが混在するデータベースがあります。クエリは非常にアドホックであり、中間層アプリケーションサーバーで動的に作成されます。サーバーを起動すると、パフォーマンスは許容範囲内ですが、使用可能なすべてのメモリ(30GB)がなくなるまで、メモリ消費量はどんどん増えます。その後、システムはますます遅くなります。 のようなコマンドDbcc freeproccacheは効果がありません。 トランザクションは多くありませんselect * from sys.dm_tran_session_transactions(システムが正常な場合を超えない)。このリストが空の場合もあります。 の最初の結果dbcc memorystatusは VM Reserved 42136628 VM Committed 1487176 Locked Pages Allocated 24994048 Reserved Memory 1024 Reserved Memory In Use 0 SQL Serverを再起動すると、しばらくの間問題が解決します。 この動作の原因は何ですか?どうすればそれを回避できますか? 原因の実際の解決策が難しすぎる場合、DBMSを完全に再起動せずにSQL Serverにすべてのメモリを実際に解放させるコマンドはありますか? サーバーは専用のハードウェア(VMではなく)で実行されています。スケジュールされたジョブがいくつかありましたが、変更なしでしばらく無効にしました。同じサーバー上で実行されている他の中間層アプリケーションがありますが、それらは2GB以下のメモリ、ごくわずかなCPU、ほとんどI / Oを使用しません。そのようなアプリケーションはすべて変更せずに再起動しました。

3
未使用のデータベースをオフラインにすることによるパフォーマンス上の利点
私はいくつかの履歴を見る必要があるまで現在オフになっているVMで実行されるレガシーアプリケーション用のデータベースをいくつか持っています。これらのアプリケーションで使用される各データベースをオフラインに設定しましたが、知りたいと思います。 これらの未使用のデータベースを、オンラインに接続する代わりにオフライン状態にして、データベースに接続したりクエリを実行したりせずに未使用にすると、パフォーマンス上のメリットはありますか?

3
Mysqlはスワップの使用を開始するまでメモリをゆっくりと使用します
1 GBのRAMラックスペースデータベースサーバーを実行しています。なんらかの理由で約2日で、メモリ使用量は非常に少ないスワップの使用から100MBの使用に移行します。SQLを再起動しないと、より多くのスワップが使用され続けます。(私のmy.cnfファイルを以下に示し、メモリ使用量を以下に示します) 背景:テーブルにINNODBを使用する同じスキーマを持つアクティブデータベースが約50あります。MyISAMを使用するトラフィックの少ないデータベースがいくつかあります。 INNODBテーブルでは、永続的な接続を使用しません。一時テーブルを作成するレポート機能もあります。(これはリソースを集中的に使用する可能性がありますが、頻繁には発生しません) CENTOS 6.3とmysql 5.5.28-logを使用しています 私はスワップを使用していますが、パフォーマンスはかなり良好です。数日おきに再起動しないと問題が発生するのではないかと心配です。 約2日間の無料の-mのログは次のとおりです(最初のレコードはmysqlの再起動直後です)。 12/26 2:08 PM EST total used free shared buffers cached Mem: 992 697 295 0 74 362 -/+ buffers/cache: 260 732 Swap: 976 15 961 12/26 4:10 PM EST [root@php-pos-db ~]# free -m total used free shared buffers cached Mem: 992 …

1
すべてのステートメントをログに記録するようにPostgreSQLを設定することによるパフォーマンスへの影響
Windows 7 64ビット上のPostgreSQL 9.2.2。 ファイルの設定log_statementでは、postgresql.confログに記録するステートメントを指定します(なし、DDL、データ変更、またはすべて)。設定はどの程度log_statement = 'all'パフォーマンスを低下させますか?これによりパフォーマンスが大幅に低下することを読みましたが、これらの主張は古い記事に由来するものlog_statement = 'none'です。

3
中央データベースに関数を作成するか、各データベースで繰り返しますか?
私の開発者の1人が、VB.Net関数(LastIndexOf)のように機能し、それを公開したいSQL関数を作成しました。私の質問は、これを中央データベースに配置するのではなく、各ユーザーデータベースに配置する理由は何ですか? 開発者はそれを自分のマスターデータベースのsysスキーマに配置しようとしていたため、ユーザーデータベースからの呼び出しを修飾する必要はありませんでした...ため息 しかし、私はそれを(明らかにマスターデータベースではなく)各ユーザーデータベースに対して集中化するための有効な言い訳が何であるかがわかりませんでしたか?

1
再帰的なCTEパフォーマンス
再帰的なCTEパフォーマンスのヘルプが必要です。CTE以下では、階層データを再帰的にプルしようとしているため、実行速度が非常に遅くなっています。テーブルは大きく、すべてのルートIDに最大3つの再帰的なアイテムIDがあります。約200000以上のルートIDが存在する可能性があります。アンカーのすべてのrootidは再帰的にitemidになるため、再帰的なCTEは巨大なデータセットでは遅いことを知っています。 スキーマ: Create table RootItem (ItemId int primary key, RootIt int , insertdate datetime) 上記の表には100万行を超える行があります。 CTEクエリ: ; With rootcte as ( select itemid from RootItem where rootid is null union all select r.itemid as RootId , i.itemid from RootItem i join rootcte r on i.rootid = r.itemid ) テーブルスキーマを変更してheirarchyidを使用することはできません。whileループも試しましたが、それも遅いです。 このクエリを最適化できる他の方法はありますか? …

3
全文検索クエリでのORDER BYの最適化
entities1500万レコードまでの大きなテーブルがあります。の「ホッケー」に一致する上位5行を見つけたいname。 に全文索引がありますname。これは次のように使用されます。gin_ix_entity_full_text_search_name クエリ: SELECT "entities".*, ts_rank(to_tsvector('english', "entities"."name"::text), to_tsquery('english', 'hockey'::text)) AS "rank0.48661998202865475" FROM "entities" WHERE "entities"."place" = 'f' AND (to_tsvector('english', "entities"."name"::text) @@ to_tsquery('english', 'hockey'::text)) ORDER BY "rank0.48661998202865475" DESC LIMIT 5 期間25,623ミリ秒 計画を説明する 1制限(コスト= 12666.89..12666.89行= 5幅= 3116) 2->ソート(コスト= 12666.89..12670.18行= 6571幅= 3116) 3ソートキー:(ts_rank(to_tsvector( 'english' :: regconfig、(name):: text)、 '' 'hockey' '' :: tsquery)) 4->エンティティに対するビットマップヒープスキャン(コスト= …

2
レポート目的でデータベーススナップショットを使用する利点
レポート目的でデータベースのスナップショットを使用することのパフォーマンス上の利点は何ですか? 私の見たところ、元のデータベースへの書き込みごとに、スナップショット自体に別の書き込みを行う必要があるため、おそらくパフォーマンスが低下します。 その時点までのデータのレポートを作成したいときはいつでもスナップショットを使用することがわかりますが、それはパフォーマンスのカテゴリに分類されません。 繰り返しますが、パフォーマンス上の利点はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.