架构要素实现(一)高性能

一、网站性能测试(确定优化标准)

不同视角下的网站性能

用户视角下
主要包括:从打开浏览器到看到想要的内容。终端、不同浏览器、不同网络,这些对延迟的影响可能远大于网站服务器请求时间。
常用方法:前端优化、CDN、反向代理。
开发视角下
主要包括:响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。
常用方法:缓存、集群、异步、代码优化。
运维视角下
主要包括:设施性能和资源的利用率,比如带宽、服务器硬件配置等。
常用方法:建设优化骨干网络、使用高性价比定制服务器、虚拟服务器。

性能测试的指标

响应时间:毫秒
并发数:同时处理请求数目,体现负载特性。
吞吐量:单位时间内系统请求处理量。
常用单位:请求数/秒、页面数/秒、访问人数/天、TPS(每秒事物数)、HPS(每秒HTTP请求数)、QPS(每秒查询数)。
服务器性能:CPU、内存、线程数、磁盘、网络I/O等指标。

性能测试方法

性能测试
是否可以到达预期性能。
负载测试
增加并发,找到安全临界值。
压力测试
超过安全负载,找到系统崩溃临界值。
稳定性测试
业务运行一段时间,观察稳定性。

性能测试报告

性能优化策略

性能分析
环节分析,排查出瓶颈,定位优化。
性能优化
根据网站分层架构,可分为如下三种:前端优化、服务器优化、存储优化。

二、web前端性能优化

浏览器访问优化

(1)减少HTTP请求
http协议是无状态的应用协议。
方法:合并CSS、合并JS、合并图片等。
(2)使用浏览器缓存
(3)启用压缩
(4)CSS、JS引用位置
下载完全部CSS才会渲染,所以CSS放在顶部。JS加载完就会调用,所以放到底部。
(5)减少Cookie传输
建议静态资源独立域名访问

CDN加速
反向代理

三、服务器性能优化

服务器性能优化第一定律:优先使用缓存。
分布式缓存
缓存的基本原理:Hashcode。
合理使用缓存
(1)频繁修改的数据(不使用)
(2)没有热点的访问(不使用)
(3)数据不一致的脏读(不使用)
(4)缓存可用性:缓存雪崩
(5)缓存预热:存放热点数据
(6)缓存穿透:请求不存在的缓存,导致直接查询数据库。
分布式缓存架构
Memcached与Redis
异步操作
使用MQ系列、kafka等。
使用集群

代码优化

(1)多线程:启用线程数=[任务执行时间/(任务执行时间-IO等待时间)]*CPU内核数。
解决线程安全主要手段:1、将对象设计为无状态对象;2、使用局部对象;3、并发访问资源时使用锁。
(2)资源复用
方法:单例模式、对象池。
(3)数据结构
程序=数据结构+算法;
(4)垃圾回收:JVM为比较经典的方法。

四、存储性能优化

机械硬盘VS固态硬盘
B+树 vs LSM树
RAID vs HDFS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值