 |
|
|
|
|
|
 |
| RealThinClient SDK v1.8 - using FastMM4 with 13 to 3.900 connections |
|
 |
|
Server:
Dual-processor AMD X2 at 4,4 GHz with 2 GB RAM
13 Client PCs:
3 x Pentium III at 650 MHz with 384 MB RAM
10 x Pentium III at 667 MHz with 256 MB RAM
- connected to one 24-port 100 MBit switch |
Thread Pool Size: 16
13 conn = 1 connection per Client PC
130 conn = 10 connections per Client PC
650 conn = 50 connections per Client PC
1.300 conn = 100 connections per Client PC
3.900 conn = 300 connections per Client PC |
All 13 Client PCs were running the RTC SDK AppClient Demo with the Multiple Connection Flood test,
using 1 - 300 connections
in Multithreaded mode (pool size set to 16 Threads) with automatic compression
and encryption to constantly flood the Server with remote function calls (total 13 - 3.900 connections),
Server was running the RTC SDK AppServer Demo in multithreaded mode (using 16 Threads)
with automatic encryption and compression. |
AppServer Performance:
FastMM4, 16 Threads, 13 - 3.900 Connections:
 |
AppServer Memory Usage:
FastMM4, 16 Threads, 13 - 3.900 Connections:
 |
Complete Test Results are available for download here:
AppServerFastMM16TResults.zip
FastMM4 and FastMove units which I used to stress-test
RTC SDK components, can be download here:
FastMM4+FastMove.zip
With 13 clients and average speed of 4.500 req/sec
(see above),
every time a client has sent a request to
the server, response came back in less than 3 ms.
|
Here is what happens in less than 3 ms ...
1) Client has prepared a remote function call
2) Client has sent this call as a request to the Server
3) Server has received the request
4) Server has executed a remote function
5) Remote Function has prepared the Result
6) Server has sent the Result back to the Client
7) Client has received the Result
8) Client has called the Result event |
|
|
|
 |
| RealThinClient SDK v1.8 - different Memory Managers - 16 Threads |
|
 |
|
Server:
Dual-processor AMD X2 at 4,4 GHz with 2 GB RAM
13 Client PCs:
3 x Pentium III at 650 MHz with 384 MB RAM
10 x Pentium III at 667 MHz with 256 MB RAM
- connected to one 24-port 100 MBit switch |
Thread Pool Size: 16
1) FastMM 4.56 (optimized)
2) BucketMem_ASM (optimized)
3) Nexus DB MM V3
4) RTL (standard in Delphi 7) |
All 13 Client PCs were running the RTC SDK AppClient Demo with the Multiple Connection Flood test,
using 300 connections in Multithreaded mode (pool size set to 16 Threads) with automatic compression
and encryption to constantly flood the Server with remote function calls (total 3.900 connections).
Server was running the RTC SDK AppServer Demo in multithreaded mode
(using 16 Threads) with automatic encryption and compression.
Winner in those RTC SDK Tests is FastMM 4.56 (best performance and lowest memory usage)
and the worst possible results were achieved using the standard Delphi Runtime Library
(RTL - awful performance with highest memory usage). |
AppServer Performance:
Different MMs, 16 Threads, 3.900 Connections:

|
AppServer Memory Usage:
Different MMs, 16 Threads, 3.900 connections:
 |
Complete Test Results can be downloaded here: AppServerTest16T.zip |
|
|
 |
| RealThinClient SDK v1.8 - tests with BucketMem and FastMM4 |
|
 |
