`
szjian
  • 浏览: 74658 次
  • 性别: 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.网购秒杀...

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

    大型网站架构-高性能网站架构 在大型网站架构设计中,选择合适的操作系统、Web 服务器、数据库和脚本语言是至关重要的。以下是对大型网站架构的详细分析: 选择高性能 OS 在选择操作系统时,我们需要考虑多个因素...

    国内某知名网站架构分析

    在《网站架构分析.pdf》这份资料中,读者可能还会发现更多针对特定网站的架构优化措施,例如如何处理高并发、大数据量的问题,以及如何运用前沿技术(如容器化、Serverless)来进一步提升系统性能和灵活性。...

    大型网站商眭能架构研究

    ### 大型网站高性能架构研究 #### 摘要与背景 随着互联网技术的迅猛发展,各类网站的数量呈现爆发式增长。然而,在这些网站中,有很大一部分并未充分考虑到其性能优化的问题。造成这种情况的原因多种多样,包括但...

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

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

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

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

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

    分布式大型网站架构、高性能MySQL是构建现代互联网应用的关键技术,对于理解如何处理高并发、海量数据的场景至关重要。本文将深入探讨这些主题,并结合提供的书籍资源进行解析。 首先,我们来看"大型网站技术架构:...

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

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

    非常全面的高性能高并发服务器架构解决方案

    在当前的互联网时代,高性能高并发服务器架构已经成为网站运营商和开发者的必备技术之一。本文将从高性能高并发服务器架构的优化心得、架构设计问题、负载均衡技术、开源平台的高并发集群思考等多方面详细介绍高性能...

    高性能高并发服务架构.doc

    **知识点生成:高性能高并发服务架构** 在IT领域,尤其是互联网行业,高性能和高并发是衡量服务质量和用户体验的重要指标。本文将围绕“高性能高并发服务架构”这一主题,结合提供的文档内容,深入探讨相关的知识点...

    《大型网站技术架构演进与性能优化》

    《大型网站技术架构演进与性能优化》这本书深入探讨了互联网行业中大型网站在技术架构上的发展路径和性能优化策略。随着互联网的飞速发展,大型网站的架构设计和性能优化成为了决定企业竞争力的关键因素。本篇文章将...

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

    【高性能网站架构设计之缓存篇】探讨了如何在网站架构中有效利用缓存提升性能。缓存是解决高并发、大数据量访问问题的关键技术,它通过存储热门数据,减少对数据库的直接访问,从而提高响应速度。在这个主题中,我们...

    前端 高性能 后台 架构师

    在IT行业中,前端和后端架构师是至关重要的角色,他们负责构建高性能的网站和应用程序。本主题将探讨这两个领域的主要知识点,以及如何通过学习和实践成为一位优秀的架构师。 首先,我们关注"高性能网站建设"。...

    高性能高并发服务器架构

    ### 高性能高并发服务器架构的关键知识点 #### 1. 高性能高并发服务器架构概述 - **背景**: 在互联网迅速发展的背景下,越来越多的网站面临着大量用户访问带来的挑战。为了应对这种挑战,需要构建高性能、高并发的...

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

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

    如何构建高性能web网站

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

    高性能网站性能优化与系统架构1

    【高性能网站性能优化与系统架构】一文中,讨论了如何针对大型网站的高负载和高并发问题进行优化,主要提出了以下几个关键点: 1. **HTML 静态化**: - 静态HTML页面的效率最高,消耗资源最少。对于大量内容且频繁...

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

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

Global site tag (gtag.js) - Google Analytics