现在大多数网站都是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的日志记录最后总的请求完成的时间
阅读(1374) | 评论(0) | 转发(0) |