网站内容分析报告( 为什么我们不去看看这些网站的技术架构是怎么样的呢?)

优采云 发布时间: 2021-11-09 10:04

  网站内容分析报告(

为什么我们不去看看这些网站的技术架构是怎么样的呢?)

  

  读者投稿:我一直在研究互联网技术,经常访问某某网站。心血来潮,不如我们去看看这些网站的技术架构是什么样的?研究源代码?所以有这个系列,我应该先找谁?找开心网的山寨版,这个开心网,不是开心网,哈哈。

  坦白说,我不想注册,也不想学习太多。一般来说,网站最重要的就是首页,好吧,那我们先从首页说起。

  本系列文章只是个人研究发布,仅供参考。

  分析工具:各种浏览器、firebug(基于Firefox的插件)

  开心网首页是一个简单的登陆页面,有385.2KB。开心网这么大的流量,每多出1kb就意味着每天赚更多的钱。我还没有找到官方PV或独立IP数据。让我们参考来自alexa的数据。预计日均独立IP为52.8万。我们估计每次独立IP访问都会登录一次。其实可能因为用户比较少。您可能已经在首页直接登录了(alexa的数据不是那么可靠,供大家参考)。

  开心网的网页每增加 1k 需要多少带宽?计算一下,我们需要528,000/1024=515MB/天的带宽,然后我们取平均值,根据用户一天24小时的平均访问量(实际上是不可能的,一般高峰访问量会比平均值高一倍以上),需要的带宽为每秒消耗528000/(24小时*60分钟*60秒)=6Kb,考虑到峰值,估计12k以上。

  看官方,像开心网这样简单的登录完全可以控制在100k以内。为什么需要这么多?一会就可以看到网页的分析了。这是什么概念?385-100=285k,然后计算带宽:285k * 12k / 1024 = 3.3M。好的,开心网每天需要增加3.3M的专属带宽。3.3M 的带宽成本是多少?我们以中端机房为例。北京中端的3M独立带宽需要3万到5万元。再加上CDN带宽,估计开心网每年需要增加5万到8万元。

  

  分析开心网存在的问题:

  1. Javascript文件直接写在网页上

  开心网登陆页面有大量javascript代码,一方面不利于维护,另一方面不使用用户加载页面。粗略计算,开心网登陆页面的javascript代码有180多行,但总代码只有336行,也就是说代码中的javascript代码占了1/2以上。

  2. 网页打不开gzip

  根据文件头返回的信息,开心网应该是在Linux上搭建了nginx。添加 gzip 应该不难,对吧?而对于 html 和静态 js/css 等文件,gzip 至少可以减少 50% 的传输量。在这种情况下,每年可以节省数百万美元的费用。

  当然,也有人会反对,认为gzip会增加服务器的压力,客户端解压时间和减小文件大小带来的传输速度不会有太大好处。但是我觉得对于静态文件,可以放在单独的服务器上,可以将文件压缩后放到缓存中,这样就不需要读IO了,响应速度会有所提升。同时,虽然用户的带宽已经在512k adsl以上,为什么我不能让用户更快地看到我们的网页呢?退一步说,用户真的关心这个快几秒,那我们为什么不能降低带宽压力来节省成本呢?如果把积蓄用来奖励员工,很可能会给我带来更多的惊喜。

  3. Javascript 不做任何处理

  开心网的javascript真的很有趣。他们的开发人员代码的质量还不错。至少评论写得很好。但问题是,您是否需要将这些评论发送给客户?开心是要教我们怎么写javascript代码吗?? 向客户端发送这样的代码,不仅占用带宽,还会泄露网站的代码。

  开心网的核心javascript文件xn.core.js有105k。注释占了很多代码。尝试用yahoo和google压缩工具压缩,但因为代码错误,无法完成,只好作罢。. 但是我估计这个js,最基础的去除空行和注释的压缩,可以缩小1/5左右的大小。如果有一些混乱,应该在40k左右,如果使用gzip,应该只有不到15k。

  4. 图片文件过大

  登录页面上有一个 157k sys-bj2.jpeg 文件。天啊,这么大 我下载了这张图片,发现其实是几张图片的组合。他们的设计者实际上是想减少对服务器的网页请求数量,因此他们将多张图片合并为一张。然而,他们的做法是错误的。

  我们想减少请求的数量。一般我们合并小图,一般是36px*36px以下的几k小图,而不是合并大图。由于小图片数量较多,大图片的合并也会增加图片的大小。我用ps优化了这张图,优化到了66k,但是没有发现明显的失真。所以我认为即使是大图像也可以优化到 80k 以内,而不是这样的 157k 图像。

  再说一句,这5张图片完全没有必要合并,最大的图片是600px*255px,最小的只有10px*10px以下。这种合并无益无害无益!

  总结

  开心网作为一个访问量很大的网站,网页结构很简单,应该尽量小一些,比如100k以内。从我的分析可以看出,主要问题集中在javascript、gzip和images上,代码质量一般可以接受。当然,我们不仅只是捡到了刺,还应该看到一些不错的地方,如下:

  1. 主页处理的不错,javascript虽然没有压缩,但是总大小只有108k

  2. 文件请求数较少。这与开心网有关。开心网不是结构复杂的网页网站,所以文件数量自然会少一些。

  3. 静态文件和网页分开部署

  4. Javascript 注释更好,但不应发送给客户端

  重要建议:

  1. 启用 gzip 压缩

  2. 压缩javascript和css,并缓存这些文件

  最后把这次的分析写到这里,只是一个事实,与任何网站及相关人员无关,哈哈。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线