2016-10-04 6 views
0

私はライセンス使用量のピークを表示するソフトウェア(HPE ALMですが、ここでは重要ではありません)を使用しています。セッションごとにライセンストークンが使用され、セッションの終了時にライセンストークンが解放されます。すべてのセッションはセッション履歴テーブル(MS SQL Server上)に保存されます。セッション統計のポーリング間隔はどのように機能しますか?

私は、クエリのこの種の実行時:

SELECT TOP 1 count(*) as CountSimultaneous 
FROM td.SESSIONS_HISTORY T1, td.SESSIONS_HISTORY T2 
WHERE td.SESSIONS_HISTORY.CLIENT_TYPE = 'Application Lifecycle Management Client UI' 
and T1.START_TIME between T2.START_TIME and T2.END_TIME 
/* Add here the start/end dates */ 
GROUP BY T1.SESSION_ID 
ORDER BY CountSimultaneous DESC; 

数字は少し私はライセンスの使用状況タブで得るものとは異なります(私のピークは10、最大20まで高くなっています)。

よく知られているユーザーによれば、その違いはポーリング間隔があることに起因します。

ポーリング間隔はどのように機能しますか?いくつかのサンプルは、セッション履歴テーブルからランダムに取得されますか?たとえば、(START_TIME - x - 5分)と(END_TIME - x)間のセッションの上位10考慮される期間(昨日、先週、先月など)にxが変化するとき。

私は売り手と同じ結果を得るのに邪魔されません。目的は、他のツール(Analytics、LoadRunnerなど)で使用されているように見えるこの概念を理解することです。

擬似コード/ SQLの例の回答は、(別のツールから取得したとしても)非常に高く評価されます。

+0

でスパイクを逃してしまうが、私は指していますベンダーと同じピークを得るための唯一の方法は、サンプルレートをサンプルレートと一致させることです。 – duffymo

+0

私はベンダーと同じピークに陥ることはありません。私は分析の基本知識しか持っていないので、アプローチがどのように機能するのかを理解したいと思います。明確にするために質問を編集しますが、私のために何かをコーディングするつもりはありません。実用的な例です。 –

答えて

0

それは絵を描くためにあまりにも多くの仕事だが、あなたはこのようになり(time, session count)データがあると仮定してみましょう:=ベンダーの対策が毎秒、彼らは一度に50のスパイクが表示されます場合は

(0, 10) 
(1, 10) 
(2, 10) 
(3, 50) 
(4, 10) 
(5, 10) 

を3.

あなたは5秒ごとにサンプルまたは照会する場合は、10のピーク値が表示されますあなたが私はあなたのためのSQLを提供することはありません50

+0

入力データが(時間、セッション数)ではなく、(セッション開始日時、セッション終了日時)であるため、私には明らかではありません。これは時系列データベースやシステムメトリックなどのデータフローに取り込まれたメジャーからのものではありません。 –

+1

私はそれを時系列データにすることができます。 DISTINCT START、COUNT(*)を照会すると、ミリ秒にカウントダウンされます。日付範囲を数えて集計を開始します。 – duffymo

関連する問題