网站打开太慢可能性及排查分析

一、网络问题

1、临时性

检查:ping, mtr,dig,dig+trace 等命令,检查网络状况,DNS等 解决:联系机房或视具体情况而定 eg:http://ping.chinaz.com/ 查看各地响应时间

2、网络不同或距离太远

检查:客户端和机房所在网络情况 解决:双线机房或分布式部署,动态DNS,需要考虑成本

3、资源加载慢

检查:chrome控制台 解决:CDN,合并请求,压缩页面代码,多域名请求(http协议中有对浏览器并发请求连接数的限制,IE是10,火狐 chrome是6)等

二、前端问题

1、浏览器太烂 2、页面设计不佳

检查:浏览器解析时间,是否DOM节点过多,JS有问题等 解决:优化页面代码

三、服务端问题

1、服务器状态

检查:负载,CPU, 网络,内存,磁盘空间等使用情况,日志切割 如果单台服务器性能受限,考虑调整为分布式架构,如nginx转发,DB分库分表等

2、PHP响应慢

用Xdebug,Webgrind等调试工具调试源码 检查webserver日志中的响应时间 如果服务器整体负载不高,但PHP的数据返回时间过长,在PHP代码中分段输出处理时间 如果是高访问量的在线调试,一般选取一定比例记录日志,防止日志过多带来的额外系统开销 调试指导思想:逐步缩小范围,定位、优化 平常开发原则: 编写代码注重效率,尽可能占用更少的资源 缓存复杂和耗时运算的结果 用apc或者xcache等缓存PHP的opcode 能异步处理的任务不要马上处理,如发邮件 依据资源情况对FastCGI配置合适的参数 负载均衡器设好阀值,不要无限制的给后端压力 接口api设置过期时间,1秒内等

3、DB响应慢

读取慢 检查:慢查询日志; show processlist 查看当前DB状态,看哪些请求停留较多 top查看mysql进程的开销 代码中记录SQL和执行时间 解决: 手动执行可疑SQL(注意排除query cache的影响),用explain,profile等工具分析SQL性能 再考虑是否优化索引,或者分库分表,或者增加缓存 写入慢 检查:除读取慢的检查方法外,还有 iostat 检查磁盘IO 查看mysql binlog的写入速率 解决:增加缓存,分库分表,优化索引,从业务逻辑上考虑减少DB操作,合并写入

4、内部网络消耗太大 5、其他

被攻击,webserver进程数受限,甚至内网流量过高等原因,都有可能导致访问缓慢,具体情况具体分析

文章来源:http://www.aiphper.com/archives/172

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2016-02-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉与深度学习基础

解决win7系统不支持16位实模式汇编程序DOS运行的问题

这学期学习了汇编,在自己电脑上发现,win7的dos不支持16位实模式。 对编程来说,不能运行程序是致命的。 在经过网上搜集资料后,得到一种解决办法--使用do...

2528
来自专栏云计算

Linux性能分析工具与图形化方法

在项目开发中,经常会遇到程序启动时间过长、CPU使用率过高等问题,这个时候需要依靠性能分析工具来定位性能的消耗点。

2.3K31
来自专栏张善友的专栏

系统进程管理工具Process Explorer

系统进程往往是不少读者操作的“禁区”,其实借助一些功能强大的工具即可消除对该禁区的恐惧。Process Explorer就是一款系统进程管理工具,它不仅能方便地...

2557
来自专栏听雨堂

异步Socket处理的一些测试值

客户端进行发送,服务器端将相同的数据回发到客户端。记录收发的次数。 1. 如果进行较大规模的UI处理(在TextBox中显示接收内容),将会大大降低响应时间,...

2365
来自专栏信安之路

Linux需要谨慎使用的几个命令

运维人员经常接触的Linux系统比较多,在Linux下的管理与操作通常都是通过命令行的方式对服务器进行操作,为了操作安全,有些命令的危害是特别大的,需要谨慎使用...

1021
来自专栏hadoop学习笔记

超详细hadoop系统安装教程(附步骤)

在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。

1633
来自专栏编程微刊

[慕课笔记] node+mongodb建站攻略

2525
来自专栏

即时通信服务器架构的一些思考

对于一个即时通信服务器来说,在用户量少的时候,一台服务器就足以提供所有的服务。而这种架构也最简单,举个例子,用户A与用户B互为好友,A向B发消息,服务器接收到消...

2859
来自专栏

即时通信服务器架构的一些思考

对于一个即时通信服务器来说,在用户量少的时候,一台服务器就足以提供所有的服务。而这种架构也最简单,举个例子,用户A与用户B互为好友,A向B发消息,服务器接收到消...

2385
来自专栏云计算教程系列

如何使用ntopng监控您的网络

ntop 是最好的网络监控工具之一。ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页...

5154

扫码关注云+社区

领取腾讯云代金券