常规系统优化流程:
1.0 应用程序优化
分析应用程序等GC日志,查看程序是否有优化等空间,或者某些业务代码是否可以进行优化,这个涉及的面比较广。
1.1 数据表索引优化
WEB服务器的CPU闲来无事,但数据库服务器的CPU使用率高居不下。经过初步分析,发现瓶颈在数据库。
解决方案
:监控数据库的访问,整理出那些耗时的SQL,并且进行SQL查询分析。根据分析结果,对数据表索引进行重新整理。同时也对数据库本身的参数设置进行了优化。
1.2 多点部署+负载均衡
慢慢的,访问速度又不行了,这次是WEB服务器压力很大,数据库服务器相对空闲。经过分析,发现是系统并发用户数太多,单WEB服务器不能够支持如此众多的并发请求。
解决方案
:使用分布式多点部署的方案,客户端通过Nginx等负载均衡工具进行请求分发。
1.3 数据分片
多点部署之后,系统基本能应对客户需求。但是经过一定的时间后,系统的服务速度明显又慢下来了,增加WEB服务器也不能解决问题了。分析发现系统瓶颈又回到了数据库服务器。SQL执行时间越来越长,而且无法优化。原因也很简单,数据量太大。