这两天在研究.NET分布式应用方案,我对.NET不是很了解,只知道就是三种方式可以实现分布式应用:COM+,.NET Remoting,Web Service。
感觉.NET Remoting提供很大灵活性,支持tcp,http协议。而且,基于性能上也考虑两种序列化方式binary和Soap方式。要比较那种方式好,要分几个方面,目前做了COM+,.NET Remoting调用性能对比。
对比方法:分别从SQL Server中读取534条数据。结果如下:
方式 | 结果1 | 结果2 | 结果3 | 结果4 | 结果5 |
VB调用COM+ | 0.212604 | 0.188813 | 0.180042 | 0.210625 | 0.193688 |
C#调用Remote(SingleTon+http) | 0.897640 | 0.991231 | 1.137596 | 1.179050 | 1.204560 |
C#调用Remote(SingleTon+tcp) | 0.795918 | 0.819037 | 0.849330 | 0.859216 | 0.875159 |
C#调用Remote(SingleTon+http+binaryFormater) | 0.719069 | 0.751276 | 0.816008 | 0.911830 | 0.858099 |
C#调用COM+(Library方式) | 0.078603316 | 0.069515306 | 0.085299745 | 0.089285714 | 0.085778061 |
C#调用COM+(Server方式) | 0.991709184 | 0.991230867 | 1.009566327 | 1.011001276 | 1.01690051 |
结果6 | 结果7 | 结果8 | 结果9 | 结果10 | 平均 |
0.200229 | 0.110000 | 0.137333 | 0.086625 | 0.057917 | 0.197154 |
1.281569 | 1.264509 | 1.316805 | 1.323820 | 1.345663 | 1.194244 |
0.899554 | 0.918367 | 0.924107 | 0.926818 | 0.938138 | 0.839732 |
0.928412 | 0.963170 | 0.968112 | 0.950255 | 0.995695 | 0.811256 |
0.086096939 | 0.085459184 | 0.086096939 | 0.087053571 | 0.065688776 | 0.081696 |
1.047672194 | 1.04942602 | 1.051817602 | 1.045918367 | 1.055484694 | 1.004082 |