绕过问题也是一种能力–记一次接口的问题「建议收藏」

绕过问题也是一种能力–记一次接口的问题

大家好,又见面了,我是全栈君。

       接到现场实施的反馈:如今有一系统慢,整个系统卡住了。诊断过程:

      1. 检查应用日志,即weblogic日志,发现有阻塞的线程,查到代码是调用的接口

<2014-7-10 下午03时47分30秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: ‘7’ for queue: ‘default’ has been busy for “994” seconds working on the request “Http Request: /web/dwr/call/plaincall/TodoDWR.getTodoClassifyList.dwr”, which is more than the configured time (StuckThreadMaxTime) of “600” seconds.> 

      2. 检查数据库报告,发现负载很小,能够推断问题不是出如今数据库层面上。

      3. 继续分析接口的代码,发现业务非常easy,就是调用一个webservices。喜出望外。定位到接口未加超时时间,要开发加上,然后发增量到现场。

      现场增量后。还是一天阻塞一次。问题没有解决,接口的超时设置不生效?但在本地測试是能够的。

继续分析接口代码。发现接口是通过xfile实现,版本号是1.4.2,在网上找了一下对应的设置方法,有三种。都加上去。增量上去之后还是没有解决这个问题。

      因为找不出来问题,仅仅好绕过xifile,把接口改写,用axis的方式调用接口。增量上去后。问题解决。整个解决过程花了二周的时间。

      总结:当遇到一个问题实在是解决不了,能够考虑绕过去,用其它的方式解决。

当然,也不能一遇到问题就绕过去,度怎么把握,要靠自己,本次事件关于接口部分的调整,在网上找了很久的解决方式,同一时候也找了公司写接口最专业的人来支援诊断,这样都解决不了,仅仅能绕过去。对于开源的架构。也不能全信,对它的使用,一定要很成熟,使用很广泛才干在项目中使用,要不然。一定有懊悔的时候。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116579.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号