网站高性能的核心优势该如何打造

news/2024/5/11 20:42:44/文章来源:https://blog.csdn.net/dinglang_2009/article/details/6958638

导读:本文根据Jeff Atwood的博文《Performance is a Feature》整理编译而来。作者就如何创建高性能网站分享了一些经验。现整理出来与大家分享。


很多数据表明,网页打开和下载的速度越慢,用户越不愿使用。

从Google搜索中可看出,当页面显示10个答案需要用时0.4秒,而页面出现30个结果需要用时0.9秒,仅仅半秒钟导致下降20%的传输,半秒钟的延迟同时降低了用户的满意度。

我相信反过来也是如此,即网站速度越快,就会有更多的人愿意使用它。这是一个逻辑:页面速度载入的越快,用户就能越快可以辨别这个页面是否包含了想要的东西。因此,他们总是愿意浏览快速的网站。不管这些内容是否是用户要寻找的,当然也有类似的经验,可提供多个网站。那么如何辨别呢?首先,它得存在,速度要快。

你是否觉得这有必要如此对速度的需求?如果是这样,我有三点建议与大家分享。

按照雅虎的指导方针

为建立快速的网站黄金参考标准,雅虎2007年为网站提高速度的13个简易规则。

这里有一些好的建议,如果运行某一个网站,每天可拥有数百万的用户。

因为我四年前写的这个,发生了一些有趣的事。我现在经营一家公共网站,技术问答社区,日常访问量可达到数百万用户。当然它也取决于网站规模的大小。 如果你想经营一家公共网站,你真的应该熟读雅虎的清单,用心领会每一行或者借助于工具,它们都会帮助你改变网站的性能:

Yahoo YSlow

Google Page Speed

Pingdom Tools

一直以来,我们对雅虎的列表实施超过13项,除了一个:Using a Content Delivery Network。作为最后一步的优化,我们刚刚推出了为所有静态内容的CDN,结果是令人兴奋的,我们的数据中心在NYC, 因此,可以说成“在世界上的某个区域我们的网站为用户提供的有多快速?”。

从技术的准确度利益上讲,静态内容不支持图片特性,用户必须通过我们的NFC服务来获得动态内容,但是90%的访问者都是匿名的,只有36%的流量来自于美国。雅虎的研究表明,40%---60%的日常访问者用一个空的浏览器来缓存,而能够优化这个全球冷门缓存性能是个巨大的胜利。

由于关于雅虎的性能调整,而且都是免费的小工具,导致我们不会继续推荐CDN,与其他公司相比类似亚马逊、NetDNA和CacheFly等,自从2007年以来使用CDN也受益很多。因此。在时机成熟时,把雅虎列表当做一种信仰来工作吧。

重视(优化)匿名和注册用户

目前我们的主要信息来源于匿名用户,通过他们的搜索引擎以及其他方式获知。

这是典型的“write once, read – and hopefully edit – millions of times.”,同时我们也因社区活跃用户使网站内容更加丰富多彩。我们一直在改进新的性能,这也就意味着我们将提供JavaScript 和HTML甚至更多服务。通过下载量上就可以在用户之间辨别出哪些用户每天在网上,哪些用户是一个月或者是一年才浏览网站。

两种类别都很重要,针对不同的需求。匿名用户偏爱优化浏览器速度。而社区用户则更关心内容资源。两种类别互相依赖,并需要不同的对待。我们设计和优化两个用户类:匿名用户和注册用户。下面是我随机挑选的谷歌Chrome浏览器用户使用情况:

我们尽量减少匿名用户使用HTML, CSS and Javascript这样网页速度更快。我们在用户输入大区域设置一个基本功能“rez in”类似编辑功能,对注册用户来说,空间容量必须足够大,同时我们也为大多数的社区用户增加功能,避免损害匿名用户的丰富体验。

Make Performance a Point of (Public) Pride 作出性能优势

现在,我们已经完全使用雅虎的性能指导,并确保对匿名用户提供最基本的必要的服务。

当谈及网站性能时,就会想到一个基本的定律:你永远无法让网页服务的速度比在服务器上渲染网页的速度快。我知道这一点,但是我得告诉你,如果在一年左右的开发进程中没有注意到几百毫秒的差别,就会很容易会落入陷进。当某天,你回转过来,发现你的网页以一个非常奇异的速度呈现在服务器上了。这是一个了不起的速度,甚至你在网络上传输第一个字节时,网页已经打开!

这就是为什么作为一名开发人员,需要在每一个独立页面右上角设置性能。同时,这正是我们用MVC Mini Profiler来促进开源,而在把每一页的右上角服务器渲染时间的简单行来迫使我们解决我们所有的性能衰退和遗漏。

