最近、OE 11.3 バージョンにアップグレードしました。特定の場所でアプリケーションとデータベースが遅いようです。しかし、アプリケーションまたはデータベースでパフォーマンスの問題に直面することはありませんでした。バッファ ヒットなどの promon のいくつかのパラメータを確認しました。データベース バッファの数、-spin パラメータ。
バッファヒット -97%
データベース バッファの数 - 50000
-spin berfore timeout- 2000 これは非常に低く見えます。
その場所だけでデータベースとアプリケーションが非常に遅い理由を見つける方法はありますか?
他の場所からのパフォーマンスの問題に直面していません。
-spin 値を増やすと、その場所でのパフォーマンスが向上しますか?
場所とは、地理的な場所を指します。
3 に答える
あなたはあまり多くの情報を提供していません:
A) あなたの意図について。すべてを「より速く」したいだけですか?または、他のニーズがありますか-サーバーのメモリが不足している/負荷が高いなど.
B) システムについて。ユーザー、データベース、テーブル、インデックスなどの数。
C) 場所と言うとき、本当の意味は何ですか? 特定のプログラム、特定のクエリ/検索、または特定の (地理的な) 場所ですか?
バッファ ヒット
97% のバッファーは、それ自体ではそれほど多くを語っていません。
- 1,000 件のレコード検索がありますか、それとも 1,000,000,000 件ですか?
- 「プライマリ バッファ ヒット」は、単一のテーブルについては何も言いません。おそらく、すべての「バッファ ミス」は、1 つのテーブル (またはごく少数) から発生します。
バッファ ヒットの簡単な説明:
バッファ (メモリ) で読み取られたレコードは「ヒット」であり、ディスクから読み取られたレコードはそうではありません。
1 000 record lookups with 97% buffer hits means:
970 records are read from buffer (memory). (0.97 x 1 000)
30 records are read from disk. (0.03 x 1 000)
Increasing to 99% buffer hits means you will remove:
20 disc reads. (0.02 x 1 000)
1 000 000 000 record lookups with 97% buffer hits means:
970 000 000 records are read from buffer (memory).
30 000 000 are read from disk.
Increasing to 99% buffer hits means you will remove:
20 000 000 disc reads.
最初のケースでは、97% から 99% になるとほとんど何も気付かないでしょう。2 番目のケースでは、ディスクの負荷が大幅に減少します。
結論
-B を大きくすると、パフォーマンスとバッファ ヒットに影響する可能性があります。-spin を変更すると、CPU をより多く使用するため、パフォーマンスに影響を与える可能性もあります。それはすべて、システムがどのように機能するかによって異なります。最善の方法は実際に試してみることです (テスト セットアップを使用して)。
最初に実際に行うべきことは、アプリケーションと最も多く実行されているクエリを確認することです。最適なインデックスを利用していますか? そうでない場合は、大きな違いを得ることなく、非常に多くのチューニングを行うことができます。インデックスの使用法、XREF コンパイル、およびインデックスのパフォーマンスなどをチェックするために使用できるさまざまな VST テーブルについて読んでください。
これは開始するのに適した場所です。
Progress データベースのパフォーマンス チューニングのヒント トップ 10 (本当にもっと)
また、優れた無料の ProTop ソフトウェアを試して、-B について推測することもできます。
この質問は非常に漠然としています。いくつかの「やり取り」が行われ、より完全な回答に導かれるフォーラムで質問する方がはるかに良いでしょう.
あなたは試すことができます:
これらのフォーラムにはすべて、DBA に焦点を当てた専用の領域があり、多くの人が定期的に支援に参加しています。
-T /dev/shm
(Linux サーバーで) を追加すると、パフォーマンスが大幅に向上することがわかりました。
/oe116> cat startup.pf
-T /dev/shm
common.pf
これをファイルに追加することもできます
(データベースを実行して) lsof |grep delete を実行すると、この前後を確認できます。
ハードディスクに多くの場所が表示されるはずです。それを追加してデータベースを再起動すると、共有メモリが使用されます