说实话,比起网站打不开,网站访问慢更让人抓狂。因为造成网站访问慢的因素太多了,一般用户根本无从下手!
但是,今天遇到了师长!!任他千头万绪的问题,从以下三个方面入手,也能轻松破解访问慢的大难题
响应时间、执行时间、加载时间
一、响应时间过长
1.dns解析慢
DNS解析缓慢在影响网站访问的因素中,只是小概率事件。相对来说,本地DNS故障比较常见。
排查方法:通过ping命令ping一个域名,如果几秒后未返回是否解析成功记录,那么就可判定为DNS解析缓慢。如下图:
解决方法:修改本机dns或联系本地网络运营商(电信、联通、移动)调整
影响指数:★☆☆☆☆
2.建立链接慢
当我们获取到服务器IP后,客户端和服务器建立连接,这个链接的速度与质量取决于线路的优劣。最常见的问题就是跨线路访问,地理位置相差很远的访问,中继网络异常等。
排查方法:如果ping一个网址,存在大量丢包或者很高延迟(国内ping延迟超过50ms),就会导致访问的连接线路异常。如下图:
如果网站禁ping了,推荐使用tcping测试端口(该命令所需软件需要下载,添加到系统环境变量中)
解决办法:可通过cdn加速,如果是线路短暂的不稳定,可等待线路调整,或尝试重启路由光猫,但不一定能能彻底解决。
影响指数:★★★☆☆
二、执行时间慢
1.服务器响应慢
当一个服务器健康运行,这个时间几乎可忽略,但是如果服务器不那么健康,比如CPU,内存,磁盘IOPS,带宽,只要一个达到瓶颈的服务器就是亚健康,将直接影响访问速度。
排查方法:如果此前访问很快的网站访问突然变慢了,在网络无问题的情况下,云主机可查看内部资源使用情况(推荐使用zabbix等对各项资源做监控);虚拟主机则可通过执行简单命令或直接访问图片来判断服务器资源占用情况。
解决办法:对服务器资源进行升级
影响指数:★★★★☆
2.程序执行
排查难度略大,一旦出现将会严重影响访问速度。
排查方法:这需要程序员朋友亲自上阵调试了,常见于程序死循环,数据库死锁等。
解决办法:调试程序,将动态页面静态化,如果是wordpress程序,可安装缓存插件,如wp super cache。
影响指数:★★☆☆☆
3.数据库
虽然大部分程序执行慢才是罪魁祸首,但因为数据库问题不常出现,并且具有很高的程序特异性,很容易被忽略。
排查方法:
a、检查程序数据库连接字符串,最佳的方式是数据库与主机使用内网ip或者localhost连接,如果是公网,请务必确认是同机房!
b、又要辛苦dba程序员朋友了,mysql建议开启慢日志或者通过数据库root帐号登录,使用show full processlist;获取到正在执行的查询语句,对其进行explain分析。
解决办法:
对于mysql,可通过建立索引,牺牲部分空间来换取时间。
对于sqlserver,可使用自带的活动监视器,可查看到cpu使用高以及耗时高的语句进行优化(如建立索引)。
另外,从硬件方面着手的话,升级SSD固态硬盘能解决该问题。
影响指数:★★★☆☆
三、加载时间慢
加载时间慢可以说是最明显、最大程度影响访问速度的因素了。当用户访问一个网站时候,服务器会向客户端发送大量的内容,这会占用大量的服务器带宽。带宽就是最常见也是最直接影响打开的因素。
很多朋友可能搞不太清楚带宽到底怎么算,这里科普一下,小编以一个10M(兆)带宽的服务器为例。带宽换算成我们平时最直观的速率,是有一个公式的,大约为:(带宽*1000)÷8
排查方法:
当我们在任意浏览器打开网站后,按下键盘上的F12按键(隆重推荐),会出来如下图的一个 工具栏,一般在浏览器底部。如果这时切换到“Network”栏,可以勾选“Disable cache”或者按CTRL+F5 刷新页面,会将重新加载整个网页,并且不使用缓存。此时各个加载项就会一一展示在下方了
我们可以清晰的看到每个文件的加载时间,如果有特别长时间加载不出来的就是有问题的。
加载的常见异常情况如下:
a、网站中的坏链:404地址,会导致持续加载不出(会在资源中以红色出现)
b、外链地址:调用的外部网站地址,加载外链很慢导致网站整体加载慢(非常常见,一般在time栏时间长达几秒的),比如一些网站调用了谷歌的字体,因为谷歌在国内打不开,导致网站一直加载不出字体。
c、大文件:很多站长直接将单反原图放在网站首页,会直接导致访问慢。
解决办法:
a、定期检查网站加载项,删除修复其中的坏链,外链建议修改成程序本地调用,减少加载项数量(截图中的requests项)
b、压缩网站首页大小,小编推荐首页越小越好,一般应该控制在3M内,这样能同时间承受更大的访问量,访问速度也更快
c、提升服务器带宽(小编昨天有介绍一款4核8G5M云服务,才900元/年,还是一线厂商)
影响指数:★★★★★
联系网站技术支持解决网站访问慢等问题
a提交工单:工单需附上原因排查的ping截图、网站访问报错截图、路由跟踪截图
b打电话:一般大的主机商都有24小时故障报修电话,建议先提交工单,因为电话客服也会让你下单的。
PS:网站的加载速度,目前主要瓶颈还是在程序和服务器配置方面,在网站程序无严重问题的情况下,找出服务器的瓶颈(CPU、内存、带宽、网络性能)就能大大提升网站访问速度。
恰饭
恰好赶上阿里云拉新活动,还剩下30个小时就结束。真的是特别优惠。
活动地址:/FFO3gJMg
其中师长认为最优惠的三款如下如下:
1核2G1m:89/年,229/3年(没啥浏览量的博客可以用这个,学生入门机)。
2核4G3m:799/3年,七星!我买的是这款,平时需要三千多。
2核8G5m:1399/3年,五星!0.7折。这款也是超高性价比!
有需要的可以下手啦。
如果是老用户怎么购买?
1、如果你已经在阿里云购买过服务器,可以进入活动页面后登录亲友的淘宝、支付宝账号。
2、建议从登录到付款账号都由亲友的账户来操作,最后把钱通过支付宝或微信转给他就可以了。
3、购买后,将账户的手机号码换成您的另一个号码就可以了。(不可以是老账户绑定的手机号)
还有什么疑问,欢迎在下方给小编留言,这里有很多头条的IT粉丝们在围观,大家都会热心帮助你的。
再说点心里话
有的人看到我推荐云服务器,就会说,喔原来是个卖服务器的,更有甚者更是开始辱骂。我觉得很搞笑,这些人在我眼里也是傻x。
第一,做自媒体肯定要想办法变现。不然难道用爱发电写文?我坚持做了两年多技术自媒体,原创150篇以上。如果赚点小钱都偷偷摸摸,那我坚持700个日日夜夜干嘛?
第二,阿里云是国内最稳定的云服务器,质量有保证。像什么京东云等等不是没有活动,也不是没有找我,只是我认为,卖东西,推荐目前质量最好的,取之有道准没错。
第三,阿里云双12活动,新人价是全年最低,你有需要就买,比平时原价省钱太多了!
你以最优惠价格买到质量最好的云服务器,而我最低配就赚个20来块,阿里云完成年底kpi,本是三方受益的事情。而没需要就关掉就好了。没人强求你干嘛。所以,我就卖个云服务器怎么了,哈哈