记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

背景条件:前台系统框架NUXT,后台微服务注册NACOS,服务转发nginx

问题出现:在springboot整合redis的时候,NUXT突然出现访问无效的情况,即访问index主页空白,页面一直显示正在加载。并且前后端无任何报错提示,浏览器控制台也无任何报错提示。但是有个奇怪的现象,即每次一开始启动服务时可以正常访问,当过了一段时间就会出现失效的情况。

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 

------------------------------------------------------------------------------------

问题分析:由于是在整合redis的时候出现的,首先我把目光对准了redis

Debug:在配置redis的时候出现了一个奇怪的报错,但是并没有影响服务运行。于是我思考会不会是timeout的设置的原因导致的问题。于是经过一番搜索,明白了之所以会报错是因为高版本的IDEA要求在配置后面加上ms单位,即可解决问题

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 测试:重新启动微服务进行测试,发现情况依然如此。并没有得到解决

---------------------------------------------------------------------

问题分析:既然不是springboot配置文件中配置出的错,我猜想会不会是因为虚拟机中redis.conf配置文件里面的某个配置导致功能失效。

Debug:打开虚拟机中的redis.conf配置文件,核对了几个主要的配置参数,发现并没有问题,排除该猜想。

------------------------------------------------

问题分析:既然配置无报错无其他问题也不能解决,我决定尝试回滚代码,但是最早的备份是昨天中午的,回滚会丢失很多代码。于是我手动把redis的配置删掉,所有整合的过程全部回溯。

测试:重新启动微服务进行测试,发现情况依旧,没有得到解决。

-----------------------------------------------

问题分析:这样看来有可能的情况是这个bug早就存在,但是一直没有被发现,只是在整合redis的时候被察觉了而已

Debug:虽然大概率我认为是前端的问题,但是我决定重新测一下后端接口,并且开启了后台系统的前端工程,进行测试

测试结果:页面成功获取到了数据并进行展示,说明后端接口并没有出现问题

-------------------------------------------------

问题分析:既然后端没有出现问题,我决定把重心放在前端。重新看前端,发现十几分钟过去了报了一个错(我测试了不下15次,重启电脑3次。但该错误仅仅出现过一次)。如下,这可以从侧面印证可能是前端出了问题。

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 Debug:既然有了报错。我开始在搜索引擎上通过下面两个方面进行搜索。第一个方面的关键字:NUXT,页面失效,页面空白,无法调用接口,突然打不开页面;第二个方面即根据前端报错进行搜索。搜索的结果有很多,第二个方面搜索到的包括1.因为nginx的问题 2.因为nacos的问题。可是这个页面调用的接口并没有进行跨服务的调用,并没有nacos的Feign功能,于是我排除了nacos的问题。然后是nginx,我打开nginx的配置仔细看一遍,并没有任何问题。

于是我进行了下面三个尝试

  1.关闭nginx并重新启动,打开前端页面,测试:依旧无法打开页面

  2.关闭nginx并重新启动,重新启动前端工程,测试:发现可以打开页面,但过不了一会儿打开多个页面后又出现同样情况,无法访问

  3.nginx保持不变,重新启动前端工程,测试:发现可以打开页面,但过不了一会儿打开多个页面后又出现同样情况,无法访问

------------------------------------------------------------------------------------

问题分析:经过上面的测试基本已经可以确定是前端工程出现了问题,因为NUXT我是第一次使用,并不熟悉。特别是当我打开百度进行搜索NUXT的时候,第一列赫然是   NUXT就是一个坑。让我不知道怎么下手了。

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 

 但是上面说到我从两个方面进行了搜索,而第一个方面搜索到了一个答案,可是并没有引起我的注意,原答案如下。当时我只是从众多网页中看了一眼,然后并没有觉得有什么,因为下面的回答也说到了可能是他代码的问题。

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

 突然我有点觉得这个bug可能我要解决不了了,可是后面还有很多功能要做,如果卡在这里的话势必会对后面的功能开发产生一定影响。

于是我第N次重启了服务,开始刷新。令我惊讶的是,这次居然没有出现bug,一切正常。

于是我又重启了服务,打开了多个页面进行刷新,可是,又出现了bug。这时候我意识到可能是页面的问题,刚刚那个提问在我脑海中闪了一下

于是再重启服务,开始刷新一个页面,没问题。再开一个页面进行刷新,没问题。再开一个页面,出现问题了,页面开始无法访问。

再多试了几次之后,我总结掌握了规律:即只要我只使用一个页面进行访问,没有任何问题,但是只要我多开页面达到3个就会导致bug出现,之前能访问的页面也会无法访问。

而这个问题正是之前那个楼主想要解决的问题。

到此:我的心情终于开心了起来。

但是:当我进行搜索出现这样问题的原因时,并没有人对此进行回答。。。

--------------------------------------反思---------------------------------------------------

这个bug的出现一个是因为本身框架可能有问题。

另一个就是自己平常的习惯:多开网页进行测试,而不是反复刷新一个页面。

但最终能找出问题的所在实在是不容易,耗费了几个小时的时间,只知道问题所在,但暂时还解决不了

------------------------------------结语-----------------------------------------

换个好点的框架用吧,睡个好觉!

记录一次坎坷的debug之旅,NUXT框架页面多开假死现象,NUXT刚开始可以访问,突然就访问无响应,并且前后端均未出现任何报错提示:现在是早晨4点35分

 

上一篇:webpack优化项目


下一篇:【loj114】k大异或和 线性基+特判