[文章作者:狂奔的鹿 本文版本:v1.0 转载请注明原文链接:http://dynamiclu.iteye.com/]
从开发人员到系统工程师、运维工程师以及架构师,经常会收到用户或需求方的反映,说我们网站打开地很慢,甚至出现了502等。这个问题原因较多,处理方式也较多。我要分享的是一个弱请求处理的优化方式。
弱请求在这里是指那些响应较慢、耗时较长的HTTP请求,是笔者临时命名的。有经验的工程师都知道,我们要分析系统性能问题时,只需分析这个系统的请求处理容量和单个请求的平均响应时间。有前辈分享的2/8原则,提到我们的系统有20%左右响应较慢的请求占用了超过20%以上的资源。这里要说的就是对这些请求响应时间的处理方式。
1.如何获取系统的单个请求响应时间?
客户端层面的较复杂,不同的地区有差别,可以用httpwatch,压力测试软件,或部署在各国的各地的性能监控平台获取。
服务器端的方式有:1.配置nginx,apache日志格式 2.在工程代码里加filter,记录下来。建议用第一种方式。
修改nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
找到log_format,在最后添加request_time项,如下
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"'
'"$request_time"';
保存退出.
kill -HUP PID(nginx的PID)
提醒:日志格式修改后,注意是否有相关的日志分析程序需要相应的修改
打开的nginx时志文件
tail -fn100 /usr/local/nginx/logs/access.log
会发现在最后多了一项数据,如下图
表示请求/msg/replyList/msg/1/1.html 响应时间为:0.053秒
太好了,服务器请求时间记录下来了。
apache也可以作类似设置,有兴趣的同学可以在baidu里google一下就知道了。
然后,让我们的系统跑动若干时间段。
我们再取出日志,执行:
cat access.log |awk '($7~/\.html/){print $NF " " $1 " " $4 " " $7}'|sort -nr|head -100
#意思是列出到客户端最耗时的前100个请求的html页面, (可修改,为jsp,php)分别显示响应时间 IP来源 请求发生的时间 请求页
如下图
说明请求/msg/msgup.html较慢,超过了6秒,太消耗资源了。
经常分析日志,我们会得到一系列的这样的请求页面。
找到了妨碍我们系统性能的打开较慢的并页面了,根据前辈的提到了2/8原则,我们需要对这些请求进得处理:
方法一:
分析这个请求对应的程序,是不是有很多for循环,是不是直接读库,缓存策略是否还可以优化,等等。修改程序就OK
方法二:
利用nginx的正则匹配转发,我们把这些弱请求统计转到其它服务器处理,分流的作用。
上述策略之后,我们会发现我们系统负载下来了,502更少了,页面打开更快了。
注:两分种可以当面说完的策略,写文章却花了近一个小时,希望给各位看官平时的工作带来帮助。
[文章作者:狂奔的鹿 本文版本:v1.0 转载请注明原文链接:http://dynamiclu.iteye.com/]
- 大小: 45 KB
- 大小: 60.6 KB
分享到:
相关推荐
根据提供的文件内容,我们可以从中提取有关web性能优化(服务器优化)的知识点。文件内容虽然有部分OCR扫描错误和不连贯,但我们可以识别出关键概念和组件,并将它们串联成一篇详尽的web服务器优化知识介绍。 首先...
### Web性能优化(服务器优化)知识点...综上所述,Web性能优化是一项复杂的任务,涉及服务器配置、资源分离、数据库优化、负载均衡以及缓存等多个方面。通过综合运用这些技术,可以显著提高Web应用的性能和用户体验。
Web前端性能优化是提升网页用户体验和确保网站成功的关键因素之一。性能优化涉及多个方面,包括但不限于代码优化、资源加载策略、服务器配置等。本篇内容将深入探讨Web前端性能优化的思路与学习方法,结合WebQQ、QQ...
Web前端性能优化是提高网页加载速度和用户体验的关键因素。Yahoo! 的 Exceptional Performance team 提出了一系列不断更新的优化策略,从最初的13条发展到现在的34条,涵盖了多个角度,包括内容、服务器、Cookie、...
"WEB性能优化实践分析"的主题旨在探讨和分享一系列实用的优化策略和技术,旨在遵循"web优化黄金规则",确保网页快速加载,减少用户等待时间,提高网站的可访问性和可用性。 一、网页性能的重要性 网页性能优化不仅...
Web 性能优化是一个非常重要的方面,它对网站的用户体验和商业收入都有着直接的影响。根据 Google 和亚马逊的研究,页面加载时间的增加会导致流量和销售额的损失。因此,网站优化的目标是减少网站加载时间,提高响应...
《高性能网站建设进阶指南》是一本专为WEB开发者设计的性能优化手册,旨在帮助开发者们构建更快、更稳定、更高效的网站。这本书深入探讨了JavaWeb和Java在网站开发中的应用,结合实际案例,提供了丰富的优化策略和...
知识点一: Web 前端性能优化的重要性 随着 Web 应用的快速增长和普及,Web 站点的性能要求也越来越高。用户不仅要看到自己需要的内容,而且要求有尽可能快的响应速度。因此,站点的优化工作势在必行。 知识点二: ...
2: Web表现层性能优化概述 3:分阶段讲述Web表现层的优化思路和具体的优化手段 (1)连接网络并发送请求部分 (2)网络来回传输内容部分 (3)服务器处理请求部分 (4)浏览器渲染绘制部分 4:优化实践,对Front...
在现代Web开发中,前端性能优化是至关重要的,它直接影响用户体验和网站的转化率。本文档将探讨如何提升WEB前端的性能,通过遵循一系列规则和使用专业的工具来达到最佳效果。我们将详细介绍YSLOW工具,这是一个非常...
以下是对“大流量Web系统的性能优化实践”这一主题的详细解析。 一、前端优化 1. **静态资源合并与压缩**:减少HTTP请求次数可以显著提升页面加载速度。通过合并CSS和JavaScript文件,以及使用Gzip等工具进行压缩...
Web前端性能优化是提升网页加载速度和用户体验的关键环节。这篇经验分享主要涵盖了四个核心知识点,旨在帮助前端开发者理解和实践性能优化技巧。 1. 减少HTTP请求 HTTP请求是浏览器与服务器交互的基础,但每一次...
以上提及的性能指标和概念对于执行web性能测试和优化至关重要,它们能帮助开发和运维团队评估web应用的性能状况,识别性能瓶颈,从而进行针对性的优化,确保用户获得良好体验。在实际操作中,通常需要利用专业工具...
在软件开发与项目管理中,Web性能优化是一个至关重要的环节,尤其对于高流量的Web站点而言。本案例主要探讨了四个关键领域的优化策略,包括提高服务器并发处理能力、Web组件分离、数据库性能优化和扩展,以及Web负载...
标题中的“PPT关于WEB性能”表明这是一份关于Web应用程序性能优化的演示文稿,...综上所述,这份PPT很可能是对这些Web性能优化技术的详细讲解,对于开发者来说,理解和应用这些知识能够显著提升网站的性能和用户体验。
### Web服务器集群请求分配和选择的性能分析 ...综上所述,本文深入探讨了Web服务器集群的请求分配与选择控制方案,并通过建立随机高级Petri网模型进行性能分析,为优化Web服务性能提供了有力的支持。
在现代的Web开发中,前端性能优化是提升用户体验和网站加载速度的关键环节。这份"WEB前端性能优化资料"涵盖了前端优化的重要原则、实用工具以及如何进行有效测试的讲解,旨在帮助开发者实现更高效的网页设计。 一、...
总结起来,"高性能网站建设进阶指南:WEB开发者性能优化最佳实践"这本书会涵盖一系列提升Web性能的策略和技术,包括但不限于网络协议、资源管理、代码优化、用户体验设计和性能监控。通过学习和应用这些最佳实践,...