In my last post I've talked about my Java implementation of WSTest that can compete performance wise with the Microsoft implementation. My initial tests were performed using Virtual Machines and Windows2003 but since then I've managed to get my hands on a install CD of Windows2008 and a gigabit switch, so I finally could perform tests with some resemblance of a valid setup.
I still don't have server class hardware to play but at least I can run the tests on more than one machine. The web service host server is a Thinkpad T61p (Core2 Duo T7700 @ 2.40GHz, 4GB RAM), the client machines are a Macbook (Core2 Duo @ 2.16GHz, 1GB RAM) and a HP Compaq 2510p (Core2 Duo U7600 @ 1.20GHz, 2GB RAM)
I've used ApacheBench as the tool for generating load, example of use for the GetOrder test:
ab -c30 -n500000 -k -p post_files/getorder20.xml -H 'SOAPAction: "uri:WSTestWeb-TestService/GetOrder"' -T "text/xml;charset=UTF-8" http://172.17.1.100:8050/WSTest
The WCF implementation tested was the "WSTestSelfHost" (the numbers for the "WSTest_IISHosted" are lower) running on Windows2008 Std with all the latest updates and .NET 3.5SP1. The Java implementation runs on Ubuntu 8.10 with the Generic kernel using the sun-java-jdk-1.6.10 jvm.
Test Name | Windows/.NET/WCF | Windows/Mina | Linux/Mina | Linux/Grizzly |
---|---|---|---|---|
GetOrder-20 | 5095 | 7660 | 8569 | 9962 |
GetOrder-100 | 2773 | 3907 | 4214 | 4923 |
EchoStruct-20 | 2808 | 8412 | 9939 | 11343 |
EchoStruct-100 | 1582 | 3913 | 4170 | 4742 |
EchoList-20 | 2520 | 7844 | 9200 | 10112 |
EchoList-100 | 1346 | 3766 | 4124 | 4531 |
Some notes:
Update: I've update the values to include tests runs with the Mina based http engine, both on Windows and on Linux. Results for Grizzly on Windows are not included because Grizzly aborts/resets connections way to frequently when running on Windows2008
A subscrição é anónima e gera, no máximo, um e-mail por dia.
. Alternative serialization...
. WSTest, some numbers - Up...
. A fast implementation of ...
. Receiving events/notifica...