mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-15 07:45:54 +01:00
157 lines
4.2 KiB
Markdown
157 lines
4.2 KiB
Markdown
|
# FIRST TEST USING SEAMM MEMORY MANAGER
|
||
|
|
||
|
**Project under test**: `samples\renders\renders.dproj`
|
||
|
|
||
|
**Platform**: Win64
|
||
|
|
||
|
**OS**: Windows 10 Pro
|
||
|
|
||
|
**RAM**: 16GiB
|
||
|
|
||
|
**Machine Info**:
|
||
|
|
||
|
```
|
||
|
CPU
|
||
|
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
|
||
|
|
||
|
Base Speed: 2,11 GHz
|
||
|
Physical processors: 1
|
||
|
Cores: 4
|
||
|
Logical Processors: 8
|
||
|
Cache L1: 256 KB
|
||
|
Cache L2: 1,0 MB
|
||
|
Cache L3: 8,0 MB
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
**Action under test**: `/lotofobjects` (produces 3000 json object)
|
||
|
|
||
|
**Kind of test**: 10 concurrent threads issuing a total of 1000 requests.
|
||
|
|
||
|
**Test Phase**: Preliminar. More tests are needed also using distributed machines.
|
||
|
|
||
|
## USING DEFAULT DELPHI 10.3.1 RIO MEMORY MANAGER
|
||
|
|
||
|
```
|
||
|
C:\DEV\dmvcframework\samples\apachemodule\Apache24\bin\ab.exe -c 10 -n 1000 http://127.0.0.1:8080/lotofobjects
|
||
|
This is ApacheBench, Version 2.3 <$Revision: 1748469 $>
|
||
|
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
|
||
|
Licensed to The Apache Software Foundation, http://www.apache.org/
|
||
|
|
||
|
Benchmarking 127.0.0.1 (be patient)
|
||
|
Completed 100 requests
|
||
|
Completed 200 requests
|
||
|
Completed 300 requests
|
||
|
Completed 400 requests
|
||
|
Completed 500 requests
|
||
|
Completed 600 requests
|
||
|
Completed 700 requests
|
||
|
Completed 800 requests
|
||
|
Completed 900 requests
|
||
|
Completed 1000 requests
|
||
|
Finished 1000 requests
|
||
|
|
||
|
|
||
|
Server Software: DelphiMVCFramework
|
||
|
Server Hostname: 127.0.0.1
|
||
|
Server Port: 8080
|
||
|
|
||
|
Document Path: /lotofobjects
|
||
|
Document Length: 251001 bytes
|
||
|
|
||
|
Concurrency Level: 10
|
||
|
Time taken for tests: 33.767 seconds
|
||
|
Complete requests: 1000
|
||
|
Failed requests: 0
|
||
|
Total transferred: 251197000 bytes
|
||
|
HTML transferred: 251001000 bytes
|
||
|
Requests per second: 29.61 [#/sec] (mean)
|
||
|
Time per request: 337.674 [ms] (mean)
|
||
|
Time per request: 33.767 [ms] (mean, across all concurrent requests)
|
||
|
Transfer rate: 7264.69 [Kbytes/sec] received
|
||
|
|
||
|
Connection Times (ms)
|
||
|
min mean[+/-sd] median max
|
||
|
Connect: 0 0 0.3 0 1
|
||
|
Processing: 47 337 112.5 320 1183
|
||
|
Waiting: 46 336 112.4 320 1183
|
||
|
Total: 47 337 112.5 321 1183
|
||
|
|
||
|
Percentage of the requests served within a certain time (ms)
|
||
|
50% 321
|
||
|
66% 361
|
||
|
75% 394
|
||
|
80% 411
|
||
|
90% 477
|
||
|
95% 540
|
||
|
98% 627
|
||
|
99% 690
|
||
|
100% 1183 (longest request)
|
||
|
```
|
||
|
|
||
|
## USING SeaMM.dll and SeaRTL.dll (with RDPMM64.pas from R. Della Pasqua)
|
||
|
|
||
|
```
|
||
|
C:\DEV\dmvcframework\samples\apachemodule\Apache24\bin\ab.exe -c 10 -n 1000 http://127.0.0.1:8080/lotofobjects
|
||
|
This is ApacheBench, Version 2.3 <$Revision: 1748469 $>
|
||
|
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
|
||
|
Licensed to The Apache Software Foundation, http://www.apache.org/
|
||
|
|
||
|
Benchmarking 127.0.0.1 (be patient)
|
||
|
Completed 100 requests
|
||
|
Completed 200 requests
|
||
|
Completed 300 requests
|
||
|
Completed 400 requests
|
||
|
Completed 500 requests
|
||
|
Completed 600 requests
|
||
|
Completed 700 requests
|
||
|
Completed 800 requests
|
||
|
Completed 900 requests
|
||
|
Completed 1000 requests
|
||
|
Finished 1000 requests
|
||
|
|
||
|
|
||
|
Server Software: DelphiMVCFramework
|
||
|
Server Hostname: 127.0.0.1
|
||
|
Server Port: 8080
|
||
|
|
||
|
Document Path: /lotofobjects
|
||
|
Document Length: 251001 bytes
|
||
|
|
||
|
Concurrency Level: 10
|
||
|
Time taken for tests: 14.973 seconds
|
||
|
Complete requests: 1000
|
||
|
Failed requests: 0
|
||
|
Total transferred: 251197000 bytes
|
||
|
HTML transferred: 251001000 bytes
|
||
|
Requests per second: 66.79 [#/sec] (mean)
|
||
|
Time per request: 149.730 [ms] (mean)
|
||
|
Time per request: 14.973 [ms] (mean, across all concurrent requests)
|
||
|
Transfer rate: 16383.48 [Kbytes/sec] received
|
||
|
|
||
|
Connection Times (ms)
|
||
|
min mean[+/-sd] median max
|
||
|
Connect: 0 0 0.4 0 1
|
||
|
Processing: 84 149 36.9 143 294
|
||
|
Waiting: 84 148 36.8 142 293
|
||
|
Total: 84 149 36.9 143 294
|
||
|
|
||
|
Percentage of the requests served within a certain time (ms)
|
||
|
50% 143
|
||
|
66% 163
|
||
|
75% 174
|
||
|
80% 181
|
||
|
90% 201
|
||
|
95% 219
|
||
|
98% 235
|
||
|
99% 249
|
||
|
100% 294 (longest request)
|
||
|
```
|
||
|
|
||
|
|
||
|
### Summary
|
||
|
|
||
|
The first test is quite impressive. Using the SEAMM we go from 29.61 to 66.79 requests/second. More tests are needed, however this one is a step in a good direction.
|
||
|
**No unit tests have been run, so do not use this setup in production if not for tests purpose.**
|