高并发系统设计

1. 基础篇

通用设计方法

  • 横向扩展:组合多台性能机器组成一个分布式集群来共同抵御并发流量的冲击
  • 纵向扩展:不断提升CPU性能
  • 缓存:磁盘寻道ms级,CPU指令和内存寻址在纳秒级,
  • 异步

架构分层

  • 什么是分层架构
  1. 整体系统分为 N 个层次
  2. 例如:MVC、OSI网络模型、TCP/IP协议、Linux文件系统
  • 分层的好处
  1. 简化系统,让不同的人专注做某一层次的事情
  2. 分层可以提升代码复用
  3. 分层更容易做横向的扩展
  • 如何做系统分层
  1. 定义清楚每一层次的边界是什么
  2. 层次之间一定是相邻层相互依赖,数据的流转也只能在相邻的层间流转
  • 分层架构的不足
  1. 增加了代码的复杂度
  2. 如果每个层次独立部署,层次通过网络来交互,多层的架构在性能上会有损耗

如何提升系统性能

  • 三大目标

  1. 高性能
  2. 高并发
  3. 可扩展
  • 性能优化原则
  1. 问题导向
  2. 20%精力解决80%性能问题
  3. 有数据支撑
  4. 过程是持续的
  • 性能度量指标
  1. 平均值:敏感度比较差,如果这段时间有少量慢请求时,智能作为参考
  2. 最大值:过于敏感
  3. 分位值:有很多种,比如90分位、95分位、75分位
  4. 吞吐量:吞吐量=并发进程数/响应时间
  5. 同时在线用户数
  6. 用户体验
    1. 200ms第一个分界点,200ms以内瞬间发生
    2. 1s第二个分界点,1s以内可接受
    3. 1s以后就会有等待的感觉
    4. 99分位控制在200ms之内,99.99%在1s以内
  • 高并发下的性能优化
  1. 提高系统的处理核心数
  2. 减少单次任务的响应时间
    1. CPU密集型
    2. IO密集型

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值