远程服务器调用超时什么意思,调用远程服务的超时现象
刚刚做完一个网站项目,网站的显示数据是通过远程服务获取的,过程比较“曲折”,如下图所示。
项目使用spring mvc来开发,其中需要请求rest服务,使用spring提供的RestTemplate类可以很方便的实现rest请求发送和响应结果接收。中间系统属于老版本的系统,采用的是php开发的。在测试过程中,发现网站上的数据显示极其不稳定,时不时地提示远程数据获取失败。使用http监听工具进行了追踪,是中间系统向网站响应的结果是链接超时,导致了网站解析响应结果时没有获取到数据。将中间系统的超时阀值调大后,中间系统可以正确地响应数据,可是网站仍然无法解析数据,后来发现RestTemplate的ReadTimeout设置的值太低,导致未能接受数据。同时将RestTemplate的ReadTimeout的值调大后,一切运行正常。
这里记录、强调的重要一点使我们开发人员的主观意识错误,导致于排除错误时未能快速定位错误原因。为什么这么说呢?网站使用的是spring mvc,RestTemplate的ReadTimeout值设置的为5秒,开发人员个人觉着拿到数据为null的响应没有等到5秒啊,怎么会超时呢?同样,中间系统是php开发的,而php开发人员设置的超时时间为15秒,也是个人觉着15秒拿数据怎么也够了呀,怎么会超时呢?
让真实数据和实践来说话!http监听工具可以查看每次请求的timeline,两个系统的开发人员分别仔细观察了各自请求的时间,平均在19秒左右!
说到这里,其实最想说明是,不要被我们自己的主观意识蒙蔽了双眼。为什么会出现上述的现象?在项目开发后期,特别是时间吃紧的状况下,开发人员在调试诸多问题的过程中,很容易地就想当然了,忽略了解决问题的本质。只有通过对真实数据的分析及实践操作,才能准确快速地找到问题原因!
所以,在任何情况下,一定要养成冷静思考的好习惯,一定要充分利用调试工具的功能,千万不要自己觉着!
远程服务器调用超时什么意思,调用远程服务的超时现象相关推荐
- java让服务器停止运行,java调用远程服务器的shell脚本以及停止的方法实现
最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手.考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个小程序,本地通过端 ...
- linux 循环执行ip停止服务,java调用远程服务器的shell脚本以及停止的方法实现
最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手.考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个小程序,本地通过端 ...
- 在远程服务器上调用windows(例如office的word、ppt,Surfer绘图软件等)组件时,遇到问题,解决方法记录
在远程服务器上调用windows的组件,遇到的问题,例如:office的word.ppt,Surfer绘图软件等组件的调用 使用ppt部署到服务器上,一直报错:检索 COM 类工厂中 CLSID 为 ...
- 手机调用远程服务器失败,如何
应付远程控制服务器失败
2009-10-28 7:21:31 出处:https://www.yqdown.com 为了保卫 服务器系统的安全性,网络管理员往往会执行 不少安全配置 ,而其中一些配置 有时会在无意间影响远程 ...
- FreeSwitch之调用rtp和deavesdrop传输音频流给远程服务器
监听录音后,发rtp给远程服务器 originate {local_addr=127.0.0.1,local_port=6666,remote_addr=127.0.0.1,remote_port=9 ...
- 远端服务器无响应请检查网络,连接远程服务器超时请检查网络连接
连接远程服务器超时请检查网络连接 内容精选 换一换 如果获取到的异常堆栈出现"System.Net.WebException: 无法连接到远程服务器 --->System.Net.So ...
- linux服务器(无界面)调用pycharm界面
linux服务器(无界面)调用pycharm界面 一:下载pycharm 这里直接复制下载好的文件 scp -r /home/peng/library/pycharm/pycharm-professi ...
- 如何调用华为云api_如何部署模型到ModelArts并远程调用 (五):如何调用在线API服务...
如何调用在线API服务 首先需要将导入的模型部署成一个在线API服务,然后根据调用指南中的API信息和指导文档,使用HTTPS请求进行调用. 部署模型为在线服务 参考此文档.并且可以参考此案例中的模型 ...
- 调用dubbo接口返回timeout_dubbo之timeout超时分析
背景 在使用dubbo时,通常会遇到timeout这个属性,timeout属性的作用是:给某个服务调用设置超时时间,如果服务在设置的时间内未返回结果,则会抛出调用超时异常:TimeoutExcepti ...
- linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令
通过SSH在本地控制远程服务器执行命令,如果每次都要登录到远程服务器真的好麻烦,起始通过SSH就可以远程执行 在本地使用 ssh $RemoteNode 可以在执行远程机器上的命令,例如 ssh ...
最新文章
- mysql 配置执行计划_MySQL深入学习(二)--配置、索引、执行计划
- FCKEditor 打开页面总是得到焦点问题处理 FCKConfig.StartupFocus=false;
- Ant Desing Pro2.0(一)项目初始化
- 利用ModelBinder防止XSS一次尝试
- 解决滑动UITableView自动显示delete按钮
- Retrofit的简单封装
- python计算最大公约数函数_python如何分享解两数的最大公约数 python代码 最大公约和最小公倍数数计算?...
- MATLAB实现图像滤波--高斯滤波
- xp系统usb android,xp系统usb网络共享怎么设置,xp系统usb手机网络共享设置方法
- 论文详读《基于改进 LeNet-5 模型的手写体中文识别》
- 上海行:陈正翔与 Mind+,最简易图形化编程工具
- TeamTalk 详细介绍
- MpAndroidChart饼图
- 简单高效记账本的具体操作方法
- scanf与getchar的区别
- 3.暴力破解凯撒密码
- hadoop(hdfs)常见面试题
- 一、大数据_课程导论(P2~P6)
- 数商云采购管理系统方案助力采购平台:缩短采购周期、降本增效
- c语言程序设计期末考试卷,C语言程序设计期末考试试卷