問題タブ [resource-governor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
soa - SOA ガバナンスの説明
SOA ガバナンスとは何かを理解している人はいますか? SOA ガバナンスと IT ガバナンスの違い (または相関関係) は何ですか? 市場で入手可能な SOA プラットフォームを使用してどのように適用できますか?
SOA プラットフォーム上に構築されたプロジェクトは、SOA ガバナンスを適用せずに成功できますか? どのように?私はここで実用的な観点から話しています。
sql - SQL リソース ガバナーは、クエリの実行中にリソースを再割り当てしますか?
たとえば、2 つのユーザー (U1、U2) が 2 つのリソース プール (R1、R2) にマップされ、最大値が 20% と 80% であるとします。U1 は、たとえば 15 分間実行される時間のかかるクエリを実行します。実行を開始したとき、それが唯一のプロセスであったため、SQL サーバーはこのクエリにすべてのリソースを割り当てます。5 分後、U2 は別のクエリを実行します。リソース ガバナーは U1 のリソースを 20% に減らして U2 に 80% を許可するか、それとも U1 が完了するのを待ってから U2 に 80% を許可します。
最初のケースが予想されることに同意しますが、この投稿を見て興味を持ちました。実際のシナリオで何が起こるか説明してください。
sql-server - Sql Server 2008 でのリソース ガバナー分類関数の動作のトレースまたはログ記録
SQL Server 2008 でリソース ガバナーを使用しようとしていますが、分類関数をデバッグして、入力変数の内容を把握するのが難しいと思います。つまり、SUSER_NAME() にドメイン名が含まれていますか? APP_NAME() 文字列はどのように見えますか?
また、正しく動作していることを確認することも困難です。関数はどのグループを返しましたか? これを確認する唯一の方法は、パフォーマンス モニターを起動して、右の CPU カウンターに小さなブリップがあるかどうか、瞬きもせずに監視することです。
ブレークポイントを設定してステップスルーして変数値を確認できるデバッグモードで実行する方法はありますか、または少なくともトレースステートメントをファイルに書き込む昔ながらの方法を実行して、確認できるようにすることはできますか?どうしたの?
ありがとう...
sql-server - SQLサーバーでの特定のクエリ要求に対するI/Oの優先順位付け
長い紹介で申し訳ありませんが、質問をする前に、背景を説明することで問題をよりよく理解できると思います。
WebサービスにSQLServer2008をバックエンドとして使用しており、テーブルをクエリするselectリクエストに20秒以上かかるなど、非常に高速に実行されるはずのリクエストに応答するのに時間がかかりすぎることがあります。 22行しかない。インデックスからストアドプロシージャ、トリガーなどの問題を引き起こす可能性のある多くの潜在的な領域を調べ、読み取りは行わないが頻繁に書き込むインデックスを削除するか、選択したクエリにNOLOCKを追加して、ロックのロックを減らすなど、できる限り最適化しようとしました。テーブル(ダーティリードでも問題ありません)。
また、DBAにサーバーのレビューを依頼し、コンポーネントのベンチマークを行って、CPU、メモリ、またはディスクサブシステムのボトルネックを確認し、ハードウェアに関しても問題がないことを確認しました。また、スパイクがときどき発生するため、同じクエリを再実行すると、ほとんどの場合、期待する応答時間が得られ、予想される応答時間ではなく、短い応答時間が得られるため、本番環境または開発でエラーを再現することは非常に困難です。以前に経験した。
そうは言っても、ボトルネックではないように見えますが、私はI/Oについてほとんど疑っています。しかし、サーバー上の特定のテーブルのインデックスフラグメンテーションレポートを実行した後、エラーを再現できたと思います。これにより、そのテーブルに対して実行されるリクエストだけでなく、他のテーブルをクエリする他のリクエストでもすぐにスパイクが発生しました。また、DBとサーバーは、使用する他のアプリケーションと共有されており、サーバーとデータベースでクエリを実行することもありますが、これは私たちにとって一般的なシナリオであり、I/Oのボトルネックが発生する可能性があります。事実になると私は信じています。
したがって、他のリソースに依存するクエリが実行されている場合でも処理されるWebサービスからの要求に優先順位を付ける方法を見つけたいと思います。解決プロセスの最初から、上記で説明したある種の優先順位付けを探していましたが、SQL Server 2008には、要求の優先順位付けを可能にする「リソースガバナー」と呼ばれる機能があることがわかりました。
ただし、私はResource GovernorやDBAの専門家ではないため、Resource Governorを使用した、または使用している可能性のある他の人の経験と、特定のログインまたは特定のログインのI/Oを優先できるかどうかを尋ねたいと思います。ストアドプロシージャ(たとえば、Webサービス要求の受信時に1つのI / O集中型プロセスが実行されている場合、SQLサーバーはそのプロセスのI / Oアクティビティを停止または減速し、要求に優先順位を付けることができますか?受け取ったばかりですか?)
事前に読んだり手伝ったりすることに時間を費やしてくださった方、ありがとうございました。
ハードウェアの詳細:
CPU:2xクアッドコアAMD Opteron 8354
メモリ:64GB
ディスクサブシステム:Compaq EVA8100シリーズ(わかりませんが、8 HPHSV210SCSIドライブ全体でRAID0+ 1である必要があります)
PS:そして、アプリケーションサーバーがエラーを引き起こしておらず、そこで特定できるボトルネックがないことをほぼ100%確信できます。
アップデート1:
gbnが以下に尋ねた以下の質問については、できる限り回答するように努めます。他に何か探している場合はお知らせください。
1)どのようなインデックスと統計のメンテナンスをお願いしますか?
毎週金曜日にインデックスをデフラグするジョブを毎週実行しています。それに加えて、統計の自動作成と統計の自動更新が有効になっています。また、断片化ジョブ以外の時間にもスパイクが発生しています。
2)どのような書き込みデータボリュームがありますか?
答えるのは難しいです。私たちのWebサービスに加えて、同じデータベースにアクセスするフロントエンドアプリケーションがあり、定期的にリソースを大量に消費するクエリを実行する必要がありますが、取得方法がわかりません。たとえば、毎週または毎日、DBに金額を書き込みます。
3)再コンパイルと統計の更新イベントのプロファイルを作成しましたか?
これがわからなくてごめんなさい。この質問であなたが何を求めているのか理解できませんでした。可能であれば、この質問についてさらに情報を提供できますか?
sql-server - SQL Server リソース ガバナーの代替
SSRS 2008 R2 Standard を実行するレポート サーバーがあります。このサーバーは、別の SQL Server 2008 R2 (再び標準) からデータを取得します。リソース ガバナーと同様の方法で、これらの SQL 標準サーバーでクエリの優先度を管理したいと考えています。
リソース ガバナーは Enterprise 専用の機能であり、現時点ではそのエディションにアップグレードする余裕はありません。アカウントベース、CPU使用率、クエリタイムアウトなど、基本的な程度であっても、これを達成するためのアプローチ/ツールを提案できますか?
sql - 非特権ユーザーからの SQL クエリが重要なプロセスをブロックしないようにする
ユーザーがログインしてクエリを作成し、SQL 2012 サーバーに対して実行できるシステムを使用しています。システムは、許可するクエリに関してかなり寛容である必要があるため、ユーザーが想定されていないことを実行するのを防ぐために、SQL 許可に頼っています。
優先順位の逆転のようなことがまだ起こるのではないかと心配しています。特権のないユーザーがログインし、悪用するテーブルを見つけて、そのテーブルに対して 12 回ほどの外部結合を実行したとします。または、単にトランザクションを開始し、それを決して閉じません。
権限のないユーザーが、より権限のあるユーザーからの重要なプロセスをブロックできないようにしたいと考えています。これを行うためにリソース ガバナーを使用することを考えていますが、心配する必要がある他の問題がある場合、これが最善の方法かどうかはわかりません。
特権のないユーザーからのクエリが重要なプロセスをブロックしないようにする最善の方法は何ですか?
sql - 単一データベースの SQL Server リソース ガバナー
私が開発した C# アプリケーション用のいくつかのデータベースと共有されている SQL Server 2005 インスタンスに常駐するプロプライエタリ ソフトウェアのデータベースがあります。プロプライエタリ ソフトウェアのストアド プロシージャの一部がリソースを消費しているという問題があります。特定のデータベースの CPU 使用率を制限する方法はありますか? DB を別のサーバー / インスタンスに移動することを提唱しましたが、それまで延期できるソリューションが必要です。
event-log - リソース ガバナーが正しく実行されていない
最大 CPU 使用率を制限するために、運用データベースでリソース ガバナーを使用しています。しかし、それは効率的に働くことができませんでした。異なるサーバーで同じ構造を使用していますが、正しく動作しています。サーバー間の唯一の違いは、CPU 数です。OS のバージョンは Windows Server 2012 R2 で、MS SQL Server のバージョンは「Microsoft SQL Server 2014 - 12.0.2495.0 (X64) 2015 年 3 月 31 日 09:47:37 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64 -bit) Windows NT 6.3 (Build 9600: ) (Hypervisor) で "私の分類子関数スクリプトは次のとおりです。
私のリソース プール スクリプトは次のとおりです。
私の最終的な説明スクリプトは次のとおりです。
İt は最大 CPU 使用率を制限しません。デフォルトの max_cpu_percent を %60 に設定しましたが、時々 %100 パーセントを使用します。したがって、システムに適切にアクセスできません。これは、私のイベント ログからのエラー メッセージです。経過時間: 0 ミリ秒。」私たちを手伝ってくれますか?