1.报警信息

内容: 微信服务器向公众号推送消息或事件后,开发者5秒内没有返回 次数: 5分钟 239次 错误样例: [OpenID=o][Stamp=1562718361][3rdUrl=url][IP=ip][Event=Click Menu Url]

处理:

从阿里云监控查看主机均正常运行中;查看各台服务器日志情况,其中一台服务器不打印日志,但进程还在。重启了该条服务器后,告警停止。

2.nginx报错日志   16:29:09开始报错

2019/07/09 16:29:09 [error] 23960#0: *274190994 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ip, server: server, request: "GET /wxqhb/pagemenu.html?pagemenuType=1 HTTP/1.1", upstream: "http://ip:8080/wxqhb/pagemenu.html?pagemenuType=1", host: "tpwxcloud.life.cntaiping.com"

nginx从upstream读取响应时超时,nginx默认的读超时为20s,读超时不是整体读的时间超时,而是指两次读操作之间的超时,整体读耗时有可能超过20s

2019/07/09 16:30:31 [error] 23963#0: *274221748 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.158.231.28, server: tpwxcloud.life.cntaiping.com, request: "GET /wxqhb/pagemenu.html?pagemenuType=1 HTTP/1.1", upstream: "http://ip:8080/wxqhb/pagemenu.html?pagemenuType=1", host: "tpwxcloud.life.cntaiping.com"

nginx从upstream读取响应时连接被对方reset

nginx连接服务器异常了,查看服务器的连接数情况

tomcat设置的连接数 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="300" minSpareThreads="100"/>

3.分析生成的heapdump.hprof(16:33)

tomcat 启动参数里设置了内存泄漏存入dump文件: /usr/java/apache-tomcat-7.0.62/bin/catalina.sh

tomcat配置的jvm是2G,内存快照显示2Gjvm已用完。占内存较大的是数据库返回的结果集。

4.查看慢SQL分析

有一条查询语句返回行数达到了近18万行。

5.该条慢SQL产生的原因

客户从官微进入95589的保单信息页面,先调腾讯接口获取客户的union_id,通过union_id在绑定表里查绑定的信息,该表union_id值为'null'的数据有179764条。

a.对于未关注的用户请求腾讯接口返回的union_id为空。

未关注: 获取腾讯unionId接口出参:{subscribe=0.0, openid=oFMgYv-D2tHaxUbspZWTt8PCT8z0, tagid_list=[]}

