Csla 3.7.0 and performance tests

Csla 3.7.0 and performance tests

Old forum URL: forums.lhotka.net/forums/t/7404.aspx


tiago posted on Wednesday, August 05, 2009

Hi all,

I begining to convert to Csla 3.7.0

So I took a project of mine (running under Csla 3.0.5 using Framwork .NET 2.0), copied it to another folder and linked the new one against Csla 3.7.0. Then I ran a couple of tests.

The firts round of the tests was made on a standalone computer: direct SQL connection, Remoting using simple DataPortal and DataPortal.Compressed. Then the same set of tests for the 3.7.0 version. Of course I renamed the remoting folder for the 3.7.0 version to get sure everything was allright.

Note that AndrĂ©s Villanueva's DataPortal.Compressed is broken under Csla 3.7.0

On the second round, I shut off the IIS and SQL server on the local computer and repeated everything using a remote computer on the same network, using 100 Mb Ethernet and IP address (so address translation time couldn't be an issue).

Computers on workgroups
Csla authentication
22.318 rows

Test results in seconds

3.0.5 on Framework .NET 2.0
local SQL:                      1.4
local portal simple:            3.0
local portal compressed:        7.8
network (IP) SQL:               2
network (IP) portal simple:     10 to 12
network (IP) portal compressed: 18

3.7.0 on Framework .NET 3.5
local SQL:                  1.7
local portal simple:        3.9
network (IP) SQL:           2
network (IP) portal simple: 8 to 11

Conclusions

1) On local access, Csla 3.0.5 is a bit faster
2) Compressed DataPortal takes longer (I know it's faster if I'm really far and use a ADSL/cable connection)
3) Remote Simple DataPortal looks faster under Csla 3.7.0! I did repeat the tests...

Questions

a) Is WCF any faster than remoting?

b) Is there a compressed version of WCF?

c) Does WCF speed depends on some settings? What are the fastest settings?

---

Tiago Freitas Leal

RockfordLhotka replied on Wednesday, August 05, 2009

Microsoft claims WCF is comparable in performance to Remoting. Your findings seem to confirm their statement.

The data portal interface changed in (I think) 3.5 to accomodate generics for Delete(). That is probably why Andres' compressed portal doesn't work. If it just the interface, it is probably pretty easy to update.

WCF speed does depend on settings. Configuring WCF is a world unto itself. I believe there are compressed bindings for WCF. You can also switch it to use binary XML instead of XML and that should provide some performance benefits.

Copyright (c) Marimer LLC