2016-10-05 16 views
0

現在、dynamics AXアプリケーションでloadtestを準備中です。私たちは、ロードテスト中にAOSでトレースを有効にする可能性を模索しています。トレースがサーバーのパフォーマンスに影響を与える可能性があるため、テスト結果に影響を与える可能性があります。Dynamics AX 2012でのトレースAOS at loadtest

結果に影響を与えずに負荷テスト中にトレースすることは可能ですか?

+0

[Inside Microsoft Dynamics AX 2012 R3](https://books.google.com/books?id=yQ0bBAAAQBAJ&lpg=PA501&ots=QMDvmkivIt&dq=dynamics%20ax%20trace%20overhead%20inside&pg=PA501#v=onepage&q=ダイナミクス%20ax%20trace%20overhead%20inside&f = false)、トレースによるオーバーヘッドは約4%です。 –

答えて

1

"結果に影響を与えずに負荷テスト中にトレースすることはできますか?"

パフォーマンスに影響がない場合、トレースは常にオンになります。トレースの単なる行為は追加の作業を引き起こしているため、結果に影響する必要があります。

同じ負荷テストでベースラインシステムに対してパフォーマンステストを行っている場合、両方の環境でトレースをオンにして両方のパフォーマンスをいくらか無効にすることができます。

2

AXトレースをオンにした場合(たとえば、Ax32Serv.exe.configまたはusing the WCF tracingのいずれかを編集した場合)、負荷がかかるとパフォーマンスに影響を与えます(また、いくつかの巨大なログで終了します)。 FH-Inwayのコメントによれば、トレースはわずか4%のオーバーヘッドしか生じないかもしれませんが(負荷に依存します)、負荷がかかると実際に問題が発生するのは、オンにしてからわずか1分でログに記録されるギガバイトです。 Trace Parserの監視方法を使用する場合も同様です。

負荷が不足している場合は、失敗したリクエストで返された例外メッセージも見つかるはずです。

あなたはAXは、AOS GUIを通じてスローすべての例外をも見ることができます(システムの参照 - GUIで>例外項目)か、直接のようなクエリを使用してAXの例外テーブルを照会することができます

SELECT COUNT(*) AS theCount ,EXCEPTION ,theDESCRIPTION 
FROM ( 
SELECT SE.CREATEDDATETIME ,SE.EXCEPTION ,SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(max), SE.DESCRIPTION), CHAR(13), ' '), CHAR(10), ' '), CHAR(9), ' '), (CHAR(13) + CHAR(10)), ' '), CHAR(32), ' '), 1, 250) AS theDESCRIPTION 
FROM SYSEXCEPTIONTABLE SE 
LEFT JOIN AIFEXCEPTIONMAP T2 ON (SE.RECID = T2.EXCEPTIONID) 
LEFT JOIN PARTITIONS T3 ON (SE.DATAPARTITION = T3.RECID) 
WHERE SE.CREATEDDATETIME > '2015-12-15 02:25:50') AS InnerS 
--where theDESCRIPTION like '%deadlock%' 
GROUP BY Exception ,theDESCRIPTION 
ORDER BY theCount DESC 

SQL ServerベースのパフォーマンスアナライザDynamics AXを使用して、問題をSQL層またはAXのAOS層に分離できます。 DynPerfにはほとんど影響がありません。

負荷がかかっている場合は、Perf Analyzer(DynPerf)から開始するか、SQL Server独自のDMVを使用して、どのクエリがパフォーマンスが悪いのかを把握し、そのクエリが関連する特定のユーザーアクションを見つけます。

最後に、AX Perfmonカウンタは、何が起こっているかに関する情報を提供します。

AXを監視するさまざまなオプションは、TechNetの記事「パフォーマンスを監視するツール[AX 2012]」に記載されています。ご覧のとおり、AXには多くの監視オプションがあります。他のシステムとまったく同様です。

多くの例外が発生している場合は、例外をスローするデータとテストが見つかるまで、負荷テストの各シナリオを単独で実行します。

負荷テストは、製品の問題の監視とトラブルシューティングをどのように行うかを判断するのに最適です。負荷テストでそれを行うことができない場合、実際のユーザーが問題を抱えているときはどうしますか?

システムをどのように読み込んでいるのかわかりません。あなたはAIFを通過していますか?また、トレースを実行する理由も述べていません。単に応答時間を監視するだけですか? Visual Studioのロードツールを使用していて、BeginメソッドとEnd.Timer()メソッドでリクエストを適切にラップすると、ロードツールによって応答時間が収集されます。

+0

AIFポートを経由する場合は、ポートのログレベルの1つをオンにする方法もあります。「統合ポートのトラブルシューティングオプション」のTechNetの記事を参照してください。ドキュメントロギングを有効にすることもできます。 TechNetの記事「ドキュメントログの表示」を参照してください。 – charlesdwm

+0

負荷は、インバウンドキューに直接メッセージを配置し、バッチジョブを実行してこれらのメッセージからデータを処理し、いくつかのSOAP Webサービスに要求を送信する組み合わせです。 Webサービスの応答時間はJmeterによって測定されます(他のものの中でも)。私は、perfmonカウンタとDynperfの組み合わせを使用する予定です。必要に応じてテストの一部を繰り返して他の領域を拡大することもできます。あなたの非常に有益な返答をありがとう。 –

関連する問題