带宽的监测asp.net
-
23-09-2019 - |
题
嗨,我们正在发展一个多用户应用程序Asp.Net 与单独的数据库对每一租户的其中一方的要求是监控的带宽使用率为每一租户,
我试图搜索,但没有找到多少帮助的话题,我们希望监控究竟有多大带宽是被用于每个租户,而每个住户可以拥有自己的顶级域名或电子领域或者两者的结合。
所以什么都可用选择,那个,我可以觉得可以
- IIS日志监视装置的单独的应用程序,它将计算的带宽,为每一租户。
- 记录每个请求和响应用于租户在应用程序,然后计算出的总带宽使用率的基础上。
- 使用一些第三部分组成,如果可以
那么你认为会是最好的办法,如果还有任何其他方式来做到这一点。
解决方案
好的,这里是一个想法(我没有测试,留给你)
上 全球性的。asax 使用这一功能(找到一个拥有有效的最终尺寸)
Application_PostRequestHandlerExecute
Application_ReleaseRequestState
并获得大小,你已经发送带
Response.Filter.Length
没有必要提,你得到名叫利用
HttpContext.Current.Request.Path
这个职能称为与每一个请求,这样你就可以得到你的尺寸和你做其余部分。
在这里必须注意的是,你需要先测试这一想法,看看是否它的工作,并且也许提高,并具有地雷,如果你已经压缩的网页服务器的长度是不正确的,也许你需要压缩了它在全球性的。asax有实际上的长度.
希望这种帮助。
其他提示
好吧,由于IIS记录已经包含了所要求的大小和应对大小,它似乎不是太麻烦,以发展一个小型工具来分析它们,并计算每日/周/月/无论。
试图段基于业主难以在我的经验。相反,如果你给每个租户他们自己的IP(s)对应用程序应该能够找到方案将监测宽带基于IP。
除了 是的结构IIS,你有一个网站来统治他们的所有租户和登录该系统叉到适当的数据库?如果是这样,这可能会造成问题与相对于版本控制在所有租户的网站都必须有完全相同的架构,并将所有需要进行更新,同时更新应用程序时这样一种架构的改变是必需的。
另一个结构,这听起来像什么你可能是,每户有自己的网站像这样:
tenant1_site/appvirtualdir
tenant2_site/appvirtualdir
...
这里的 appvirtualdir
指向同一物理路径的所有租户的网站。当所有客户相同的应用版本,他们所使用的同样的代码。如果你有这种情况下和某种形式的认证,然后你会需要一个IP每个租户无论如何因为SSL。SSL将仅仅结合知识产权和口与非SSL它将结合到IP、港口和主机。如果情况果真如此,那么监测的交通基于IP将仍然是更简单和更准确的,因为它可以在路由器或通过网络监测。