高并发设计
大约 2 分钟
高并发设计
高并发定义
高并发是指在一定时间内,大量的请求同时访问应用程序或系统,导致系统出现性能瓶颈,如响应时间变慢、服务不可用等问题。
高并发通常出现在促销活动、秒杀场景、网站流量高峰期等情况下。
衡量高并发的指标
- 响应时间(RT)
- 并发数(QPS)
- 请求成功率(成功数/总数)
- 资源利用率
- CPU
- 内存
- IO
- JVM GC
影响并发的因素
- 硬件
- CPU
- 内存
- 磁盘
- 软件架构
- 单体架构
- 分布式架构
- 数据库
- MySQL
- Redis
- 网络
- 带宽, 上行速率/下行速率
- 程序代码
高并发设计
如果设计一个高并发的系统, 考虑的因素比较多, 这里用控制变量法去控制其他因素保持不变, 只看程序代码的方式, 设计一个高并发的程序
硬件固定
4c8G的硬件
软件架构固定
使用单体架构, 测试单体的并发性能可以粗略估算水平扩容的分布式架构的性能; 当然, 具体分布式架构下的并发性能还是需要测试, 但是这里为了测试方便才使用单体架构
数据库固定
固定使用MySQL和Redis
网络固定
本地网络, 家庭网络的路由大概是千兆网, 这里网络不会成为卡点
编程语言固定
Java
改变程序代码(库存接口)
仅使用MySQL 无缓存 (MySQL的缓存忽略不计)
MySQL + Redis 2级缓存
MySQL + Redis + 内存 3级缓存
以上三种迭代的方式, 测试并发性能