一、检查步骤:
1. 首先查看数据库连接池有没有爆满
show max_connections; --查看连接池的大小
select count(1) from pg_stat_activity; --查看连接池已用数
--查看剩余可用数
select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(select count(*) from pg_stat_activity) as now_conn from pg_settings where name = 'max_connections') t;
--如果数据库连接池已经爆满了,那就重启数据库,并联系用户是否增加连接池的大小 ,
--在/data/postgresql.conf中修改max_connections最大连接数(默认是100,修改300就已经很大了),并重启就能解决
2.查看日志有没有导出excel抛异常,导出数据如果没有时间限制极易出现数据量太大内存爆满而出现宕机
-----解决办法:在每一个导出页面添加条件限制,例如只能一次性导出多少天之内的数据
3. 检查是否有代码内存溢出,检查日志,我之前就碰到过fastjson2.0.5内存溢出,解决办法就是把fastjson更新到最新版本的fastjson2
--------------------更多宕机原因会持续更新--------------------
二、解决办法