有什么办法能监控某个http请求到服务器,服务器反馈的时间差,但是不能在服务器端写代码,只能通过监控的方式实现
加一个附加条件,我只能操作服务端,客户端无法控制,请求有成千上万,我要把每个请求所耗得时间都记录到日志
iis日志能解决上面的问题,但是如果一个日访问量上亿的网站,写日志太耗,想通过IIS扩展的方式,有什么好的方法,最好有C#的方式扩展
注:需要监控部署在IIS上的所有程序的性能
楼主修改问题了,明确表示“要把每个请求所耗得时间都记录到日志”,而不是只是监控“某个http请求”。
IIS 有日志功能,你只须要配置该日志格式就行了。
3、应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT这%代表什么意思,完整的路径到底是什么?
@baoj2010: 也不知道你用的 IIS 几,就随便找了下:http://blog.163.com/llf_046/blog/static/52737119200943121031457/
@Launcher: 用你的方法能够解决小网站的问题,所有往日志里写,但是我们的网站日访问量上亿,写日志太耗了,想通过扩展iis的方式,先得到请求的url,再得到时间然后往另一台服务器送,有什么好的方法
看浏览器的NetWork吧
嗯,浏览器里直接直接可以看到一个请求发出到响应的时间,再减去网络延迟,就是你的请求处理时间了
使用过滤器Filter,不过我不知道.net是否有过滤器。
你写一个过滤器,拦截所有请求,然后计算所花的时间并写入日志
iis有个请求筛选,不知道是不是你说的过滤器Filter,有没有具体的案例?
ISAPI貌似就是你说的过滤器
找到过滤器了,但是不知道如何扩展,有案例吗或者参考资料?
@baoj2010: http://www.jb51.net/article/38723.htm
http://www.bbsmvc.com/MVC3Framework/thread-490-1-1.html
这两篇文章应该对你有帮助,尤其是第一片,居然特意的与JAVA做了比较。
重申一下:我不会ASP .net的,只会JAVA
@ThreeTree: 貌似不能满足我的需求啊,我需要监控部署在IIS上的所有程序的性能
@baoj2010:
其实对于一个WEB应用只要一个Filter就可以达到你的需求了,因为默认情况下对于该应用的所有请求都会被拦截,不过要是IIS上有多个WEB应用,那么就需要相应的多个Filter,还是比较麻烦的。而且你也说了不能修改代码,确实不能满足你的需求。你再看看有没有其它方式吧。
网站服务器的日常运维可以试试云帮手,对新手很友好,能够及时监控服务器情况并作出预警