构建高并发&高可用&安全的IT系统-高并发部分
什么是高并发?
狭义来讲就是你的网站/软件同一时间能承受的用户数量有多少
相关指标有
并发数:对网站/软件同时发起的请求数,一般也可代表实际的用户
每秒响应时间:常指一次请求到系统正确响的时间(以秒为单位)
TPS(每秒事务数):每秒钟可以处理的事务(请求响应),大概的计算公式为:并发数/每秒响应时间=TPS
QPS(每秒查询数):TPS事务有读有写,而QPS指的是读取,一般情况QPS应是高于TPS的
IP(独立IP):一个IP可以发生多次UV和PV
PV(访问量):即Page View,页面浏览或点周量,用户每次新刷新即被计算一次
UV(独立访客):一般通过cookies记录等判断为一个独立用户,同一IP可能有多个UV(共享IP),发生多次PV
流量(网络流量):请求所产生的网络流量,因为受限于带宽也是并发中的一个重要指
一般公司演化阶段
1、优化运算代码、SQL查询、数据库索引等
2、进行应用负载均衡、数据库做主从/主主复制进行读写分离、增加缓存(Redis\Mem)
3、对系统和数据进行垂直拆分,按业务模块拆分成不同的应用及数据库表
4、分布式服务化、异步消息机制、数据库表水平拆分
优化运算代码、SQL查询、数据库索引等
一般初创公司系统大多数都是单体单库的系统,按照成本优先级第一要做的就是对系统进行代码级的优化。比如应用代码逻辑梳理、合理使用多线程、SQL避免全表扫描、少使用LIKE、