已关注: 获取腾讯unionId接口出参:{subscribe=1.0, openid=oFMgYv9XJPZ5iO8cf-cmdsZA2igY, nickname=睡着的水~, sex=1.0, language=zh_CN, city=浦东新区, province=上海, country=中国, headimgurl=http://thirdwx.qlogo.cn/mmopen/ajNVdqHZLLCwR59KibfCj8fEvIJ57JvBH30TB2icdFQaLgfq1jnkyPqu6W1aEwfpuKfhv4ibAiay8jn8KNiaJkAtYRQ/132, subscribe_time=1.553682236E9, unionid=oPWq_wnqNuogedygwjtona_inqig, remark=, groupid=0.0, tagid_list=[], subscribe_scene=ADD_SCENE_PROFILE_CARD, qr_scene=0.0, qr_scene_str=}

b.程序里的处理:

String UnionId = String.valueOf(resultMapId.get("unionid"));
session.setAttribute("weixin_check_unionid", UnionId); String unionid = (String)session.getAttribute("weixin_check_unionid");
if(''==unionid || null==unionid ){ return ;}
UserBindingRs ubr = userBindingRsService.getCheckCustomerByunionId(unionid);//返回近18万行
select * from wcap_user_binding_rs where unioncode = ? and ubr_status =

TOMCAT与内存泄露

https://www.cnblogs.com/yangxia-test/p/3611385.html

问题查询-tomcat内存泄露的更多相关文章

  1. 记录一次Tomcat内存泄露原因的追溯

    现象:WEB无法访问.SSH无法登陆.桌面登陆验证失败. 重启服务器后登陆正常. cat /var/log/message显示root用户创建了2000多个sessions后显示内存不足. 进入tom ...

  2. spring boot + embed tomcat + standalone jar的内存泄露问题

    前一阵遇到了一个很坑的内存泄露问题,记录于此: 有个项目采用spring cloud重构后,部署到线上(其中有一个接口,大概每天调用量在1千万次左右),发现zabbix监控里,linux的可用内存一直 ...

  3. Tomcat 6.x Perm区内存泄露问题

    Tomcat 6.x JSP文件最后改动时间大于当前系统时间导致Perm区内存泄露问题(java Memory pool CMS Perm Gen) 出现场景: 因为測试业务,须要模拟跨天測试,所以一 ...

  4. Tomcat与内存泄露

    一.Tomcat的JVM提示内存溢出 查看%TOMCAT_HOME%\logs文件夹下,日志文件是否有内存溢出错误 二.修改Tomcat的JVM 1.错误提示:java.lang.OutOfMemor ...

  5. tomcat内存溢出问题记录

    问题说明:公司内网环境中部署的jenkins代码发版平台突然不能访问了,查看tomcat的catalina.out日志发现报错如下: [root@redmine logs]# tail -f /srv ...

  6. Java的内存--内存溢出vs内存泄露(2)

    系统上线后,经常会出现内存不足等错误out of memory,很是头疼,决定要一探究竟 内存溢出 1. 定义及原因          内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使 ...

  7. Tomcat内存分析相关方法(jmap和mat)

    Linux环境命令行 首先,根据进程命令,获取运行的tomcat的进程ID ps aux | grep tomcat | grep java | grep bsc 在第二列可以看到进程ID 然后使用j ...

  8. Tomcat内存溢出的三种情况及解决办法分析

    Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出.造成内存溢出是不一样的,当然处理方式也不一样. 这里根据平时遇到的情况和相关资料进行一个总结.常见的一般会有下面三种 ...

  9. java内存溢出和内存泄露

    虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险. 最近在网上搜集了一些资料,现整理如下: —————————————————————————————————————— ...

随机推荐

  1. 【题解】Typesetting [Hdu6107]

    [题解]Typesetting [Hdu6107] 传送门:\(\text{Typesetting}\) \(\text{[Hdu6107]}\) [题目描述] 有一篇行数无限宽度 \(MaxW\) ...

  2. Oracle 原生驱动带来的精度问题的分析与解决

    问题 Oracle 官方提供了 dotnet core 驱动,但我们在使用中遇到了精度问题. 复现 以下代码运行数学运算 1/3,无论是 OracleCommand.ExecuteScalar() 还 ...

  3. Zabbix server 更改数据库密码

    Zabbix server 更改数据库密码 当我们的 Zabbix server 使用的数据库信息发生了改变,我们需要更改旧配置. 涉及到数据库配置信息的文件有2个,分别是 /etc/zabbix/z ...

  4. VM1059 bootstrap-table.min.js:7 Uncaught TypeError: Cannot read property 'classes' of undefined

    参考链接:https://blog.csdn.net/liuqianspq/article/details/81868283 1.阳光明媚的下午,我在写CRUD,让数据传到前端的时候,解析的时候报错了 ...

  5. 阿里Jvm必问面试题及答案

    什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计 ...

  6. Flask笔记:cookie

    在网站中,HTTP请求是无状态的:第一次请求成功后,第二次请求时服务器依然不知道这次请求的所属用户是谁.为了解决这个问题,在第一次请求成功后,服务器会生成并返回对应的cookie信息给浏览器,而浏览器 ...

  7. iconfont采坑

    1. iconfont采坑 1.1. 前言 使用iconfont过程中踩过坑特此记录 不知道iconfont的这里也简单介绍一笔,阿里开放的一个图标素材库,用来快速找图标下载使用图标 iconfont ...

  8. vue---v-model的详细解答

    1.v-model:双向数据绑定的实现原理     等同于一个  v-bind  加   v-on <div id="app"> <!-- <input t ...

  9. Java内存模型。

    Java内存模型: 准备知识:缓存,缓存一致性,硬件缓冲区:写缓冲区.无效化队列,内存重排序,内存屏障. 1.Java内存模型概念. 首先,在并发的情况下,计算机系统必须解决这样两个问题:第一,一个处 ...

  10. Jenkins的CI持续集成

    Jenkins的CI持续集成 全局配置 系统管理->全局工具配置,配置Git,JDK和Maven 1)解压maven到当前目录 tar zxf apache-maven-3.5.4-bin.ta ...