前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次由DNS引起的tomcat 8.0间歇性卡顿问题

记一次由DNS引起的tomcat 8.0间歇性卡顿问题

作者头像
用户2134503
发布2021-01-03 20:41:05
2.9K1
发布2021-01-03 20:41:05
举报
文章被收录于专栏:tiane12

由于单位的安全要求,原有的一个应用由互联网区域机房搬迁至内网机房,然后业务系统走内网进行访问。新服务器是网管给重新做的,CentOS 8.1 + Oracle 19c,我把数据库、应用都迁移到新服务器上之后,发现莫名其妙的卡顿,一开始我以为是内网的问题,没有在意,但后来发现,每次都是规律性的卡顿,表现为:第一次访问或者隔几分钟第一次访问的时候,会卡顿10秒,然后就恢复正常速度,页面秒开。如果停几分钟不访问,再次打开时,还是会卡顿10多秒。

1、排查服务器性能问题 顺手top一下,发现有一个ksmtuned的进程,CPU持续100%,查了一下,这个进程是负责动态分配内存的。奇怪,怎么会占满,于是我随手看了一下新机器的配置,直接晕了,只给分了4G内存……于是,找网管,调内存,心想,哎呀,这问题这么顺利的就解决了,真好。 网管很仗义,一看,哎呀,做系统的时候忘了给调内存了,给你多分点吧,随手给分了120G内存(你没看错),顺便给调了Oracle的内存配置。 但。。。问题并没有解决,问题依旧。

2、排查tomcat优化问题 我开始研究是不是tomcat没有针对内存优化,参照网上的资料,给配置了一些运行内存的参数。就是这种: -server -Xms1800m -Xmx8216m -XX:MaxNewSize=512m" JAVA_OPTS="-server -XX:PermSize=564M -XX:MaxPermSize=2128m 也并没有用,问题依旧。

3、排查问题出在java执行上还是tomcat本身 我特意写了一段代码,输出执行时间,从获取到Action就立即输出一个时间。却奇怪的发现,我访问这个地址的时候,系统并没有立即输出,而是停顿了10秒,才开始输出。也就是说,中间有10秒钟莫名其妙的卡顿时间,通过Chrome浏览器的F12中Network也可以看到这个现象。然后,直接访问一个zip文件,执行下载,发现也是卡10秒才响应,这就跟java代码无关了。

4、排查数据库问题 检查并优化了C3P0连接池、Mybaits的配置,确认没有问题。然后在plsql上跑了一些复杂语句,发现数据库也没有问题,间断再执行,也没出现延迟10秒的现象。

5、排查网络问题 我先是找了一台同网段下的服务器,crul一下这个机器,发现居然也是卡10秒才响应。于是我到这台机器本机上,curl http://192.168.x.x/xxx,发现也是卡10秒才响应;然后我又试了一下curl http://127.0.0.1/xxx 返现居然不卡。这太奇怪了!!! 然后我顺手看了一下,dns,发现网管居然给配了DNS,但这台服务器在内网是连不上DNS的。会不会是服务器在尝试DNS解析?于是我把DNS注释掉,顺便把ipv6也禁用了,然后重启网路服务,瞬间……秒开!

折腾了一天的问题,没想到出在这里。但这个问题真的很奇怪,我在tomcat里也仔细检查过反向解析选项,确认没有开启,但它确确实实再走DNS查询192.168.x.x,但ipconfig里直接配的就是这个地址。以后要注意这个问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年12月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档