Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92551
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1030
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-25 10:47
文章分类
文章存档

2013年(26)

我的朋友

分类: 网络与安全

2013-08-03 09:12:12

现在大多数网站都是3层,如果网站慢下来不知道是用户连接慢还是网站服务器处理请求慢.所以需要前端负载均衡和后端webserver上记录每一个个请求的处理时间,虽然有一点性能的损耗,但是对于DEBUG,tunning来说还是有一定作用的。

可以使用nginx log_format里的$request_time这个变量来记录请求处理的时间,

例如:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

以下例子就很容易发现,时间还是有区别的。

blance:

192.168.8.31 - - [24/Jun/2010:15:02:13 +0800] "GET /sell HTTP/1.1" 200 8624 "" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1" "-" "0.704"

webserver:

192.168.4.236 - - [24/Jun/2010:15:02:13 +0800] "GET /sell HTTP/1.0" 200 46227 "" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1" "192.168.8.31" "0.702"

可以看到整个过程中花在blance到webserver中间的时间差很小,blance的日志记录最后总的请求完成的时间
阅读(1166) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~