mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-15 07:45:54 +01:00
Create memory_manager_test_01.md
This commit is contained in:
parent
703043f67a
commit
9b349531ec
156
docs/memory_manager_test_01.md
Normal file
156
docs/memory_manager_test_01.md
Normal file
@ -0,0 +1,156 @@
|
||||
# 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.**
|
Loading…
Reference in New Issue
Block a user