sealed.pm v4.0.0 is out
<[email protected]> Sat, 27 Aug 2022 11:42:44 -0400
| Newsgroups | gmane.comp.apache.mod-perl |
|---|---|
| Message-ID | <[email protected]> |
See https://sunstarsys.com/essays/perl7-sealed-lexicals. For the full effect, you will need to build B::Generate with this patched version instead: https://github.com/SunStarSys/cms/blob/master/Generate.xs
Sample mod_perl config + benchmarks:
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 100
MaxSpareThreads 500
ThreadLimit 1000
ThreadsPerChild 100
MaxRequestWorkers 1000000
MaxConnectionsPerChild 0
</IfModule>
<IfModule mod_perl.c>
PerlSwitches -T -I/home/joesuf4/src/cms/lib
PerlInterpStart 2
PerlInterpMax 4
PerlInterpMinSpare 1
PerlInterpMaxSpare 4
PerlInterpMaxRequests 1000000
PerlOptions +GlobalRequest
<Directory /home/joesuf4/src/cms>
Require all granted
AddHandler perl-script .pl
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
</Directory>
<Directory /home/joesuf4/src/trunk/content>
Require all granted
</Directory>
<VirtualHost *:80>
ServerName localhost
DocumentRoot /home/joesuf4/src/trunk/content
Alias /perl-script /home/joesuf4/src/cms
</VirtualHost>
</IfModule>
ab -n 10000 -c 1000 http://localhost/perl-script/enquiry.pl
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: Apache/2.4.52
Server Hostname: localhost
Server Port: 80
Document Path: /perl-script/enquiry.pl
Document Length: 1329 bytes
Concurrency Level: 1000
Time taken for tests: 1.218 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 15010000 bytes
HTML transferred: 13290000 bytes
Requests per second: 8207.94 [#/sec] (mean)
Time per request: 121.833 [ms] (mean)
Time per request: 0.122 [ms] (mean, across all concurrent requests)
Transfer rate: 12031.37 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 6.2 0 24
Processing: 4 93 49.6 82 458
Waiting: 1 80 44.5 71 455
Total: 17 95 49.5 84 458
Percentage of the requests served within a certain time (ms)
50% 84
66% 100
75% 112
80% 120
90% 147
95% 173
98% 233
99% 318
100% 458 (longest request)
% pgrep -f apache2 | xargs -n1 ps -uwww
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 442827 0.0 0.1 18180 14244 ? Ss 11:27 0:00 /usr/sbin/apache2 -k start
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 446387 1.7 1.5 7549352 129692 ? Sl 11:28 0:12 /usr/sbin/apache2 -k start
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 451006 15.2 1.5 7483708 128468 ? Sl 11:39 0:10 /usr/sbin/apache2 -k start
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 451317 11.7 1.4 7483772 119836 ? Sl 11:39 0:07 /usr/sbin/apache2 -k start
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 451629 6.4 1.3 7483804 113012 ? Sl 11:39 0:03 /usr/sbin/apache2 -k start
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 451929 1.1 1.4 7483816 116668 ? Sl 11:39 0:00 /usr/sbin/apache2 -k start
openpgp-digital-signature.asc
(application/pgp-signature, 3.8 KB)
-----BEGIN PGP SIGNATURE----- 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 qkpt1UGl =uVSx -----END PGP SIGNATURE-----