我正在使用一种软件(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为例的答案将非常值得赞赏(即使它来自另一个工具)。
你,我不会提供SQL秒杀,但我会点那么与供应商达成同样高峰的唯一方法就是将您的采样率与他们的采样率相匹配。 – duffymo
我对获得与供应商相同的高峰并不感兴趣。我想了解该方法如何工作,因为我只有分析方面的基本知识。为了清楚起见,我将编辑这个问题,但我并不是要求为我编写一些代码,只是一个实际的例子。 –