2024年4月28日发(作者:)

软件系统架构性能优化设计方案

从持久层开始向展现层说:

持久层

1、存储选型

存储器类型(IDE/SCSI/SSD磁盘、网络存储NFS等)

数据库类型(MySql、Oracle、SQLServer等)

2、数据拆分,垂直切分水平切分。垂直切分为按模块切分,不同

模块划分到不同的存储单元,缓解单个存储单元的IO压力;水平切分

为分布式数据库,可按数据的所属机构切分,减少每个存储单元的数

据量;

3、读写分离

主从模式,1主多从,主写从读。读写压力分开,也可以解决

读写的锁冲突等

4、数据库负载均衡

如OracleRAC

5、raid技术提速冗余容灾

一份数据同时向多块存储写,存储器实现,对存储逻辑也是透

明的。

6、数据库调优

数据库使用的存储量、内存缓存量、线程数、其他资源使用量

配置。

7、业务表结构优化

表结构合适的拆分,以性能为目标的制定冗余信息,数据库索

引优化等

业务层

1、语言机制

资源连接池

异步处理

多线程处理

针对java,jvm参数调优

2、通用高效组件

全文检索nuts、lucene

缓存框架memcache、redis

3、业务代码优化

语言改进(跨语言迁移方案:拆分模块、按模块逐步改进、

新旧并行、新替换旧)

逻辑改进 高内聚低耦合

4、中间件负载均衡

集群、F5等

展现层

1、CDN内容分发网络

提升不同区域访问速度、解决网站流量限制,降低硬件门槛

CDN原理

用户提交域名 ->浏览器解析域名 ->CDN-DNS-

Server返回CNAME ->浏览器对CNAME解析 ->得到CDNServer

的IP ->访问CDNServer -> CDNServer通过内部DNS缓存返回目

的IP ->浏览器访问IP ->浏览器解析响应内容

2、页面架构

不易变内容使用静态页面、数据异步加载、页面缓存

3、页面内容优化

减小页面大小

减少零碎小资源文件

应用CSS定制样式