首页 新闻 搜索 专区 学院

如何得到服务器处理一个请求的性能

0
悬赏园豆:50 [已解决问题] 解决于 2014-06-28 15:44

有什么办法能监控某个http请求到服务器,服务器反馈的时间差,但是不能在服务器端写代码,只能通过监控的方式实现

问题补充:

加一个附加条件,我只能操作服务端,客户端无法控制,请求有成千上万,我要把每个请求所耗得时间都记录到日志

 

iis日志能解决上面的问题,但是如果一个日访问量上亿的网站,写日志太耗,想通过IIS扩展的方式,有什么好的方法,最好有C#的方式扩展

 

注:需要监控部署在IIS上的所有程序的性能

baoj2010的主页 baoj2010 | 初学一级 | 园豆:102
提问于:2014-06-16 16:20
< >
分享
最佳答案
0

楼主修改问题了,明确表示“要把每个请求所耗得时间都记录到日志”,而不是只是监控“某个http请求”。

IIS 有日志功能,你只须要配置该日志格式就行了。

收获园豆:25
Launcher | 高人七级 |园豆:45045 | 2014-06-16 17:33

3、应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT这%代表什么意思,完整的路径到底是什么?

baoj2010 | 园豆:102 (初学一级) | 2014-06-16 17:53
Launcher | 园豆:45045 (高人七级) | 2014-06-16 17:56

@Launcher: 用你的方法能够解决小网站的问题,所有往日志里写,但是我们的网站日访问量上亿,写日志太耗了,想通过扩展iis的方式,先得到请求的url,再得到时间然后往另一台服务器送,有什么好的方法

baoj2010 | 园豆:102 (初学一级) | 2014-06-16 20:51
其他回答(5)
0

性能监视器 -> ASP.NET Apps v4.0 -> Request Execution Time

l3oz | 园豆:586 (小虾三级) | 2014-06-16 16:47

你这个不行,楼主要的是监视“某个http请求”。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-06-16 17:01

@Launcher: 额。。看浏览器的Timeline吧。。

支持(0) 反对(0) l3oz | 园豆:586 (小虾三级) | 2014-06-16 17:05

iis日志里有记录请求处理时间(time-taken)

支持(0) 反对(0) l3oz | 园豆:586 (小虾三级) | 2014-06-16 17:32
0

看浏览器的NetWork吧

给我一个理由 | 园豆:17 (初学一级) | 2014-06-16 17:07
0

嗯,浏览器里直接直接可以看到一个请求发出到响应的时间,再减去网络延迟,就是你的请求处理时间了

吴瑞祥 | 园豆:28841 (高人七级) | 2014-06-16 17:26
0

使用过滤器Filter,不过我不知道.net是否有过滤器。

你写一个过滤器,拦截所有请求,然后计算所花的时间并写入日志

收获园豆:25
ThreeTree | 园豆:1490 (小虾三级) | 2014-06-16 18:09

iis有个请求筛选,不知道是不是你说的过滤器Filter,有没有具体的案例?

支持(0) 反对(0) baoj2010 | 园豆:102 (初学一级) | 2014-06-16 20:55

ISAPI貌似就是你说的过滤器

支持(0) 反对(0) baoj2010 | 园豆:102 (初学一级) | 2014-06-16 20:57

找到过滤器了,但是不知道如何扩展,有案例吗或者参考资料?

支持(0) 反对(0) baoj2010 | 园豆:102 (初学一级) | 2014-06-16 21:01

@baoj2010: http://www.jb51.net/article/38723.htm

http://www.bbsmvc.com/MVC3Framework/thread-490-1-1.html

这两篇文章应该对你有帮助,尤其是第一片,居然特意的与JAVA做了比较。

重申一下:我不会ASP .net的,只会JAVA

支持(0) 反对(0) ThreeTree | 园豆:1490 (小虾三级) | 2014-06-16 21:14

@ThreeTree: 貌似不能满足我的需求啊,我需要监控部署在IIS上的所有程序的性能

支持(0) 反对(0) baoj2010 | 园豆:102 (初学一级) | 2014-06-17 10:05

@baoj2010: 

其实对于一个WEB应用只要一个Filter就可以达到你的需求了,因为默认情况下对于该应用的所有请求都会被拦截,不过要是IIS上有多个WEB应用,那么就需要相应的多个Filter,还是比较麻烦的。而且你也说了不能修改代码,确实不能满足你的需求。你再看看有没有其它方式吧。

支持(0) 反对(0) ThreeTree | 园豆:1490 (小虾三级) | 2014-06-17 12:19
0

网站服务器的日常运维可以试试云帮手,对新手很友好,能够及时监控服务器情况并作出预警

nokeys | 园豆:218 (菜鸟二级) | 2020-08-31 18:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册