出现的问题:项目访问后台接口的时候变的非常慢,甚至都超过前端设定的超时时长
(2分钟),都没有返回结果,起初以为是程序因为长时间开启,导致内存满了,就想着结束其中一个项目,重启一下,看看效果,结果项目停止后就起不起来了,只要启动就报端口被占用,可是根据端口号去查询的时候发现,端口根本就没有被占用,后来无论修改成什么端口,都提示端口被占用,人麻了,这是见鬼了?
解决过程:其实也没什么主要的过程,因为重启项目一直在报端口被占用的错误,所以查找方向一直都是springboot项目启动时报端口被占用,但是根据端口却找不到被占用的端口,当然,这个方向是错误的,找了一圈,都没有合适的解决方式,幸亏当时准备重启的时候,没有把所有项目都停了,在偶然间,发现一个启动中的项目报异常了,这个异常就是No buffer space available
解决步骤:根据这个异常,在经过查找后,根据https://blog.csdn.net/liu_005/article/details/83443790这位大佬的解释,才发现原来是端口不够用了,根据他的步骤,终于将问题解决了
首先打开cmd命令窗口输入: netsh int ipv4 show dynamicportrange tcp
来查看,具体如下:
然后通过命令netsh int ipv4 set dynamicport tcp start=2000 num=63000
修改端口数。
其中:
start为起始端口号
num为端口数量
最终在不用重启电脑的情况下,终于将这个问题解决了,后来根据这个问题,我又往下查了查,除了端口被占用,根据端口找不到被占用的端口这个问题是端口不够用引起的,访问速度变慢有可能也是这个原因引起的。
对于这个问题,目前我只是知其然,不知其所以然,只知道解决了,却不知道问题的根本原因是在哪,如果各路大神有知道怎么排查的,还望不吝赐教一下