请教各位前辈大神,现在遇到一个问题,做移动开发,访问服务器IIS上部署的API接口,目前的现象是APP每次打开后的几秒内连接超时,不设置超时时间也要很久,快则5,6秒慢则10秒以上才能连接成功,但是一旦连接成功后速度都很快,基本在1秒以下,在本地调试时没有出现过,只在服务器上出现;
通过写日志发现第一次提交访问,其实已经连接成功,处理也很快,但是到返回数据的时候,就卡住了,发起连接的无论是移动端或是写的测试客户端都要很久才能接受到数据。
按照网上查询到的预加载设置,也做了配置,但是没有效果,而且现象也有点区别,不是长时间没访问后IIS回收,是马上重新打开APP连接就会超时。
这个问题已经折腾很久了,目前只能做判断超时就重新调用接口,太麻烦了,体验很差。
请教可能问题出现在哪,能否提供些思路?服务器是在阿里云上,一旦连接成功后,访问速度很快,应该不是服务器性能或网络问题。

解决方案 »

  1.   

    你意思是,打开app第一次访问就慢,后面操作起来就不慢?
    然后关了,在开app,还是如上的问题?那接口方面,有对用户的操作进行什么校验或者过滤吗?
    本地调试没有这个问题。
    那么是不是应该说明服务器可能存在问题呢。
      

  2.   

    是的,每次重新打开后会重现这个问题,但只在服务器上,本地没有;
    校验问题应该也不存在,默认首次链接是登录验证身份,但如果不退出APP,只是退出登录,重新调用也是瞬间就完成了,并没有延迟,而且根据目前写的调试日志,第一次访问接口时,接口代码里处理业务及访问数据库都是正常的到返回数据都是很快,1秒不到就处理完成了,但是返回的数据APP端就要很长时间才能接受到
      

  3.   

    调试下,看看dns解析缓慢,还是程序启动缓慢,还是代码缓慢。
      

  4.   

    用的.net,语言是C#
      

  5.   

    看了,目前调试,程序启动正常,代码执行也很快,就是最后返回,查了IIS日志,有这样的状态码200 0 64;对这块不太了解,查询后说是“指定的网络名不再可用”,不知道是不是和这个相关,如果相关,导致这个情况的原因可能有哪些?
      

  6.   

    如果是刚部署完iis,第一次打开首页慢,这不是问题,因为iis启动程序需要时间。
    如果没动iis,而是每次打开首页都会很慢,那这个也跟iis无关,是程序的问题,检查接口。
    如果是每隔一段时间,就会出现打开首页慢的问题,那这个需要设置预加载。