asp.net中的带宽监控

asi*_*fch 4 asp.net bandwidth multi-tenant

嗨,我们正在Asp.Net中开发一个多租户应用程序,每个租户都有单独的数据库,其中一个要求是监控每个租户的带宽使用情况,

我试图搜索但没有找到关于该主题的大量帮助,我们希望确切地监控每个租户使用多少带宽,而每个租户可以拥有自己的顶级域或子域或两者的组合.

那么可用的选项是什么,我能想到的选择是什么

  1. IIS日志监控是指一个单独的应用程序,它将计算每个租户的带宽.
  2. 从应用程序中记录租户的每个请求和响应,然后根据该计算总带宽使用量.
  3. 如果可用,请使用一些第三方组件

那么你认为什么是最好的方法,如果还有其他方法可以做到这一点.

Ari*_*tos 6

好的,这是一个想法(我没有测试,留给你)

global.asax上 使用此函数之一(找到具有有效最终大小的函数)

Application_PostRequestHandlerExecute
Application_ReleaseRequestState
Run Code Online (Sandbox Code Playgroud)

并获得您发送的大小

Response.Filter.Length
Run Code Online (Sandbox Code Playgroud)

无需提示,您可以使用获取呼叫的文件名

HttpContext.Current.Request.Path
Run Code Online (Sandbox Code Playgroud)

每个请求都会调用此函数,因此您可以获得自己的大小,然后完成剩下的工作.

在这里必须注意,你需要首先测试这个想法,看看它是否有效,并且可能会改进它,并且我已经知道如果你在服务器上压缩页面的长度是不正确的,也许你需要压缩它Global.asax实际上有长度.

希望这有帮助.