一千多IP的网站,还需要怎么优化,推广一直说我们前端问题,百度抵达率40%左右
前端各位大神帮忙看看,一千多IP的网站,还需要怎么优化,推广一直说我们前端问题,百度抵达率40%左右,说是网站打不开,说下硬件:
一千多IP,机房是北京兆维机房,世纪华联最好的BGP多线30M独享,服务器10台,dell 620 顶配,
这个是详情页面: http://www.99mi.com/goods-234.html
就想求证是百度统计抵达率40%左右,是我们开发这边问题还是推广那边问题
Answers
先查问题
先看明面上的问题,进入网站10秒还是空白,其实这时候HTML早就下载下来了,主要问题是JS的加载和执行。JS文件放在头部,页面中有许多内联脚本执行,还有一些JS文件访问不到,直接hold住了页面,长时间的空白。没必要的JS文件都放到html底部去。应该能直接解决页面空白的问题。
再来看为什么有些JS文件加载那么慢,甚至有些加载失败。
先看是不是网络问题,利用Chrome开发者工具应该很容易看出来,如果是网络问题,要再看是机房问题,还是本来就慢,本来就慢就只能用CDN了。
网络没问题的话,再看机器负载,IO的情况,是不是因为访问人数多,资源有竞争,导致静态文件请求慢。如果是这样就要动静分离。10台机器,抽一台专做静态资源服务器都行。
其它的压缩什么的都是细节了,看瓶颈到底在哪。另外你这问题的场景也不明确,说是10台机器,10台机器都是Web机器么?把DB机器也算进来了么?一些大体的架构都要说下啊。
好慢啊!!!!!
定性的改进想法:
- ylow检查前端所有的速度问题
- 复审前端的构建和部署流程,保证高度自动化和充足压缩
- less一类的css预处理器会为自动化构建提供相当的便利
- cdn是你最好的朋友!如无十足必要,千万不要自己托管静态资源
- 压缩图片,尽可能地使用gif或8位png,24位png和jpg要慎重
- 长页面中图片lazyload延迟加载几乎是是必须的
cdn我特别的多提一句:如果你坚持使用自己的服务器分发静态文件,那么多少的带宽都不够你去挥霍。举个简单的例子:我国平均网络带宽4M,则不限速时30M只够10个人左右满速下载。如果他们都不能尽快结束通讯,而是需要像软件下载一样,每次都持久性的下载1M甚至几M的网页资源,那么你的服务器当然就会被迅速拖死。
使用cdn,对于多小多大规模的网站,一般都是对的。一般而言,使用cdn是常识,不用cdn才是需要评估的特例。 不使用cdn只有一个条件,那就是资源实在太多,流量实在太巨大,使得你自己建立静态资源分发系统去覆盖全国的一切成本,比cdn提供商提供的最优价格还要便宜。 ——我相信这个情况不适用于95%以上的非巨型网站。
首先你们网站硬件太浪费了。。。这个规模的时候,一般的VPS上,也可以很流畅。你这1000多的ip跟个人博客差不多的访问量啊,这么多硬件是咋用的。带宽也这么多。。。
再说说你们页面的问题。最大的问题,没有用cdn。你们首页全是图片都没几个字,咋不用cdn呢。而且你们的图片巨大无比啊两三百k,我这个答案写到这里了还没载入完呢。我的建议是
- 所有静态资源全部放在cdn上,而且看你们的土豪程度应该也不差钱,就上中国擦车网(chinacache)的吧
- 图片压缩,牺牲分辨率什么的没关系
- 延迟加载,没必一次把图片全部加载,可以参考淘宝或者京东的做法