网站打开慢可能性以及排查

2016-02-19 15:44:36 2271


一.网络问题

1.临时性

    检查:pingmtrdigtracert等命令,检查网络状态,dns

    解决:如果网站忽快忽慢,有可能是网络不稳定造成的,请先检查自己的网络状况

    eg:http://www.landui.com/查看各地的响应时间

2.网络不通或机房太远

    检查:客户端和机房所在网络情况

    解决:换用双线机房空间,如果您的站点是美国或者香港那么这些机房相对于国内空间要慢一点点.

3.资源加载慢或者打不开

    如果您的后台打不开或者ftp上传图片出现问题并且您在我司购买了虚拟空间这很大可能是您的空间满了或者您购买的空间套餐流量用尽.

4.如果您的域名是在我司购买,续费后发现网站忽快忽慢那么这是由于dns还不稳定所造成的,稍等两天左右趋于正常.

.前端问题

1.您使用的浏览器不佳

2.页面设计不佳,图片太大

    检查:浏览器解析时间,js有问题等

    解决:优化页面代码,检查图片大小

三.服务端问题

1.服务器状态

    检查:负载,CPU,网络,内存,磁盘空间等使用情况,iis是否做了流量限制,服务器带宽是否跑满,如果带宽跑满请升级您的带宽.

    操作:可以尝试重启下服务器释放内存。根据检查的结果有不同的方案.

2.php响应慢

(1)检查

    用Xdebug,Webgrind等调试工具调试源码

    检查webserver日志中的响应时间

    如果服务器整体负载不高,但PHP的数据返回时间过长,在PHP代码中分段输出处理时间

    如果是高访问量的在线调试,一般选取一定比例记录日志,防止日志过多带来的额外系统开销

    调试指导思想:逐步缩小范围,定位、优化

(2)平常开发原则:

    编写代码注重效率,尽可能占用更少的资源

    缓存复杂和耗时运算的结果

    用apc或者xcache等缓存PHPopcode

    能异步处理的任务不要马上处理,如发邮件

    依据资源情况对FastCGI配置合适的参数

    负载均衡器设好阀值,不要无限制的给后端压力

    接口api设置过期时间,1秒内等

(3)尝试安装高版本的php

3.db响应慢

(1)读取慢

    检查:慢查询日志;

    show processlist查看当前db状态

    如果是linux系统用top命令查看mysql进程开销,如果是windows系统可以在任务管理器中查看cpu,内存等使用情况

    解决:

    手动执行可疑sqlexplain,profile等工具分析sql性能,在考虑是否优化索引,或者分库分表,或者增加缓存

(2)写入慢

    检查:iostat检查磁盘IO,查看mysql binlog的写入速率

    解决:增加缓存,分库分表,优化索引,从业务逻辑上考虑减少db操作,合并写入

4.内部网络消耗太大,比如其他站点消耗流量影响到其他站点,可以对相应的站点进行限制


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: