Re: sealed.pm v4.0.0 is out
Joe Schaefer <[email protected]> Sat, 27 Aug 2022 09:25:50 -0700
| Newsgroups | gmane.comp.apache.mod-perl |
|---|---|
| Message-ID | <CAFQGv+b+RG01LYfmBQ9vPxX6W=b6pN+0Kxogx8XY1W+y3k8ujA@mail.gmail.com> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 So a <600MB total RSS footprint for the entire show, and I can stably sustain 1000 concurrent ModPerl::Registry requests, in a few milliseconds per request. Good luck doing anything this efficiently with a multi-tiered dynamic content delivery regime. The real tuning effort is to balance mpm_event threads (100 - 1000x) and ithreads. - -- Joe Schaefer, Ph.D. We only build what you need built. <[email protected]> 954.253.3732 On 2022-08-27 at 15:42, [email protected] wrote: > 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 -----BEGIN PGP SIGNATURE----- Version: FlowCrypt Email Encryption 8.3.3 Comment: Seamlessly send and receive encrypted email wsFzBAEBCgAGBQJjCkWOACEJEEAg7C7WAdUZFiEEf+9TuFcgikzfTrs6QCDs LtYB1RkFAw//ceUc4RCiyAE4/NiLHh7/RFihyIEBm4LIi+JOF7y61mzWmjj2 oFguaOACfG5zsF3TftGeJXmYtP9tTE9e4NC4TJJ0ciwD9Z22lpx1+3WM6Vwg gjnlYpm+HtElgvXB34DFj7k6ahNvbwT0NZxCa9R4Cx+x3mfe/43THDTqRHF7 H3QDqgsyEZingtBOL6uuViW82tR6f/Vl6tOf+3OQqCqsPHSr6UPzUorcB2wy uL7YJKKqxERi6hrZEPM2scQsKvkAc7CTuuxXG7J2nWL+FM+A/+nPYMUWR10b rJJcj0W+iHjcx0bmoIQJJdNOFkQn0hydprTdhH0caLN879OxX3pJI8jzjOxb A5btacCuXbPwHrNMxb4bmvPrDHTQj8Sw5B6ylOIRIX/YRWcrZ9lJO9cO9/61 0W005EZFEjzCiSrvDJuQLa+uvC7CNJkP2Fzi1SuOWkj8QnV0M1Y+4WfoFH8R ZDlHOdU5Nam8baREQZIDmkH/H/kSevbtdllZIWtlxDKUkN+H2/3LW1crMO60 sLJqDkO8J4CyDBp9crMOiRHaDx9Yxa/BnnXmwFHyqD07VwSzd43C81nUTfjN MwgxS9SpxwK24J6V6sRVwguPUyoO7ytLb8n7RZM5VIyD9dd0wc99VtxNf8hl eNMCrRd19h6Oj2cWxG1kTb6PinHUFgZ/DPY= =H1je -----END PGP SIGNATURE-----
0x4020EC2ED601D519.asc
(application/pgp-keys, 4.2 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: FlowCrypt Email Encryption 8.2.0 Comment: Seamlessly send and receive encrypted email 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 lRqShwVyRJwDqJbxZg== =EqP7 -----END PGP PUBLIC KEY BLOCK-----