app请求服务器的接口有时会出现超时的情况

服务器给app提供了许多接口,但有一个接口有时会出现请求超时的情况,想问一下这一般是什么原因,应该怎么解决。

2个回答

http接口吗?可以设置超时时间解决。
如果其他接口没有问题,那么最大的可能在于服务器响应慢,你可以通过浏览器访问试试

liuyuan19931217
晚灯下的烟火 浏览器访问没问题,都是秒回
大约 3 年之前 回复

估计出现超时的那个接口代码运行时间过长,比如从数据库查询大数据并且返回加载到内存中。
解决方式是把超时的那个接口分割成多个任务,多次分页返回,或者是另外重新开启线程异步处理,接口监听返回的结果。

wgllele
wgl1588 回复晚灯下的烟火: 回复晚灯下的烟火: 还有一种可能,返回的数据格式相对特殊,比如有些客户端会做一些预处理解析,比如格式规范和特殊字符等的解析,如果出现解析bug就会发生异常,导致长时间阻塞,能不能检查一下该接口的返回数据格式。
大约 3 年之前 回复
liuyuan19931217
晚灯下的烟火 这个接口在所有接口中算操作数据库很少的,复杂的接口没出现过超时
大约 3 年之前 回复
liuyuan19931217
晚灯下的烟火 但是这个请求超时几率不大,一般情况下都是秒回,测试阶段数据库现在没什么信息
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
获取APP的请求接口
在获取手机APP上的一些数据时,不像从网页中直接提取那么方便,可以通过找接口的方式,找到一个请求接口,往往这个接口都带有请求参数,可以通过改变这些请求参数来获取想要的数据。 想要找到接口,一个办法是:将自己电脑作为代理服务器,数据从手机传到电脑,电脑当代理服务器再转发,这时在电脑上会有拦截的程序,比如fiddler,会获取发送的包和返回的数据,这时再找json格式的数据,若是要找的接口,可以通过改
linux挂载出现超时的情况
修改etc/export之后必须要做的工作: ①启动rpcbind服务 service rpcbind start ②重新启动nfs服务 service nfs restart
!求教 AJAX 有时会出现不连接的情况
我最近要做一个 首页点击热点统计 rn我的方法是 通过点击 用AJAX 发送数据到我接收页面rn rn var url = "xx?Block=" + $(this).attr("dr");rnrn $.getJSON(url, function (data) rn return false;rnrn );rnrn问题出现了 当我点击有时候会出现不连接我的接收页面的情况rn请高手 出来说下什么情况 是跨域连接
iframe传递参数有时会出现session丢失的情况
iframe传递参数有时会出现session丢失的情况 rn如何解决?
app 请求服务器json数据
请求服务器json数据格式代码,详细如下; var url=obj.serUrl; //此处为请求服务器的路径url,放上自己的请求路径; var data = {//date里面携带参数,根据服务器要求填写好参数,看清楚是字符串类型,还是整型。 action:'getUser', username:loginInfowode, password:passwordwode };
访问内网的服务器有时候会出现超时的情况
公司有一台服务器,在接收外部来的数据,我是公司内网的用户,建立SQL客户端访问服务器的数据库,但有时候还会出现SQL超时的情况,用PING 服务器内网地址,很少会出现超时的情况。但SQLSERVER客户端访问服务器的数据库总是会出现超时的情况·~rnrn那台服务器接受有外网的数据,有UDP 和TCP 两种,TCP 基本占满带宽,但我觉得应该不会影响到内网。所以还是觉得是服务器的问题。rnrn为什么会出现这样的情况,我该怎么样找出是哪个地方的问题。rn
服务器LINUX有时会出现“域名无法解析”的现象
服务器LINUX有时会出现“域名无法解析”的现象rnLINUX 配置了lamp平台rn不知道这是不是和apache设置有关rn大概点10下就有一下出现无法打开,显示“域名无法解析”的现象rn求助要怎么解决rnCPU占用很低5%都不够rn是REDHAT AS5rn不知道为什么出现这现象,求HELP
Charles抓包Android App不成功及出现接口Unknown的情况说明
前提 Charles抓包软件 手机上网络设置代理,电脑ip:port 手机浏览器上访问chls.pro/ssl下载证书,文件格式为.pem,有些人说得改成.crt格式,试一下无妨 手机设置——网络或者安全——安装证书,可能需要先设置设备锁屏密码 问题 抓包出现接口Unknown,如图所示 开始采用一般做法,频繁下载证书、安装证书、电脑端Charles安装证书 点击help->SSL ...
调接口出现404情况
基本是前端问题:接口前面多出现一个   /  
请求接口超时前的预警机制
请求接口超时前的预警机制 【方案一】:调用接口处理时间过长,前端访问超时解决方案,改造为轮询查询程序执行结果。参考案例:调用接口处理时间过长,前端访问超时解决方案 1.后台接口改造为多线程执行,分两步:(1)创建线程执行接口内容;(2)提供接口查询功能 改造方法: 自动排课功能所在的service类实现Runnable接口,将自动排课的实现逻辑写在run方法中。 编写方法①创建并执...
c# 异步请求接口超时,如果间隔性在请求
现在我有个激活的接口,我这边收到数据后,要通知第三方接口,现在用的是委托异步回调方法请求的,如果有超时的情况,我应该如何间隔性的重复请求呢
偶尔会出现读取超时的情况。。。。。。。。。。。。。。。
多寄存器读 接受数据偶尔会出现读取超时 波特率19200rn for (int i = 0; i < len; i++)rn rn c = sw.ElapsedMilliseconds;rn serialPort1.Read(num, i, 1);rn d = sw.ElapsedMilliseconds; rn if ((d - c) > databyteout)//databyteout = 3rn rn WritePrivateProfileString("error", "C:", "C=" + c, FileNameerror);//记录时间rn WritePrivateProfileString("error", "D:", "D=" + d, FileNameerror);rn Form2.isok = false;rn Form2.boolcheck = false;rn WritePrivateProfileString("error", "error" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), "字间超时!" + num[i] + " " + i, FileNameerror);//记录读取超时的寄存器值rn MessageBox.Show("字间超时!");rn serialPort1.DiscardInBuffer();rn return;rn rn
更改文件夹名 出现登录超时的情况
如题 有谁遇到过这种情况 修改成功了 到登录超时 rnHttpContext.Current.Request.PhysicalApplicationPath rnHttpRuntime.AppDomainAppPathrn这几个根路径都换了 还是不得行rn帮忙
服务器出现这种情况(急救!!!)
我把C盘的管理员权限去掉以后,无法再添加,请高手指点!添加用户时,总是提示:找不到用户名
服务器超时时间和请求队列大小设置
https://tenfy.cn/2019/03/09/server-timeout-queue-size/?hmsr=toutiao.io&amp;amp;utm_medium=toutiao.io&amp;amp;utm_source=toutiao.io 服务器超时时间和请求列表大小关乎程序的健壮性。设置过小,会导致有效的请求被丢掉。 设置过大,严重的情况下会引起雪崩。 超时 很多后台码农对超时时间的...
有时会出现本地连接受限。
有时会出现本地连接受限。然后禁用,在启动就好了。我要知道下为什么会出现这种情况,原理是什么?
redis请求频繁就出现redis超时
1.初次使用redis开发接口时,遇到请求频繁就出现redis超时操作。 个人采取了加大连接数的做法。有那么一点点效果。 后来在知乎上看到: 首先是网络延迟,本地操作redis和远程操作至少差1/3的操作数 其次,数据量传输
httpClient多线程请求出现超时错误
单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时rn详细代码:rn[code=Java]rn package generate.httpclient;rn rn import java.util.List;rn import java.util.concurrent.ExecutorService;rn import java.util.concurrent.Executors;rn rn import org.apache.http.HttpEntity;rn import org.apache.http.HttpResponse;rn import org.apache.http.client.HttpClient;rn import org.apache.http.client.methods.HttpGet;rn import org.apache.http.conn.ClientConnectionManager;rn import org.apache.http.conn.params.ConnManagerParams;rn import org.apache.http.conn.scheme.PlainSocketFactory;rn import org.apache.http.conn.scheme.Scheme;rn import org.apache.http.conn.scheme.SchemeRegistry;rn import org.apache.http.impl.client.DefaultHttpClient;rn import org.apache.http.impl.conn.PoolingClientConnectionManager;rn import org.apache.http.params.BasicHttpParams;rn import org.apache.http.params.HttpConnectionParams;rn import org.apache.http.params.HttpParams;rn import org.apache.http.protocol.BasicHttpContext;rn import org.apache.http.protocol.HttpContext;rn import org.apache.http.util.EntityUtils;rn rn public class ThreadPoolHttpClient rn // 线程池rn private ExecutorService exe = null;rn // 线程池的容量rn private static final int POOL_SIZE = 20;rn private HttpClient client = null;rn String[] urls=null;rn public ThreadPoolHttpClient(String[] urls)rn this.urls=urls;rn rn public void test() throws Exception rn exe = Executors.newFixedThreadPool(POOL_SIZE);rn HttpParams params =new BasicHttpParams();rn /* 从连接池中取连接的超时时间 */ rn ConnManagerParams.setTimeout(params, 1000);rn /* 连接超时 */ rn HttpConnectionParams.setConnectionTimeout(params, 2000); rn /* 请求超时 */rn HttpConnectionParams.setSoTimeout(params, 4000);rn SchemeRegistry schemeRegistry = new SchemeRegistry();rn schemeRegistry.register(rn new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));rn rn //ClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);rn PoolingClientConnectionManager cm=new PoolingClientConnectionManager(schemeRegistry);rn cm.setMaxTotal(10);rn final HttpClient httpClient = new DefaultHttpClient(cm,params);rn rn // URIs to perform GETs onrn final String[] urisToGet = urls;rn /* 有多少url创建多少线程,url多时机子撑不住rn // create a thread for each URIrn GetThread[] threads = new GetThread[urisToGet.length];rn for (int i = 0; i < threads.length; i++) rn HttpGet httpget = new HttpGet(urisToGet[i]);rn threads[i] = new GetThread(httpClient, httpget); rn rn // start the threadsrn for (int j = 0; j < threads.length; j++) rn threads[j].start();rn rn rn // join the threads,等待所有请求完成rn for (int j = 0; j < threads.length; j++) rn threads[j].join();rn rn 使用线程池*/rn for (int i = 0; i < urisToGet.length; i++) rn final int j=i;rn System.out.println(j);rn HttpGet httpget = new HttpGet(urisToGet[i]);rn exe.execute( new GetThread(httpClient, httpget));rn rn rn rn //创建线程池,每次调用POOL_SIZErn /*rn for (int i = 0; i < urisToGet.length; i++) rn final int j=i;rn System.out.println(j);rn exe.execute(new Thread() rn @Overridern public void run() rn this.setName("threadsPoolClient"+j);rn rn try rn this.sleep(100);rn System.out.println(j);rn catch (InterruptedException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn rn HttpGet httpget = new HttpGet(urisToGet[j]);rn new GetThread(httpClient, httpget).get();rn rn rn rn rn );rn rn rn */rn //exe.shutdown();rn System.out.println("Done");rn rn static class GetThread extends Threadrn rn private final HttpClient httpClient;rn private final HttpContext context;rn private final HttpGet httpget;rn rn public GetThread(HttpClient httpClient, HttpGet httpget) rn this.httpClient = httpClient;rn this.context = new BasicHttpContext();rn this.httpget = httpget;rn rn @Overridern public void run()rn this.setName("threadsPoolClient");rn try rn Thread.sleep(5000);rn catch (InterruptedException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn get();rn rn rn public void get() rn try rn HttpResponse response = this.httpClient.execute(this.httpget, this.context);rn HttpEntity entity = response.getEntity();rn if (entity != null) rn System.out.println(this.httpget.getURI()+": status"+response.getStatusLine().toString());rn rn // ensure the connection gets released to the managerrn EntityUtils.consume(entity);rn catch (Exception ex) rn this.httpget.abort();rn finallyrn httpget.releaseConnection();rn rn rn rn rn[/code]rn调用的代码rn[code=Java]rn String[] urls = new String[20];rn for(int i=1;i<21;i++)rn rn String str = "http://"rn + "192.168.1."+irn + "/web/getwinoptions.php?opt=2.59,3.53,3.54,2.56,3.57,3.58,3.61,3.62,3.63,3.64,3.55,3.59,&ts=1331929083";rn urls[i-1]=str;rn rn ThreadPoolHttpClient pool = new ThreadPoolHttpClient(urls);rn pool.test();rn[/code]rn[b]执行的url都是有效的,单个执行或者在浏览器上打开时都没有问题,但是同时执行时就会超时[/b]rn参考资料: rn[url=http://www.cnblogs.com/wasp520/archive/2012/06/28/2568897.html]http://www.cnblogs.com/wasp520/archive/2012/06/28/2568897.html[/url]
我用VC的时候,运行时有时会出现这种情况,WHY
出现,,,“Ox004038bc"指令引用的“0xffffffe8”内存,该内存不能为“written”,
服务器TCP握手超时的一种情况(服务器不回SYN ACK)
近期遇到一个奇怪的问题,客户端到服务器的连接偶发超时,通过抓包,看到服务端收到了客户端的SYN包,但就是不回复SYN ACK,通过网上查找资料,详细原因如下: 服务器同时设置tcp_timestamps=1和tcp_tw_recycle=1,就会缓存每个客户端TCP通信数据包中最新的时间戳,后续请求中如果时间戳小于缓存的时间戳,即视为无效,相应的数据包会被直接丢弃。 启用该功能后,60s内同一...
请问XP里为什么有时会出现无法删除文件的情况?
在XP系统里删除某个文件夹时,有时会出现提示“无法删除某某文件,某某文件夹非空”的提示,重启电脑后又可以删掉了,是什么原因呢?
为何ASP.NET网站有时会出现应用程序没有启动的情况?
正常情况下,只要访问该虚拟目录内的任何页面而应用程序未启动,那么应用程序就会启动。rnrn有时会发生应用程序不启动的情况,造成动态加载的图片、链接都出现错误。但是只要访问了需要加载后台类库的页面,就又恢复正常了。rn但是这种情况过一阵子又会出现。rnrn诚心求教,谢谢!
Charles 抓包 APP请求后端接口工具使用
APP的WIFI 要配置手动配置代理,而且电脑的和手机的网络要在同一个局域网 当要抓取的线上环境是HTTPS的域名的话,手机端需要安装证书 PC客户端还要配一个SSL 代理端口        ...
app软件抓取其中请求接口?
例如手机上安装了一个app软件,如何才能获取到app软件里面请求的api接口,,请知道的说下思路什么的。
app前端请求,接口响应代码一览
[b]1、请求[/b] [code=&quot;java&quot;] ID: 1 Address: http://****/login Encoding: UTF-8 Http-Method: POST Content-Type: application/json;charset=utf-8 Headers: { accept-encoding=[ gzip, ...
http请求中web、app接口身份验证
前言 正文 web api 前言 其实不仅webapi,在web中的身份验证也是一个问题。两者在请求时都通过http请求,有相似之处。 对于http的身份验证方式有两个要点,必须传输敏感信息,但是又要保证安全性。 正文 web 对于web主要是将验证信息保存在cookie里面,然后取出cookies来验证,对于cookei的安全性,可以加密,可以分割多个cook
php对接app微信支付的请求接口
require_once(APPPATH."paylib/lib/WxPay.Api.php"); require_once(APPPATH."paylib/demo/WxPay.JsApiPay.php"); $tools = new JsApiPay(); //获取参数 $attach_value = $_POST['attach']?$_POST['attach']:$_GET[
利用 charles 拦截 iOS app 的 接口请求
1. charles 可以正常使用(注册登录) 2. 在 charles 停留在 SSL Proxying 处,出现次级选项 3. 选中最长的一个选项 4. 获取到电脑本机的地址 5. 打开手机的从wifi进入代理选定「手动」并设置为  弹窗提示的IP得知和端口号 5. 打开 iphone 浏览器 safari 输入网址 chls.pro/ssl 下载证书,并安装...
为什么我的APP会出现这个情况
[img=https://img-bbs.csdn.net/upload/201901/07/1546824881_325882.png][/img]rn首先我编译的release版本,然后APP有个问题我没有注意,会导致APP崩溃,但在真机上运行时,崩溃后会显示rn[quote][img=https://img-bbs.csdn.net/upload/201901/07/1546824936_451967.jpg][/img][/quote]rnrn我想问下为什么会出现这种情况,如果用户点击下Error Detail的话就可以看到很多信息,包括APP的包名,请问下这种情况如何避免, 以前APP(release版本)崩溃的时候不是APP直接消失么?只有debug是才会有这样的界面[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/21.gif][/img]
python函数应对超时情况
访问一个url时,有可能出现不断的访问,没有返回的情况,此时应该设个超时时间,进行其他处理 方法: 使用使用threading的timer定时器 from threading import timer def time_limit(interval): def wraps(func): def time_out(): raise RuntimeEr...
ajax请求会不会出现返回多次的情况?
我写了一个ajax,有一个返回值做标识位,对于不同的标志位做不同的处理(假使都是弹框),如果后天卡了,或者出现了其他错误,假使我只点击了页面一次,返回结果返回了两次,结果页面弹出了两个弹框。问下大家有没有遇到过这种情况?如果遇到过如何破?(我也没有遇到,无法复现生产上的问题),我再想,将ajax请求改为同步会不会改善?
服务器超时
我将.NET网站发布到服务器。,服务器本身能访问网站。其他机子访问 就会连接超时PING服务器也能PING通 这么整啊!rnwindow 2008
在页面抓取的时候有时会出错,返回结果不正确,不知道为什么有时会出现这种情况
RT
我服务器总是出现“超时时间已到”
这几天经常碰到网站打不开,我远程登陆服务器后发现cpu占用资源在40-60%(主要就是被sql占用了),连SQL Server Management Studio也打不开rnrn重新启动也没什么用,要重启好几次又正常了,过个1-3个小时又出现这样的情况(我应用程序池中回收工作进程是设置成300分钟的)rnrn不知道如何解决,真是急死人了
iOS 利用 charles 拦截 app 的 接口请求让接口不请求或者请求
第一步:在需要请求的接口打一个断点如下图 第二步:重新启动?APP如果:点击单步执行,这个接口就不请求了,点击About这个接口会请求 第三步:接口拦截成功如果所示 ...
服务器怎么解决移动端连接服务器接口总是超时的问题
在浏览器上访问服务器接口时是不会出问题的,但是安卓移动端访问时服务器有时看不到请求,然后安卓就超时了。
post请求总是超时
各位老师:今天出现了这样一个问题。我的app使用3G或2G,信息都能从服务端传送下来;但是连接公司的wifi却总是提示访问超时。有遇到这样的问题吗?------------------------------------------------------------------------------------------------------------------------------...
http 请求 超时时间设置
HttpParams params = new BasicHttpParams(); //设置连接超时时间 Integer CONNECTION_TIMEOUT = 2 * 1000; //设置请求超时2秒钟 根据业务调整 Integer SO_TIMEOUT = 2 * 1000; //设置等待数据超时时间2秒钟 根据业务调整 //定义了当从ClientConnectionManager
feign请求时间超时
异常信息: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is feign.RetryableException: Read timed out executing POST http://aceMarsoftCore/searchLoanList ...
APP开发实战176-服务器接口的单元测试
31.19 服务器接口的单元测试 在APP开发中,往往接口开发和APP开发的进度是并行的,甚至还落后于APP开发,导致在APP端调试接口非常麻烦,如果在APP端能模拟接口调用,那就极大的提高了APP开发和测试的效率。 31.19.1 单元测试简介 用Android Studio新建工程后,在app的java文件夹中,通常会包含如下三个文件夹:一个是app实际运行使用的代码文件夹,另两个就是单
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池