2012-07-31 146 views
0

我是WCF数据服务的新手。我使用ADO .NET Entity框架在WCF数据服务上创建了一个样本POC。WCF数据服务的性能问题

当我加入WCF数据服务作为服务的参考,为1000行简单的SELECT语句由一个测试项目的测试数据服务,它花了大约25秒。 25秒内只需5秒就可以从数据库查询数据(在分析数据库后获得此信息)。

其怪异的是WCF数据服务花了大约20秒,只是翻译和运输。

任何想法,为什么它花费这么多的时间翻译和运输?

+0

我们需要更多的细节就这个问题的任何转发进度 - 你可以看到,这些URL返回500个实体和回报率<10秒时:http://odata.netflix.com/Catalog/Titles和http :?//odata.netflix.com/Catalog/Titles $格式= JSON。最大的决定因素应该是电线的大小。这些有效载荷的尺寸是几个兆。你能否给我们更多的细节? – 2012-08-01 02:31:50

+0

我正在使用急切加载来获得导航属性的前期。所以在网络上的总大小是105MB左右。所以,这是105MB的作用,增加20秒的开销或是否有任何其他原因,可能会导致这一点,因为我使用相同的机器主机服务和测试客户端,有效载荷大小添加这样这种情况下影响巨大? – 2012-08-01 11:02:26

+0

这很可能是问题 - 电线上的105MB是巨大的。您应该只需加载实际要在同一屏幕上显示的内容。这是这种情况吗?你真的需要扩展数据的所有1000条记录吗?你能告诉我们更多关于你的用例吗? – 2012-08-01 13:57:40

回答

0

你的数据简直是太大了。

网络传输速度比从数据库获取数据慢几倍是绝对正常的,至少当查询由更多的大容量获取而不是复杂的窄过滤组成时,以及在没有主要性能问题的情况下数据库端。

100 MB在20秒= 40 Mbps的这将是相当接近100 Mbps以太网硬件限制鉴于〜100 MB仅仅是有效载荷。