前言
本文介绍项目架构演化、性能测试流程及性能问题定位。
项目架构演化
-
单机架构
用户数较少,Tomcat和mysql数据库部署在一台服务器上 -
第一次演进:Tomcat和mysql数据库分开部署
背景:随着用户数据的增长,Tomcat和mysql数据库直接资源竞争,单机性能不能支撑业务了 -
第二次演进:引入缓存
使用memcached作为本地缓存,使用Redis作为分布式缓存 -
第三次演进:引入负载均衡(1台nginx+多台应用服务器tomcat)
nginx负载均衡策略
使用nginx可以支持很大的并发量,但更多的请求都到了单机数据库,最终数据库成为瓶颈了 -
第四次演进:数据库读写分离
主库写,从库读
读多写少,主从复制 -
第五次演进:数据库按业务分库
背景:业务逐渐变多,不同业务之