杭州小程序开发:selenium grid分布式app卡顿是什么原因?
原创 None 来源:普悦科技 点击:1569

相信许多朋友在研究技术的时候,都会碰到各种各样的问题,最近小编在研究小程序、app开发的时候也遇到了,关于selenium grid分布式部署时,久而久之服务器会变得特别卡顿。

出现这种现象的征兆是:开启多个headless的浏览器都无法正常运行,无法访问网页,或者获取driver长时间阻塞,并且出现connection confuse的异常信息。

一开始笔者以为这可能是代理的原因,但是对着代码思来想去,小编也把代理这部分代码完全注释,最后排除了这种可能性。

后来实在没则,突然想到了通过top命令,查看了当前运行进程,发现有数十个web Content正在大摇大摆的进行着。于是小编终于醒悟过来,这可能是app小程序在运行过程中,存在异常情况,导致每一次firefox都无法正常关闭,所以进程越积越多,造成后面开启新浏览器都无法动弹了。

浏览器是特别吃CPU和内存的,这一点在平常台式电脑的使用中,就能发现。

为了解决这个问题,小编把代码更改的更加规范了,引入了数据库连接池和try、finally来保证浏览器必定关闭。

但其实这样也会存在一个漏洞,那就是小编在发布服务的时候,kill掉进程的时候,可能导致浏览器句柄没有正常释放。

所以只要多留意和杀死这些进程,就可以不重启服务器,保证小程序流畅进行啦~