Vista中的WCF性能问题

时间:2009-11-06 08:12:10

标签: wcf performance windows-vista windows-xp tcp

尝试在Vista上连接wsHttpBindings和NetNamedPipeBindings时,我遇到了Vista的性能问题。

我有4个WCF服务,第一个连接到第二个,第二个连接到另外两个。

问题是当我在Vista(64位)桌面上运行此设置时,响应时间非常奇怪。

笔记本: WsHttpBinding< 150毫秒 NetNamedPipeBinding< 30毫秒

对我来说似乎很正常,但是当我在Vista计算机上运行完全相同的设置时,结果如下所示。

桌面: WsHttpBinding< 50毫秒 NetNamedPipeBinding< 90毫秒

这似乎很奇怪,因为NetNamedPipeBinding应该总是比http更快。

另外需要注意的是,当我在调试模式下运行应用程序时,它将占用笔记本电脑上大约60%的CPU(两个内核)和桌面上大约15%的CPU(也是两个内核)。我不明白为什么。

我连接到webservices的代码:

//On the first webservices connection to SubCall
public SubCallServiceClient client = new SubCallServiceClient("NetNamedPipeBinding_ISubCallService");

//On the SubCall service connecting to Calls
private readonly CallsServiceClient callsClient = new CallsServiceClient("NetNamedPipeBinding_ICallsService");

//On The SubCall service connecting to Subscription    
private readonly SubscriptionServiceClient subscriptionClient = new SubscriptionServiceClient("NetNamedPipeBinding_ISubscriptionService");

有谁知道这可能是什么?

以下是两个系统的规格

笔记本

系统信息

操作系统:Windows XP Professional(5.1,Build 2600)Service Pack 3(2600.xpsp_sp3_gdr.090804-1435) 系统制造商:戴尔公司 系统型号:MP061
BIOS:Phoenix ROM BIOS PLUS版本1.10 A02 处理器:正版英特尔(R)CPU T2300 @ 1.66GHz(2个CPU) 内存:2046MB RAM 页面文件:使用705MB,可用2723MB DirectX版本:DirectX 9.0c(4.09.0000.0904) DxDiag版本:5.03.2600.5512 32位Unicode

.NET 3.5 Visual Studio 2008专业版

Dekstop PC:


系统信息

操作系统:Windows Vista™Business(6.0,Build 6001)Service Pack 1(6001.vistasp1_ldr.090805-0102) 系统型号:OptiPlex 760 BIOS:Phoenix ROM BIOS PLUS版本1.10 A03 处理器:Intel(R)Core(TM)2 Duo CPU E8400 @ 3.00GHz(2个CPU),~3.0GHz 内存:3930MB RAM 页面文件:使用1701MB,可用6337MB DirectX版本:DirectX 10 DxDiag版本:6.00.6001.18000 32位Unicode

.NET 3.5 Visual Studio 2008专业版

1 个答案:

答案 0 :(得分:0)

您的问题似乎不一致。

您的笔记本电脑是否运行Windows XP?

如果是:Windows XP没有IIS 7和WAS(Web激活服务)

运行WCF NetNamedPipeBinding需要IIS7 / WAS。

因此,我认为性能数字的不同之处在于:您正在运行与您认为运行的绑定不同的绑定。