这篇文章是纪录了一个bug解决的过程,但是我还是没有能够真正地找出bug的缘由。希望大牛能够详细解释。
问题的发现
当接触的系统越来越大的时候,对于系统的性能越来越高的时候,找到表面问题的真正原因就慢慢地成为了一个比较麻烦的问题。说实话,一开始我一直不知道是因为Runtime.getRuntime().exec()导致服务处理时间缓慢。发现这个原因倒是花了不少时间。
为了方便,我直接就用java调用python脚本。用python脚本处理做核心的机器学习算法的东西。而java调用python脚本,我直接就采用了Runtime.getRuntime().exec(),这个方式类似于直接使用了shell来执行。一开始使用的挺好,也没有注意一些细节的问题,慢慢地用着用着,发现有一台机器处理相同地人脸头像比另外一台慢。从经验上考虑过很多的可能情况,但是都不是问题的真正原因。但每一个误判,我感觉都非常值得反思。
网络问题
由于我使用了内网穿透工具,本身对工具性能也不熟悉,刚开始的时候立刻就想到了是不是因为使用了内网穿透工具,导致网速太慢了。由于这个问题我几乎就无法解决,所以我一想到这个原因,就没有再去想办法解决了。后面直接发现直接从访问的结果仍然是一样的慢。其实这个地方我应该去验证一下,直接从内网访问,看一下速度。这样就能够避免误判带来的问题了。
机器配置问题
由于两台机器配置的时候还是存在一点点不同,我后面又想是不是一台机器配置出现问题?检查了半天还是不能确认是不是机器配置不同,安装的内容不同导致出现了问题。由于没什么时间,干脆我又扔一边去了。
某些随机因素
因为一台机器执