这几天项目中有个并发的功能,大致是需要在10分钟内把奖金派完,导致这10分钟内
产生了不少并发,但实际只有200多的并发,到了300的时候基本直接服务连接超时了
,求解决方案。
服务器:阿里云 ECS 4G 8H 10Mbps
数据库:阿里云 RDS 5.6 2G 4H
问题描述:并发量到300多的时候,服务器就拒绝连接了,ECS虚拟机运行的CPU就到
了100%,想定位问题是出现了在那里? 找了2天了,不知道如何下手。
下图是RDS数据的实时报表
全部C币求帮助。
这几天项目中有个并发的功能,大致是需要在10分钟内把奖金派完,导致这10分钟内
产生了不少并发,但实际只有200多的并发,到了300的时候基本直接服务连接超时了
,求解决方案。
服务器:阿里云 ECS 4G 8H 10Mbps
数据库:阿里云 RDS 5.6 2G 4H
问题描述:并发量到300多的时候,服务器就拒绝连接了,ECS虚拟机运行的CPU就到
了100%,想定位问题是出现了在那里? 找了2天了,不知道如何下手。
下图是RDS数据的实时报表
全部C币求帮助。
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
优化数据库查询语句,仅耗时较长的查询做优化。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。
基本上以上述问题解决后,达到系统最优。