|
Server:
Dual-processor AMD X2 at 4,4 GHz (2 x 2,2 GHz) with 2 GB RAM
14 Client PCs:
1 x AMD at 1,2 GHz with 768 MB RAM
3 x Pentium III at 650 MHz with 384 MB RAM
10 x Pentium III at 667 MHz with 256 MB RAM
- connected to one 24-port 100 MBit switch |
| Compiled with BucketMem_ASM and FastMove |
| Encryption |
Start: 18. Dec 2005, 02:35 CET
End: 18. Dec 2005, 12:05 CET |
| Test running: 9:30 Hours |
CPU |
Loop |
Conn |
Requests
processed
in 9:30 h |
650 |
100 |
300 |
4.484.390 |
650 |
100 |
300 |
4.799.530 |
650 |
100 |
300 |
4.627.900 |
667 |
100 |
300 |
4.710.240 |
667 |
100 |
300 |
4.738.880 |
667 |
100 |
300 |
4.829.420 |
667 |
100 |
300 |
5.459.790 |
667 |
100 |
300 |
4.798.930 |
667 |
100 |
300 |
5.351.810 |
667 |
100 |
300 |
5.173.650 |
667 |
100 |
300 |
5.096.800 |
667 |
100 |
300 |
5.213.710 |
667 |
100 |
300 |
5.207.600 |
1200 |
100 |
300 |
3.528.050 |
| TOTAL |
4.200 |
68.020.700 |
| Avg speed |
|
1.989/sec |
|
Encryption and Compression |
Start: 19. Dec 2005, 19:55 CET
End: 20. Dec 2005, 11:15 CET |
| Test running: 15:20 Hours |
CPU |
Loop |
Conn |
Requests
processed
in 15:20 h |
650 |
100 |
300 |
7.248.490 |
650 |
100 |
300 |
7.571.220 |
650 |
100 |
300 |
7.164.420 |
667 |
100 |
300 |
7.616.760 |
667 |
100 |
300 |
8.819.700 |
667 |
100 |
300 |
7.312.270 |
667 |
100 |
300 |
7.550.070 |
667 |
100 |
300 |
8.219.710 |
667 |
100 |
300 |
8.309.190 |
667 |
100 |
300 |
7.039.080 |
667 |
100 |
300 |
7.513.480 |
667 |
100 |
300 |
7.891.810 |
667 |
100 |
300 |
7.585.040 |
1200 |
100 |
300 |
4.919.000 |
| TOTAL |
4.200 |
104.760.240 |
| Avg speed |
|
1.897/sec |
|
|
| Compiled with FastMM4 using memory corruption/leak detection |
| Standard (no encryption) |
Start: 13. Dec 2005, 14:00 CET
End: 16. Dec 2005, 23:00 CET |
| Test running: 3 Days, 9 Hours |
CPU |
Loop |
Conn |
Requests
processed
in 81 Hours |
650 |
1.000 |
1.000 |
30.193.250 |
650 |
1.000 |
1.000 |
30.209.600 |
650 |
1.000 |
1.000 |
30.259.420 |
667 |
1.000 |
1.000 |
29.302.720 |
667 |
1.000 |
1.000 |
30.201.760 |
667 |
1.000 |
1.000 |
30.202.450 |
667 |
1.000 |
1.000 |
30.218.720 |
667 |
1.000 |
1.000 |
30.174.380 |
667 |
1.000 |
1.000 |
30.181.680 |
667 |
1.000 |
1.000 |
30.186.840 |
667 |
1.000 |
1.000 |
30.258.650 |
667 |
1.000 |
1.000 |
30.255.470 |
667 |
1.000 |
1.000 |
30.359.190 |
1200 |
1.000 |
1.000 |
43.322.270 |
| TOTAL |
14.000 |
435.326.400 |
| Avg speed |
|
1.492/sec |
|
| Encryption |
Start: 11. Dec 2005, 21:50 CET
End: 13. Dec 2005, 11:50 CET |
| Test running: 1 Day, 14 Hours |
CPU |
Loop |
Conn |
Requests
processed
in 38 Hours |
650 |
100 |
300 |
13.102.270 |
650 |
100 |
300 |
13.332.510 |
650 |
100 |
300 |
12.987.920 |
667 |
100 |
300 |
12.629.760 |
667 |
100 |
300 |
12.509.920 |
667 |
100 |
300 |
12.869.970 |
667 |
100 |
300 |
12.656.200 |
667 |
100 |
300 |
12.777.510 |
667 |
100 |
300 |
12.977.090 |
667 |
100 |
300 |
12.780.780 |
667 |
100 |
300 |
12.689.090 |
667 |
100 |
300 |
12.959.970 |
667 |
100 |
300 |
13.409.940 |
1200 |
100 |
300 |
11.418.100 |
| TOTAL |
4.200 |
179.101.030 |
| Avg speed |
|
1.309/sec |
|
|
|
|
|
|
|
|
|
|
|
 |