网站技术架构与性能优化,附高性能思维导图

一).大型软件系统的特点

1.高并发

2.高可用

3.海量数据

4.用户分布广泛,网络情况复杂

5.安全环境恶劣

6.需求快速变更,发布频繁

二).大型网站架构发展历程

1.应用服务和数据服务分离

2.大量使用缓存改善网站性能(CDN加速、反向代理)

3.使用服务器集群改善网站并发能力

4.数据库读写分离

5.分布式文件(数据库)系统

6.NoSql与非数据查询技术(搜索引擎)

7.业务拆分(横向、纵向)

三).大型网站架构的价值观

1.核心价值: 渐进式

2.主要动力: 业务发展

3.设计误区:

1).一味追求大公司的解决方案

2).为了技术而技术(不管是否适用,追求时髦,什么新用什么)

3).企图用技术解决所有问题(有时候好的业务架构要比技术架构更加重要)

四).技术架构要实现的目标(核心要素):

1.高性能

1).性能问题是网站优化升级的触发器

2).前端常用优化方法:浏览器缓存 页面压缩 合理布局 减少cookie传输 CDN 反向代理

3).后台常用优化方法: 服务器本地缓存 分布式缓存 消息队列 集群 数据库优化手段(索引、缓存、sql优化) NoSql

2.可用性

1).主要问题: 服务器宕机

2).解决手段: 冗余备份

3.伸缩性

1).大型网站面临的问题: 高并发访问、海量数据存储

2).解决手段:

构建集群: 应用服务器集群、缓存服务器集群、数据库服务器集群

4.扩展性

1).事件驱动架构

消息队列(观察者模式)

2).分布式服务

业务与可复用服务相分离(模块化)

5.安全性

1).防范各种攻击窃密手段

2).网站架构主要的几种模式:分层,分割 分布式 集群 缓存 异步 冗余 自动化 安全

一.

1.开发人员和用户看待性能的角度不同

2.性能测试指标

1).响应时间

送发出请求到收到响应所经过的时间

2).并发数

单位时间同时处理请求数

3).吞吐量

单位时间处理请求数

4).性能计数器

描述服务器或操作系统性能的一系列数据指标

3.性能测试方法

1).性能测试

处理能力与并发数成正比

2).负载测试

处理能力增长缓慢,达到最大负载点

3).压力测试

处理能力反而下降,达到崩溃点

4).稳定性测试

长时间不均匀地对系统施加压力

4.前端性能优化

1).减少http请求

2).使用浏览器缓存

3).启用压缩

4).使用正确的文件加载方式

5).减少cookie传输

6).CDN加速(缓存)

部署在网络运营商机房(网路第一跳)

7).反向代理(缓存)

5.应用服务器性能优化

1).分布式缓存(网站性能优化第一定律:优先考虑使用缓存)

缓存的基本原理:

1.将数据存储在较高访问速度的存储介质中

2.本质是一个 内存(读取速度快吗不是)Hash表(查询速度快吗不是)

合理使用缓存:

1.不要缓存频繁修改的数据

2.要遵循二八定律,不要缓存低命中的数据

3.要注意 缓存的时效性 引起的问题

缓存可用性:

1.通过将缓存数据分布在集群中,当一台缓存服务器宕机时,从而防止全面更新缓存引起的性能消耗

2.对于已知的热点数据直接加载好(缓存预热),而不需使用LRU不断筛选预热

3.预防缓存穿透(攻击者不断请求某个不存在的数据,从而穿透缓存服务器,对数据库服务器造成极大的压力)

分布式缓存架构(分为两类):

1.数据相同,同步更新(JBoss Cache)

2.Memcached:

简单的通讯协议(缓存客户端与缓存服务器)

丰富的客服端(支持多种语言)

高性能网络通信(支持事件触发)

高效内存管理(固定空间分配)

互不通信的服务器集群架构(客户端路由算法: 一致性Hash算法)(无限制线性伸缩)

2).异步操作

使用 消息队列 将 调用 异步化

1.用户的数据在发送给消息队列服务器后 立即返回

2.消息队列服务器 中的消费者进程从消协队列中获取数据异步写入数据库

3.达到了削峰作用(削平高峰时期的并发任务)

4.无法在返回时告知用户成功信息

3).使用集群

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

4).代码优化

多线程

1.利用多线程io阻塞与执行,可最大限度地利用cpu资源

注意:

1.将对象设计为无状态对象

2.使用局部对象

3.并发访问资源时使用锁

资源复用

1.单例模式

2.对象池(减少对象创建删除引起的资源消耗)

3.合适的数据结构

4.合理的GC

6.存储性能优化

硬件技术

存储结构技术

磁盘读写技术

那么高性能架构具体该学习什么技术呢,以下是我整理出来的思维导图:

最后送福利了,现在加群即可获取高清大图  群号:923116658 里面还有Java工程化 、高性能及分布式、高性能、高架构、性能调优、Spring、MyBatis、 Netty源码分析等多个知识点高级进阶干货的相关视频资料,还有spring和 虚拟机等书籍扫描版,还有更多面试题等你来拿。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容