网站速度问题排查与定位经验

简介: 网站速度定位总体思想:1、找瓶颈法。瓶子的颈部(口子)大小决定了出入量,从而决定了速度。不去改善瓶颈,使劲费力气把瓶子容量扩大,速度也不会提高。不是什么都去改善就是好的。比如改善带宽,加缓存之类的。但是这些不是目前系统的瓶颈,改善了也不会发生质的飞跃。

网站速度定位

总体思想:

1、找瓶颈法。瓶子的颈部(口子)大小决定了出入量,从而决定了速度。不去改善瓶颈,使劲费力气把瓶子容量扩大,

速度也不会提高。不是什么都去改善就是好的。比如改善带宽,加缓存之类的。但是这些不是目前系统的瓶颈,改善

了也不会发生质的飞跃。所以找到瓶颈所在。

与哲学思想中的:找主要矛盾,解决主要矛盾,问题才会解决的思想类似。放到技术中叫做系统瓶颈。突破系统瓶颈。

 

找到当前的主要矛盾是重要的。去研究代码,获取几毫秒的性能,不如去看看数据库,干掉一条执行超过1000毫秒的语句。

 

遇到速度慢的问题,就想到“多多益善”的思维。把该加的先加了:把数据生成文件缓存啊,数据库加索引,硬件方面内存加,带宽加。

这种加,确实有好处,会改善,但没定位到瓶颈。就不会解决主要矛盾的。

系统的某方面瓶颈没有突破,其他带宽,内存再怎么加,做了观察一段时间后,就发现心里很纳闷了:确实是快那么点点了,但怎么还是没感觉到明显的快哦。有时候反而跟以前一样的慢。很郁闷啊。

 

 

 



2、使用排除法查找问题。这样将范围逐步缩小。避免胡乱猜测。胡乱去测验。导致浪费精力。

大体思路:前端(排查是不是带宽问题,图片、js文件加载是否是瓶颈)》》侦测php执行速度(这一步把问题可以更加精准定位到数据库层面去)》》数据库是否为瓶颈

 

3、以数据或者理论作为支撑。如果靠猜测,以往经验式的判断方式去改善,只会导致做无用功。以统计数据作为支撑比较靠谱。

 

因为网站运行是动态的,时常速度很快,时常速度稍微慢。今天有人反应昨天慢,等到技术人员去实际操作一下子,发现"速度还挺不错啊",无法还原当时的情况出来。

比如,sql执行时长,php脚本执行速度统计。收集大量在生成环境中统计到的数据。就能很快定位问题所在。

依靠理论作为支撑:比如了解http的请求原理,需要响应,浏览器没有得到服务器的响应(也就是php压根就没执行完毕,所以没到发送html给浏览器这一步),这种情况在浏览器左下角有明显的特点,显示:正在等待响应。

这种一看,大体可以排除网络带宽的原因。这种判断表面看是基于经验式(经验不可靠,因为网站是动态变化的),实际上是基于有理论基础支持的。

 

 

 



执行步骤如下:


第一步,编写脚本统计出php执行时长。通过这一步把每次执行时长记录在文本文件中的方式,分析数据发现,排除了

是带宽的原因。理由为:有些地址的php执行时长到3-4s。需要这个时长才能发html结果给浏览器。可想而知速度。于

是瓶颈不在带宽上。假设:php执行的时长是0.xs级别。那么在浏览器看到需要4秒才能看到页面,那可以排除是php执

行问题。将瓶颈定位在带宽或其他原因上。

第二步,进一步编写脚本,侦测是否为数据库速度问题。

具体步骤如下


1、开启mysql服务器的慢查询日志记录。


2、自己编写脚本,将每条执行的sql用了多长时间,记录到文本文件中去。

目录
相关文章
|
消息中间件 运维 监控
线上踩坑记:项目中一次OOM的分析定位排查过程!
线上踩坑记:项目中一次OOM的分析定位排查过程!
|
XML 搜索推荐 安全
SEO诊断怎么做?网站SEO诊断的10大流程步骤
如果网站从未做过SEO诊断,就不知道SEO存在什么问题,尤其结构比较复杂的网站,问题无时无刻的会出现,除非定期进行SEO诊断,否则不可能会注意到这些问题。接下来可以按照小编分享的网站SEO诊断流程步骤进行检查。
140 0
SEO诊断怎么做?网站SEO诊断的10大流程步骤
|
搜索推荐 UED SEO
SEO诊断服务包含哪些内容?剖析专业优化公司SEO诊断服务内容
SEO诊断服务不仅诊断网站存在不符合搜索引擎规则内容,还会提供具体的解决方法,帮助企业解决目前网站SEO优化中存在的问题与难点。接下来优化猩小编为你剖析分享专业SEO公司SEO诊断服务内容,一起来看看吧。
72 0
SEO诊断服务包含哪些内容?剖析专业优化公司SEO诊断服务内容
|
Arthas 测试技术
《使用Arthas 抽丝剥茧深入应用-线上诊断利器之外》电子版地址
使用Arthas 抽丝剥茧深入应用-线上诊断利器之外
78 0
《使用Arthas 抽丝剥茧深入应用-线上诊断利器之外》电子版地址
|
SQL 网络协议 Java
最佳实践—如何快速定位及解决数据库问题
本文介绍了数据库发生故障时的快速判断方法和解决办法。
120 0
|
XML 数据采集 Web App开发
自动化测试/爬虫定位真难,那是你还没掌握XPath定位
自动化测试/爬虫定位真难,那是你还没掌握XPath定位
78 0
|
12月前
|
存储 人工智能 搜索推荐
硬件预算最高直降46倍!低成本上手AIGC和千亿大模型,一行代码自动并行,Colossal-AI再升级
硬件预算最高直降46倍!低成本上手AIGC和千亿大模型,一行代码自动并行,Colossal-AI再升级
251 0
|
Arthas 监控 Java
XPocket插件使用案例合集——性能问题排查分析,一个XPocket足以!
XPocket插件使用案例合集——性能问题排查分析,一个XPocket足以!
|
Web App开发 前端开发 网络协议
实践一下前端性能分析
最近在读一本经典书《高性能网站建设进阶指南》。 虽然书籍很多年前就出版了,但里面的内容还是耐人寻味,这次就好好的实践了一下。 纸上得来终觉浅,绝知此事要躬行,实践中将会发现一些问题。 有个官方网址《Even Faster Web Sites》,点击“Run the Examples”按钮,就能进入在线demo。 在Github上面有个叫awesome-wpo的项目,里面记录了各个方面关于性能的资源,有书籍、文章、工具等。 下面所有的实验都是在Chrome 49浏览器中执行的。
实践一下前端性能分析
|
数据采集 移动开发 监控
两把利器,轻松做好十一期间服务器监控保障
由于服务器需要7×24 小时运行,十一期间,为了切实做好服务器的重点保障,电源监控,必不可少。基于成本的考虑,我们决定自己做。如何多快好省,实现一个这样的平台呢?思路是通过服务器自带的远程管理模块读取redfish接口中电源功耗信息,然后采集到时间序列数据库,再通过grafana基于时间和ip做条件筛选做展示。这里就要用到两把开源利器Grafana和Influxdb。
两把利器,轻松做好十一期间服务器监控保障