hgproxy未正常释放通信进程导致连接数满解决方式
文章目录环境症状问题原因解决方案环境系统平台银河麒麟 鲲鹏版本4.5.6症状针对场景hgdbhachgproxy环境hgdbhgdb4.5.6-see-kyl-server10sp1-kunpeng-64-20210520hghachghac-4.0.1-1.ky10.ky10.aarch64hgproxyhghac-4.0.1-1.ky10.ky10.aarch64问题描述应用端使用hgproxy端口连接数据库监控数据库会话出现大量hgproxy会话会话state为null停止对应应用服务器应用后会话任无法释放最终导致会话数满。检查信息检查数据库当前会话信息hgproxy占用大量会话且state和wait_event值为null。selectclient_addr,application_name,state,wait_event,count(*)frompg_stat_activitygroupbyclient_addr,application_name,state,wait_eventorderby5;监控会话数占用最多的端口对应的网络端口信息hgproxy进程占用大量网络端口进程且进程的端口状态均为close_wait。netstat-apn|grep-i90.16IP为应用服务器地址问题原因客户端应用停止后服务端的hgproxy未正常终止网络进程状态为close_wait导致数据库中的会话无法释放。close_wait为客户端已经发起了终止网络通信信号待服务器释放网络通信进程。解决方案手动重启节点上的hgproxy服务重启后强制释放本地网络通信进程对应数据库会话最终释放。systemctl stop hgproxy待本地网络进程释放以后再启动hgproxy服务systemctlstarthgproxy