首页 新闻 会员 周边

解决服务器与App通信当中,App调用接口不能及时得到返回数据的问题。

1
[已关闭问题] 关闭于 2017-11-13 16:34

项目描述:.net作为开发语言的互联网平台项目(网页版),App(目前仅安卓版)通过webservices调用平台接口与之通信,在调用平台接口时,经常不能及时得到返回数据。

例如:需要拉出一个商品列表,提交请求后,会有较大的概率(有时超过50%),延迟一段时间(几秒到十几秒)才能得到数据,甚至得不到数据。而不延迟的时候,则返回数据时间正常(1秒左右)。延迟出现的时机比较随机,往往是一旦出现就会连着几个请求都会有延迟情况,但过了一定时间(几十秒)后,后面所有的请求又能及时返回数据了。

本项目的PC网页版本身的查询和操作又是正常的,基本不会出现延迟的情况,延迟情况仅出现在App调用接口的时候。

现在需要找到造成延迟的原因,并解决即可。可开放源代码以及配置环境配合服务方解决问题。


项目技术参数:

开发语言:.net
android调用方式:webservices
服务器配置环境:IIS7.5 + SQL2005
开发环境:Microsoft Visual Studio 2010 + sql2008


技能要求:有较丰富的.net/java(安卓类)相关的web项目经验,对IIS环境配置较为了解

服务酬金:1000-2000元

交付要求:服务方需准确找到造成延迟的原因,并给出可执行的解决方案,我方技术人员按照方案将上述问题排除算作问题解决(给出大致判断,或者模糊笼统的分析不算做问题解决)。可分期支付服务酬金。

联系方式:QQ(306098808)

菜鸟_王小帅的主页 菜鸟_王小帅 | 菜鸟二级 | 园豆:204
提问于:2017-11-09 09:44
< >
分享
所有回答(3)
0

查询时加上nolock试过没

吴瑞祥 | 园豆:29449 (高人七级) | 2017-11-09 10:09
0

所谓的延迟的时候直接sp who看下数据库哪个cost高,看下程序连接池大小是否正常,服务器cpu,内存开销是否正常,其他顺着一路扒下去就可以了,这算很小的问题了。

而且你所谓正常时候1s才能拉到结果的话要么返回的结果集太大要么本身性能就有问题,如果是查询的问题就需要对语句做检查,profiler中进行监控将那些有问题的拿出来一个个的改就完了。

Daniel Cai | 园豆:10424 (专家六级) | 2017-11-09 10:51
0

我们这也出现过类似问题,延迟情况仅出现在App调用接口的时候,是否是客户端设置的超时时间过短导致的?而且题主用的是webservice,是否是xml传输?数据量过大的时候反序列化整个xml也会导致性能问题.

Tech.Moonlight | 园豆:215 (菜鸟二级) | 2017-11-13 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册