`
13146489
  • 浏览: 246411 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

 
阅读更多
原文地址:http://sd.csdn.net/a/20110701/300875.html
【CSDN编译】导读:本文根据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,它的速度极快,对我来说,性能是一种特性,相比慢的网页我更喜欢快速的。因此我创建了一个网站,这也正是我想使用的。但是,我认为在公共互联网竞争环境中有一种东西永远值得我们去学习——即所谓的两种类型的网站:快速与停滞。
分享到:
评论

相关推荐

    Spring Boot与Netty:构建高性能的网络应用

    本文将详细探讨如何在Spring Boot应用中集成Netty,以构建高性能的网络应用。我们将首先了解Netty的原理和优势,然后介绍如何在Spring Boot项目中集成Netty,包括详细的使用流程和步骤,以及带有注释的代码示例。...

    Netpoll 是由 字节跳动 开发的高性能 NIO(Non-blocking IO) 网络库.rar

    这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 Kitex具有以下特性: 高性能: 使用自研的高性能网络库 Netpoll,性能相较 go net 具有显著优势。 扩展性: ...

    Redis是一款开源的高性能键值存储系统,由Salvatore Sanfilippo于2009年开发 Redis以其内存存储、高

    Redis的核心优势在于其内存存储的特性,这意味着数据的读写速度非常快,可以极大地提升应用程序的响应速度。同时,Redis支持多种数据结构,如字符串、列表、集合、有序集合和哈希等,这为开发者提供了极大的灵活性,...

    网易游戏高性能、分布式服务器开发框架 Pomelo.zip

    pomelo将填补这个空白, 打造一款完全开源的高性能(并发)游戏服务器框架。 pomelo的优势有以下几点: 架构的可伸缩性好。 采用多进程单线程的运行架构,扩展服务器非常方便, node.js的网络io优势提供了高可...

    精通Ajax_基础概念_核心技术与典型案例

    最后一部分通过几个大型的实例,让读者深入领会Ajax技术在实际网络项目中的优势,也让读者体验这种优势所带来的优越性能。  本书适用于初、中级网络开发者,对于高级开发人员也很有启发。没有接触过Ajax的入门者...

    HPIPS:高性能图像处理系统(高性能图像处理系统)

    高性能图像处理系统(高性能图像处理系统) 项目依托区块链的技术优势,和现有的AI技术的技术问题,展开核心技术攻克。主要的技术方向是重新构造OPENMPI协议,,打造一个共享的硬件平台协议,从而构建一个全球的超算...

    Springboot3+微服务实战12306高性能售票系统

    本章主要对课程为什么选择12306课程作为实战项目,以及该项目具备哪些亮点及优势做全面分析介绍,从而让大家了解课程设计的初衷以及要达到的目的。 收起列表 视频: 2-1 众多流行并发项目,为何选择12306? (07:34) ...

    PHP168sharpphp网站管理系统v6.5build20100916

    PHP168 Sharp 6.5框架是属于国内典型的CMS二代架构,无论在高性能、模块化、体系化、标准化这块具有独特优势。... 系统架构 核心 系统 模块 插件 系统高性能 系统核心的每一行代码,保持高效执行。开发

    主流双核微处理器技术分析及性能对比.

    台式机CPU技术发展到今天,双核心乃至多核心技术已经取代单纯的高频率大cache,成为处理器生产厂家用来吸引消费者眼球的全新杀手锏.本文对当前主流的台式机双核CPU所采用的技术架构进行全面的分析,力求对双核技术...

    腾讯区块链白皮书

    数字经济时代,腾讯区块链将以其高性能、高安全性、高速接入、高效运营等核心优势,在鉴证证明、智能合约、共享经济、数字资产等领域拥有多样化的应用前景,为合作伙伴提供金融级区块链基础设施的同时,也为用户提供...

    腾讯区块链白皮书(2018)

    数字经济时代,腾讯区块链将以其高性能、高安全性、高速接入、高效运营等核心优势,在鉴证证明、智能合约、共享经济、数字资产等领域拥有多样化的应用前景,为合作伙伴提供金融级区块链基础设施的同时,也为用户提供...

    腾讯:区块链方案白皮书

    数字经济时代,腾讯区块链将以其高性能、高安全性、高速接入、高效运营等核心优势,在鉴证证明、智能合约、共享经济、数字资产等领域拥有多样化的应用前景,为合作伙伴提供金融级区块链基础设施的同时,也为用户提供...

    分布式高性能日志复制服务 DistributedLog.zip

    作为一个日志服务,DistributedLog的优势可以总结为:高性能:面对大量的并发日志时,在可持久化的Writer上DL能够提供毫秒级的延迟,同时还能应对上千客户端每秒大量的读取和写入操作。持久化和一致性:消息会持久化...

    易汛asp.net企业网站系统v2009

    得力于微软不断完善、开发的 .NET 平台的新优势、高性能,为您网站的发展奠定了前沿尖端的技术基础。无论您的网站是刚刚建立,还是已经成长为信息门户,易汛企业网站系统.Net以其强大的可伸缩性始终

    型钢高强高性能混凝土节点承载能力试验研究 (2010年)

    高强高性能混凝土具有高强度、高弹模、高耐久性和高耐磨性等综合优势,但其脆性特性成为阻碍其工程应用的一个力学缺陷。为了研究地震作用下型钢高强高性能混凝土框架节点的承载能力,该文进行了5榀框架中节点的低周...

    易汛企业网站系统 v2009.rar

    得力于微软不断完善、开发的 .NET 平台的新优势、高性能,为您网站的发展奠定了前沿尖端的技术基础。无论您的网站是刚刚建立,还是已经成长为信息门户,易汛企业网站系统.Net以其强大的可伸缩性始终可以伴随您的左右...

    国民技术产品介绍Rev1.0.1.pdf

    公司近年来积极布局通用MCU产品,持续开展以先进工艺、低功耗技术、高性能和低成本优势为核心价值的通用 MCU 产品系列化设计研发工作, 国民技术产品竞争力方面,去年底发布的MCU新品及全系产品序列化路线采用32 位...

    凌力尔特推出集成型VCO的高性能分数N PLL LTC6948

    导读:凌力尔特公司 (Linear Technology Corporation) 推出一款具 6GHz+ 集成型 VCO 的高性能分数 N PLL LTC6948。 在 LTC6948 的核心是一个高级四阶 ΔΣ 调制器,其运用智能噪声整形技术以最大限度地抑制噪声成分...

    Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Rest

    极简、强大、高性能模板引擎 Enjoy,十分钟内掌握 90% 用法 自动加载修改后的 Java 文件,开发过程中无需重启服务 AOP支持,拦截器配置灵活,功能强大 Plugin 体系结构,扩展性强 多视图支持,支持 Enjoy、...

Global site tag (gtag.js) - Google Analytics