一、性能指标
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。