COM+ Performace
前几天做了关于COM+的性能测试,http://www.cnblogs.com/dcll/archive/2004/08/30/37530.aspx ,结果因为表格太长,被dudu屏蔽了。 今天偶然在CodeProject上看到一篇文章也提到了COM+的性能问题,http://www.codeproject.com/dotnet/complusnetpracticalapp01.asp
其中涉及到性能数据:
这个结果和我的数据应该有些相似性,这篇文章的解释是因为COM+ Server方式是进程外调用,并且COM+存在Context,这些都影响了性能。从这个数据上也说明了这个道理:随着数据量增大,非COM+调用和COM+调用数据差距越来越小。而在LongInit中,居然COM+ Server方式超过了非COM+调用。
看来,COM+在.NET中并不是一点用处没有呢,只是不晓得各位在开发中,使用什么架构的?有用COM+吗?
其中涉及到性能数据:
No COM+ |
Library |
Server | |||||||
Pooling |
JITA |
Call Time |
PRS |
Pooling |
JITA |
Call Time |
RPS | ||
GetDataNoCom – 90 records |
300 |
X |
X |
X |
X |
X |
X |
X |
X |
GetDaataCom – 90 records |
X |
- |
- |
- |
233 |
- |
- |
- |
111 |
X |
+ |
+ |
- |
200 |
+ |
+ |
- |
105 | |
X |
+ |
+ |
+ |
200 |
+ |
+ |
+ |
105 | |
GetLargeDataNoCom - 900 records |
50 |
X |
X |
X |
X |
X |
X |
X |
X |
GetLargeDataCom – 900 records |
X |
- |
- |
- |
49 |
- |
- |
- |
36 |
X |
+ |
+ |
- |
48 |
+ |
+ |
- |
28 | |
X |
+ |
+ |
+ |
48 |
+ |
+ |
+ |
28 | |
LongInit |
1 |
X |
X |
X |
X |
X |
X |
X |
X |
LongInitCom |
X |
- |
- |
- |
1 |
- |
- |
- |
1 |
X |
+ |
+ |
- |
0.3 |
+ |
+ |
- |
100 | |
X |
+ |
+ |
+ |
0.3 |
+ |
+ |
+ |
100 | |
这个结果和我的数据应该有些相似性,这篇文章的解释是因为COM+ Server方式是进程外调用,并且COM+存在Context,这些都影响了性能。从这个数据上也说明了这个道理:随着数据量增大,非COM+调用和COM+调用数据差距越来越小。而在LongInit中,居然COM+ Server方式超过了非COM+调用。
看来,COM+在.NET中并不是一点用处没有呢,只是不晓得各位在开发中,使用什么架构的?有用COM+吗?