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-----