`
szjian
  • 浏览: 72555 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

网站的高性能架构

阅读更多

一、Web前端性能优化

1、浏览器访问优化:

减少http请求:合并CSS、合并JavaScript、合并图片。将浏览器一次访问需要的JavaScript、CSS合并成一个文件。

使用浏览器缓存:对于一个网站而言,CSS、JavaScript、Logo、图标等这些静态资源文件更新的频率都比较低,将这些文件缓存在浏览器中,可以极好地改善性能。

启用压缩:在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效减少通信传输的数据量,一般文本的压缩效率可达80%以上。

CSS放在页面最上面、JavaScript放在页面最下面:浏览器在加载JavaScript后立即执行,有可能会阻塞整个页面,造成页面显示缓慢,因此JavaScript最好放在页面最下面。

减少Cookie传输:太大的Cookie会严重影响数据传输,因此哪些数据需要写入Cookie需要慎重考虑,尽量减少Cookie中传输的数据量。

 

2、CDN加速

将数据缓存在离用户最近的地方,使用户以最快速度获取数据。CDN能够缓存的一般是静态资源,如图片、文件、CSS、Script脚本、静态网页等,但这些文件访问频度很高,将其缓存在CDN可极大改善网页的打开速度。

 

3、反向代理

当用户第一次访问静态内容的时候,静态内容就被缓存在反向代理服务器上,当后续再访问该静态内容时,就可以直接从反向代理服务器中返回,加速Web请求响应速度,减轻Web服务器压力。

 

二、应用服务器性能优化

1、分布式缓存

A、缓存的基本原理:缓存指将数据存储在相对较高访问速度的存储介质中,以供系统处理。一方面缓存访问速度快,可以减少数据访问时间,另一方面如果缓存的数据是经过计算处理得到的,那缓存还起到减少计算时间的作用。缓存的本质是一个内存Hash表,数据以一对Key、Value的形式存储在内存Hash表中。

B、合理使用缓存:

频繁修改的数据:频繁修改的数据,不适合放在缓存中,否则只会增加系统负担

没有热点的数据:只将经常被使用的热点数据存入缓存中才有意义,否则大部分数据还没有被再次读取就已经被挤出缓存

数据不一致与脏读:应用要容忍一定时间的数据不一致

缓存可用性:缓存服务重启或崩溃时,数据库将会面临很大的压力而导致网站不可用

缓存预热:可以在缓存系统启动时,把热点数据预先加载好

缓存穿透:如果因为不恰当的业务、或者恶意攻击持续高并发地请求某个不存在的数据,由于缓存没有保存该数据,所有请求都会落到数据库上,会对数据库造成很大的压力。对策是可以将不存在的数据也缓存起来。

C、分布式缓存架构:

以JBoss Cache为代表的需要同步的分布式缓存:集群中所有服务器中保存相同的缓存数据,当某台服务器的缓存数据有更新时,会通知集群中其他机器同步更新,系统代价较高。

以Memcached为代表的不互相通信的分布式缓存:应用程序通过一致性Hash等路由算法,选择缓存服务器远程访问缓存数据,具有良好的伸缩性。

D、Memcached:

简单的通信协议:

丰富的客户端程序:支持所有主流的网站编程语言,如:Java、C、C++、C#、Python、PHP等。

高效的内存管理:固定空间分配方法。

互不通信的服务器集群架构:

 

2、异步操作

使用消息队列将调用异步化,可改善网站的扩展性。通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务。

 

3、使用集群

使用负载均衡技术为一个应用构建一个由多台服务器组成的服务器集群,将并发访问请求分发到多台服务器上处理,避免单一服务器因负载压力过大而响应缓慢,使用户请求具有更好的响应性。

 

4、代码优化

多线程

资源复用

数据结构

垃圾回收

 

 

三、存储性能优化

 

分享到:
评论

相关推荐

    大型网站技术架构:核心原理与案例分析PDF电子下载.txt

    网站高性能架构5.网站的高可用架构6.网站伸缩性架构7.网站的可扩展架构8.网站的安全架构9. 淘宝网的架构演化案例分析10. 维基百科的高性能架构设计分析11.海量分布式存储系统Doris高可用架构设计分析12.网购秒杀...

    千万PV高性能高并发网站架构图

    一例千万级pv高性能高并发网站架构图,包括CDN、全局负载均衡、本地负载均衡、内网DNS、集群、Hadoop集群、数据库集群、缓存集群、NOSQL集群等

    国内某知名网站架构分析

    新近资料,等待自己能力达到一定程度再与大家分享观点哦!

    大型网站架构-高性能网站架构

    大型网站架构环境 包括大型网站使用的环境和大型经过发展后采用的策略

    网站架构及高性能并发服务器设计

    很早之前开始收集整理的网站架构及高性能并发服务器设计的一些好的案例及实际优化经验。 实际优化经验:  初创网站与开源软件 6  谈谈大型高负载网站服务器的优化心得! 8  Lighttpd+Squid+Apache搭建高效率...

    大型网站技术架构:核心原理与案例分析

    4 瞬时响应:网站的高性能架构 5 万无一失:网站的高可用架构 6 永无止境:网站的伸缩性架构 7 随需应变:网站的可扩展架构 8 固若金汤:网站的安全架构 第3篇 案例 9 淘宝网的架构演化案例分析 10 维基百科...

    高性能网站架构设计之缓存篇

    高性能网站架构设计,针对缓存做出的调整。

    分布式 大型网站架构 高性能mysql

    大型网站技术架构:核心原理与案例分析 分布式服务框架原理与实践_李林锋著 高性能MySQL(第3版) 等pdf文档

    构建高性能的网站(腾讯架构师指导您)

    从前台,服务器端缓存,客户端缓存,负载均衡的详细做法,不容错过的好书

    雅虎公司内部资料 - 高性能网站架构

    来自yahoo公司内部的高性能网站架构实践。

    高性能高并发服务器架构

    高性能高并发服务器架构 ——————————————————————————————————————— 初创网站与开源软件 谈谈大型高负载网站服务器的优化心得 Lighttpd+Squid+Apache搭建高效率Web服务器 ...

    大型B2C网站高性能可伸缩架构技术探秘

    大型B2C网站高性能可伸缩架构技术探秘

    如何构建高性能web网站

    如何构建高性能web网站课程目录:【】《高性能Linux服务器构建实战Ⅱ》全书源码包和实例代码分享【】决战Nginx 技术卷:高性能Web服务器部署与运维【】高性能Linux服务器构建实战-高俊峰(完整)【】高性能网站构建...

    高性能高并发服务器架构大全

     网站架构的高性能和可扩展性 233  资料收集:高并发 高性能 高扩展性 Web 2.0 站点架构设计及优化策略 243  CommunityServer性能问题浅析 250 鸡肋式的多站点支持 250 内容数据的集中式存储 250 过于...

    高性能并发服务器架构

    一篇不错的高性能并发服务器架构电子书(因为我没有多少分了,所以这次把下载分调高了点,别拍砖。其他网站应该也能下到,如没有分的朋友也可以去其他地方找找),PDF格式的

    前端 高性能 后台 架构师

    附件包含两个文档,分别是:[大家网]高性能网站建设指南[www.TopSage.com].pdf 和 [软件架构设计:程序员向架构师转型必备(第二版)].温昱.扫描版.pdf

    高性能网站构建实战.zip.002

    高性能网站构建实战.zip.002 高性能网站构建实战.zip.002

    高性能网站构建实战

    , 《高性能网站构建实战》是作者多年Linux系统架构和运维经验的总结,兼具宏观性知识介绍和具体性实践技能,适合对系统架构、性能维护感兴趣的初级、中级读者学习,对于有经验的系统架构师和运维师也有一定的参考...

    搭建高性能大并发大型网站架构 教程.zip

    搭建高性能大并发大型网站架构 教程.zip 1.服务器操作系统用64位的CentOS 2.mysql数据库 3.nosql redis缓存 4.web网站代码 5.nginx 6.apache php 7.tomcat java 8.squid前台静态资源缓存 9.CDN服务器 10.固态硬盘+...

    高性能网站建设指南.part1.rar

    本书结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、...《高性能网站建设指南》适合Web架构师、信息架构师、Web开发人员及产品经理阅读和参考。

Global site tag (gtag.js) - Google Analytics