SQL函数计算流量的95值


我用的是Solarwinds系统,部分内容就结合Solarwinds系统一起写了。最后落地也是通过系统的Report定时自动出报告并且可以发邮件。
不过计算方法是通过定义SQL函数,然后使用SQL查询来获取到的,这部分内容是通用的。从 Solarwinds 官方网站搜索“95th”关键字能获取到说明的文档。
95th Percentile Calculations in the Orion Platform:
https://documentation.solarwinds.com/en/Success_Center/orionplatform/Content/Core-95th-Percentile-Calculations-sw80.htmOver the 10 hours, th开发云主机域名e following 120 values were collected for inbound traffic (Mb/s):The values are reordered from high to low.The first 6 values are dropped, as these equal the top 5% of the values.系统上安装的工具是:SQL Server Management Studio新建内联表值函数:新建多语句表值函数:新建标量值函数:通过标量值函数来实现的。
一共有3个,一个In方向GetInBps95th,一个Out方向GetOutBps95th。
还有一个单个时间点的In和Out方向取大值计算结果。
函数已经在系统中了,这里是修改函数的命令模板。 计算In方向的95thOut方向的只是换一个字段,其他都一样。计算双向的95th多了一层子查询,使用WHEN子句用来判断取大的值。因为原有的函数不能满足需求,需要改一下,增加一个时间段筛选的变量。需求就是一周或者一个月,每天只取工作时间的数据
这里按时间的小时数 ‘DATEPART(hh,DateTime)’ 只要是9到16这些数值就表示每天的9点到17点了。
另外还有一个时间段的需求是每天有2段时间,考虑到通用性,这里用了数组的方式来设置,把需要的小时的数值定义在数组里。实际没有用数组,用字符串来模拟了。 创建一个自定义函数,在原有的函数的基础上,增加时间段的筛选:执行上面的语句后,就会添加到数据库中。
注意:这里定义字符串变量的时候要指定大小,否则虽然可以成功执行,但是结果会和预期的不一样。筛选方式使用取时间的小时数,一天里哪几个时段是需要的,就定义在数组里。
使用的时候这样定义:这样就是要取9点到17点的数据。对应的WHERE可以这样写:基本用字符串模拟出了数组的效果,在这里是够用了。如果创建的时候写错了,则可以用下面的模板进行修改,更新到数据库中。完整的SQL查询语句:需求是要计算一周的数据,这里是获取上一周的数据,从周一开始。
完整的查询语句:注意:这里定义字符串变量的时候要指定大小,否则虽然可以成功执行,但是结果会和预期的不一样。 在写一个查询语句,把一个端口下的所有的流量数据都导出。验证函数的结果是否符合预期。
完整的查询语句:

相关推荐: 桌面图标异常如何恢复

桌面图标异常需清理“C:UsersAdministra开发云主机域名torAppDataLocalIconCache.db”的图标缓存库,然后重启电脑解决相关推荐: 转移域中的操作主机提升域功能级别!转移域中的操作主机提升域功能级别!一。先说提升域功能级别!在…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 04/13 14:40
Next 04/13 14:40