为什么我的RESTful WCF服务对于LTE / 4G连接来说这么慢?

时间:2015-05-19 13:44:55

标签: iis iis-8

我使用WCF 4.5编写了一个简单的RESTful Web服务API,用于与我们的iPhone应用程序交换数据。该服务在我的办公室在带有IIS 8.0的Windows 2012 Server上托管,并通过我公司的域(即https://api.company.com/)从外部公开。

我遇到的问题是,当我从手机上的WiFi网络访问我的API时,我看到相对较快的响应时间(~1s),但是当我从AT& T LTE连接访问我的API时,响应时间时间(~10-20s)非常慢大多数。根据{{​​3}},我在LTE上的下载和上传速度实际上比我的WiFi连接更快

我在办公室和办公室都进行了测试。在办公室时,WiFi网络与服务器位于同一内部网络上,但在我家时,我的WiFi网络不在同一网络上。无论是在家里还是在办公室,我都看到了相同的~1-2s响应时间,我在两个位置看到了相同的~10-20s响应时间。

我已在IIS上启用了一些日志记录,以查看各个请求及其响应时间。我每次都更改了我的搜索查询,以确保响应没有被缓存到某个地方。我只撤回前100条记录,因此对于任何字母表的字母,查询的持续时间应该大致相同。 50.x.x.x地址来自我的家庭WiFi,166.x.x.x地址来自LTE连接。在LTE上发出的第一个请求实际上在这里超时,并选择了995(http://www.speedtest.net)的sc-win32-status。这种情况经常发生,我不确定它是什么问题,或者它是否相关。 LTE(q = j)上的一个查询耗时3秒。

#Fields: date time cs-method cs-uri-stem cs-uri-query s-port c-ip sc-status sc-substatus sc-win32-status time-taken
2015-05-19 01:29:21 GET /v1/users q=a 443 50.130.105.236 200 0 0 1762
2015-05-19 01:29:25 GET /v1/users q=b 443 50.130.105.236 200 0 0 1060
2015-05-19 01:29:29 GET /v1/users q=c 443 50.130.105.236 200 0 0 1060
2015-05-19 01:29:33 GET /v1/users q=e 443 50.130.105.236 200 0 0 1294
2015-05-19 01:29:39 GET /v1/users q=e 443 50.130.105.236 200 0 0 3151
2015-05-19 01:29:44 GET /v1/users q=f 443 50.130.105.236 200 0 0 1294
2015-05-19 01:30:11 GET /v1/users q=g 443 166.170.53.188 200 0 995 20156
2015-05-19 01:30:51 GET /v1/users q=h 443 166.170.53.188 200 0 0 19438
2015-05-19 01:30:59 GET /v1/users q=j 443 166.170.53.188 200 0 0 2979
2015-05-19 01:32:43 GET /v1/users q=k 443 166.170.53.188 200 0 0 23931
2015-05-19 01:32:57 GET /v1/users q=l 443 166.170.53.188 200 0 0 8502
2015-05-19 01:33:03 GET /v1/users q=m 443 50.130.105.236 200 0 0 2308
2015-05-19 01:33:06 GET /v1/users q=n 443 50.130.105.236 200 0 0 1372
2015-05-19 01:33:11 GET /v1/users q=o 443 50.130.105.236 200 0 0 1560
2015-05-19 01:33:16 GET /v1/users q=p 443 50.130.105.236 200 0 0 1419

我已经尝试在IIS中配置失败的请求跟踪,以便时间为> 5秒(ERROR_OPERATION_ABORTED)。事件日志中最长的持续时间是AspNetHttpHandlerEnter和AspNetHttpHandlerLeave之间的约1秒,我无法弄清楚请求的原因> LTE上5秒钟。

其他信息

  • 使用HTTPS和基本身份验证来保护服务。
  • 该服务使用Entity Framework 6.0和SQL Server
  • 有效负载是JSON并使用gzip压缩
  • 传输的数据量小于10kB
  • 该服务当前未使用任何异步调用
  • 此时正在轻松访问该服务(<每天500次通话)

0 个答案:

没有答案