在这些年的中,我这里发现不低于20%的网站都存在着一个严重的抓取问题,但是奇怪的是,却始终得不到大多数人的重视。而研究透彻并分享这个问题的人,更是没有发现。今天这篇文章,我们就来看一下这个问题。
什么问题呢?
连接超时,或者抓取超时,如果你的网站出现过这个问题,至今没有处理到位的,就把这篇文章转载一下吧。
很多人说,不就是几十次的超时吗?有什么大不了的,如果这样认为,那么真的是活该网站做不好了,正常的网站是什么样的呢?我们来举个例子:
这是一个权重4的站点,哪怕十多万次的抓取,却仍旧没有出现过一次的抓取错误!如果你的每日抓取错误量超过10次(十天半个月就出现一次错误,或者连续多天出现的),就真的应该严肃处理一下这个问题了,因为当前问题的存在,已经长期的制约了网站的发展上限,甚至因为这个问题,诱发网站的降权,都一点不奇怪。
为什么会出错?
有人说,不用理会,这就是一个bug,因为我在网站的log日志中,并没有发现这个问题。之前在百度站长的vip群里,有人这样解释过。但是我想说的是:百度无法抓取到网站,你的网站log日志,能统计到这样的错误吗?所以,上述解释是完全说不过去的。
那么,为什么会出现这样的错误呢?
a,dns问题,无论是蜘蛛还是用户访问网站,首先就需要域名的dns做了正确的解析,然而解析是解析了,你能确定dns真的稳定吗?不少站点的错误,正是因为dns不稳定而造成的。尤其是那些又做域名注册,又搞‘域名抢注’的平台,这样的平台,更容易出现dns解析不稳定的情况,尤其是在抢注高峰期。具体哪些品牌,这个就不点名了,如果你的域名在这些平台中,贺贵江强烈建议你将其转出。
b,页面太大,有一些网站的部分页面达到了四五六七八兆的情况,甚至还见过极少的网站出现过一个页面有10mb大小。这样的页面,更容易出现链接超时。正常情况,并不建议网站的页面大小超过3mb,同时建议网站服务器启用gzip压缩。
c,带宽不足,这是一个很常见的情况,不少站点出现链接超时都是因为带宽不足而引发的。我们知道1m的带宽峰值下载是128kb,如果网站是1m接入,页面大小是256kb,如果同时2个人在打开页面,那么就需要4秒才可以下载完毕。如果带宽是2mb,页面大小是1024kb,一个人打开网站需要8秒,可如果是10个人同时打开呢?所以带宽这里,一定要做足。站长或者企业都应当观察一下站点的平均带宽,以及峰值带宽情况,如果经常出现‘带宽峰值’类型的访问,那么就一定要升级带宽了。
d,首字节时间,可能很多同学没有听说过这个问题,它指的是从发送请求到web服务器的时间+web服务器处理请求并生成响应花费的时间。有一些站点,首字节时间居然都可以达到5ms,这样的情况,网站还能正常吗?
1、对于首字节时间这里,我们应当注意:避免网站与其他网站共享同一个服务器其他网站会占用自身网站服务器处理时间。
2、cdn减少内容和访问者之间的“距离”将静态内容分发到cdn,cdn的内容自动复制到各个位置,在地理上更接近用户,从而减少ttfb的时间。注意的是,已定要设置‘缓存时间’针对于网站访问较慢的页面或栏目。
3、避免网站使用虚拟主机系统如网站在一段时间未有流量产生,系统会推迟或暂停虚拟服务器,当新访客进入时,将重新进行服务器备份处理(10s或更长时间);
4、后端优化软件性能减少服务器生成的响应到浏览器的时间,比如:操作码缓存、服务器端缓存、本地缓存、w3总缓存等。
最后,我们总结一下:
首先是为网站找一家靠谱的dns服务商,我们建议是阿里云,其次是稳定的cdn服务商,阿里、百度智能云、腾讯云,都可以。最后就是网站服务器,尽量不要选择使用虚拟主机,且尽量避免多个站点使用相同服务器。
作者:贺贵江
来源:卢松松博客,欢迎分享