注意你可以点击SQL上的链接,看看每一步实际运行的时间有多久。你也可以把链接分享给你的伙伴们,开发出该运行分析器数据中的弊端。它适用于AJAX请求,之前我所提到的开源MVC Mini Profiler是完全巨大的,如果此时你在.NET上,你应该去核实下。

随着开发团队为大家所呈现的渲染出的页面,所作出的性能优势,很多地方由于一点点马虎而导致页面不相称,大部分性能是凌乱的,甚至无法进行重建,对用户来说事情也变得更加简单,快速。

它会正常运行吗? ILAsm正常运行:

这是抓取Google页面下载时段;从表上反映出完整的页面需要载入的时间:

当然,服务器页面所呈现的时间仅仅是性能的一部分,它取决于的时间你从哪段开始。我不能保证页面呈现的时间段能帮助我们多少,但作为一个开发团队,应该建立一个引人注目且又快的网站。我们的网站算是比较快的,但即使是像我们这么快的网站,因为这个简单的变化我们也受益很多。

性能改变不是简易之事,这是一个漫长而又艰难的道路,我们已经朝着好的硬件方向不断的改变着。

我清楚的记得,2000年从AltaVista系统切换到Google,它的速度极快,对我来说,性能是一种特性,相比慢的网页我更喜欢快速的。因此我创建了一个网站,这也正是我想使用的。但是,我认为在公共互联网竞争环境中有一种东西永远值得我们去学习——即所谓的两种类型的网站:快速与停滞。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717114.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站提高速度的13个简易规则

本文为译文,原文地址:http://www.codinghorror.com/blog/2007/08/yslow-yahoos-problems-are-not-your-problems.html YSlow: Yahoos Problems Are Not Your Problems I first saw Yahoos 13 Simple Rules for Speeding Up Your Web Site referenced in …

大型网站图片服务器架构的演进

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足&am…

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展&#xff…

大型网站架构体系的演变(下)

接着上篇的继续在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。几乎主流的大中型互联网公司,都会有用到类似的架构&#…

细说缓存在大型网站架构中的应用

缓存的基本知识 在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。 在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质…

.net 调用其它网站第一次总是访问失败_大型网站核心架构之高可用(四)

网站可用性的度量与考核网站可用性度量 网站不可用也被称作网站故障,业界通常用多少个9来衡量网站的可用性,比如QQ的可用性是4个9,即QQ服务99.99%可用,这意味着QQ服务要保证其在所有的运行时间中,只有0.01%的时间不可用…

c++怎么从主网页中读取子网站_如何用C++写一个网站

1.前言用各种语言写过一些网站之后,我不禁开始好奇,C能不能写网站呢,实际上想到这个问题的时候,我就大致有了答案。本文中我们将尝试用C写一个简单的网站,探索一些细节性的问题,并报告用C写网站的体验如何。…

基于Springboot的大学生招聘网站系统

1.项目简介 1.1 系统研究背景 伴随着中国经济的飞速发展,城市化进程的加快,求职者队伍的不断壮大,传统人才招聘的弊端初露端倪。首先,传统人才应聘的形式是求职者和企业的负责人面对面地交流。这就需要企业和求职者提前规划自己…

Springboot+vue项目体用用品销售商城网站

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,体用用品销售商城网站当然也不能排除在外。体用用品销售商城网站是以实际运用为开发背景,运用软件工程原理…

Springboot+vue项目点餐平台网站

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 本系统主要实现了管理员:首页、个人中心、用户管理、菜品分类管理、菜品信息管理、菜品评价管理…

Springboot+vue项目音乐网站与分享平台

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 音乐网站与分享平台的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中…

Springboot+vue前后端分离的租房网站

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 本系统有管理员;首页、个人中心、用户管理、房屋类型管理、房屋信息管理、预约看房管理、在线签约管理、租赁…

SpringBoot+vue实现前后端分离的宠物销售商城网站

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 使用框架:springbootvue JDK版本:jdk1.8 本选题则旨在通过标签分类管理等方式,实现管理员:首页、个人中心、用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理…

SpringBoot+vue实现前后端分离的垃圾分类网站系统

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 使用框架:springbootvue JDK版本:jdk1.8 本论文主要论述了如何使用JAVA语言开发一个垃圾分类网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S…

SpringMVC+Vue项目旅游资源网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 旅游资源网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管…

SpringMVC+Vue项目中国风音乐推介网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 近年来,随着我国经济的不断发展,平台的管理制度越来越多。每个音乐推介网站也都将通过计…

SpringMVC+Vue实现前后端的志愿者招募网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 志愿者招募的需求和管理上的不断提升,志愿者招募网站的潜力将无限扩大,志愿者招募网站在…

SpringBoot+Vue项目漫画网站

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

SpringBoot+Vue+Element-UI实现校园新闻网站

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

SSM+Vue+Element-UI实现移动电商网站

文末获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器&am…