谈大规模分布式系统的高性能架构

一、性能指标

1. 响应时间:从发出请求到收到响应数据的时间

2. 并发数:同时提交请求的用户数

3. 吞吐量:单位时间内系统处理的请求数

TPS、HPS、QPS

4. 内存使用、CPU使用、磁盘、系统负载

二、性能优化策略

排查性能瓶颈的方法:检查处理的各个环节日志,分析各环节响应时间是否超过预期。

三、性能优化方法

1. web前端性能优化方法

主要手段:浏览器访问、CDN、反向代理

1.1 浏览器访问优化:

a. 减少HTTP请求,包括合并css、js、图片;

b. 使用浏览器缓存;

c. 文件压缩;

d. 减少cookie传输;

e. css在js之前。

1.2 CDN缓存静态资源,如图片、CSS、JS、静态网页

1.3 反向代理缓存静态内容,减轻Web服务器的压力

2. 应用服务器性能优化方法:

2.1 分布式缓存

缓存适合存放读写比高、很少变化的数据。

缓存的本质是内存Hash表。

可能存在一定时间的数据不一致。

缓存预热:缓存系统启动时就把数据加载好。

通过把不存在的缓存数据也缓存起来防止缓存穿透。

分布式缓存架构有JBoss和Memcached两种。

Memcached内存管理方法:固定空间分配,slab,chunk。

Memcached路由算法:一致性Hash算法。

2.2 异步(消息队列)

2.3 集群

2.4 代码优化

a. 多线程

b. 资源复用:单例、对象池

c. 垃圾回收

3. 存储性能优化

传统服务器使用Raid实现数据在多块硬盘的并发读写。

HDFS应用在分布式文件系统中。

HDFS中有2中重要的服务器角色:NameNode、DataNode。

    原文作者:a5cde600987f
    原文地址: https://www.jianshu.com/p/ee52735b0dd5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