【loadrunner】解决controller出现Abnormal termination, caused by mdrv process termination.大量错误,导致线程终止了请求

问题,LR对webservice的某个接口执行少量并发数的场景时,controller出现Abnormal termination, caused by mdrv process termination.大量错误,导致线程终止了请求,但服务器和负载机的资源都属正常。

解决方法和思路:为了解决此问题,查阅了网上较多资料和官网解释,大同小异,也进行一一尝试,最终无果,但意外发现资料中,除了一些参数设置修改以外,其中有条非常特别解释:“The Host machine ( Load generator) is running too many Vusers as a result of which it system resources are being maximized. ( i.e. Consistent over 90% CPU and Memory utilization). The mdrv process does not get enough resources to process the request as a result it fails”(这里大概的意思是:负载机的资源已经达到瓶颈,且无法接收响应回来的数据,导致process终止),于是萌生猜想,是不是服务器中数据库和tomcat之间出现了什么异常,导致数据无法响应给客户端,但按照常理,如果此两者出现异常,应该也是会相应http状态码返回客户端的,但非常异常的是controller只出现大量线程终止错误,为了验证此时的矛盾,于是请求开发协助,并在此接口的可能出现问题的地方加上相应日志,运行后,不出意料,结果正如我们的猜想,可能是数据库由于负载压力过大,导致了数据库与tomcat之间连接异常,tomcat却将异常信息返回给客户端,而客户端却无法识别响应,导致了controller出现线程终止的情况,为了解决此问题,开发修改了程序,将成功的请求就返回一个整型1,失败或异常请求就返回一个整型0,经过多次实践验证运行,都未出现上述线程终止的问题了。


备注:此问题是我与同事李佳一同实践解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值