Will you share your changes (diff) with us? 

Regards,
Basant.

On Wed, Aug 08, 2007 at 04:48:36PM +0530, Seema Alevoor wrote:
> Hi,
> 
> I tried prototyping this layout structure with multiple MPMs using sfw build 
> environment.
> I modified sfw build scripts to build and install prefork, worker mpm 
> binaries under usr/apache2/bin directory.
> First I built apr and apr-util libraries with --enable-threads option and 
> then built prefork followed by worker.
> I have used different configure options for prefork and worker.
> All the required modules are created during prefork mpm build (existing way). 
>  For building worker mpm,
> I did not include the extra module options used for prefork since only the 
> 'httpd' binary from the worker build is copied to
> usr/apache2/bin directory as httpd.worker. There is no need to build these 
> modules again.
> All the modules that are generated during prefork build get installed under 
> usr/apache2/modules
> (I have changed the directory name from "libexec" to "modules" which is more 
> intuitive).
> 
> I tested these 2 co-located mpms along with the prefork mpm (part of SXDE 
> installation) located under /usr/apache2.
> First, I used torture script.  Then I ran Apache Test suite. I have listed 
> the result of these runs.
> Initially, some of the tests of Apache Test suite which passed for prefork 
> mpm failed (tests were hanging) for worker mpm.
> It was failing in cgi module. By default, prefork mpm uses mod_cgi and worker 
> mpm uses mod_cgid. My build didn't have mod_cgid.
> When I built and used cgid module, these tests passed for worker mpm and got 
> consistent results for co-located mpms and existing prefork mpm.
> 
> I  have listed below, the configuration options used for building prefork and 
> mpm.
> 
> prefork:
>              ./configure --prefix=/usr/apache2 \
>                  --enable-layout=Solaris-Apache2 \
>                  --enable-mods-shared=all \
>                  --enable-so \
>                  --enable-suexec \
>                  --enable-proxy \
>                  --enable-proxy-connect \
>                  --enable-proxy-ftp \
>                  --enable-proxy-http \
>                  --enable-proxy-ajp \
>                  --enable-proxy-balancer \
>                  --enable-file-cache \
>                  --enable-disk-cache \
>                  --enable-cache \
>                  --enable-mem-cache \
>                  --enable-deflate \
>                  --enable-cgi \
>                  --enable-cgid \
>                  --enable-ssl \
>                  --with-ssl=/usr/sfw \
>                  
> --with-apr=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr \
>                  
> --with-apr-util=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr-util \
>                  --with-mpm=prefork)
> 
> worker:
>              ./configure --prefix=/usr/apache2 \
>                  --enable-layout=Solaris-Apache2 \
>                  --enable-mods-shared=all \
>                  --enable-so \
>                  --with-ssl=/usr/sfw \
>                  
> --with-apr=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr \
>                  
> --with-apr-util=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr-util \
>                  --with-mpm=worker)
> 
> 
> Test Resutls:
> 
> A) torture.pl script runs:
> 
> 1) Running torture on co-located worker mpm
> 
> output:
> -------
>  > ./torture.pl -c 3000 http://localhost:3000/index.html
> ** torture.pl version 1.05 starting at Wed Aug  8 01:43:47 2007
> Transactions:           3000
> Elapsed time:           43.836 sec
> Bytes Transferred:      72000 bytes
> Response Time:          15.00 sec
> Transaction Rate:       68.44 trans/sec
> Throughput:             1642.50 bytes/sec
> Concurrency:            1026.7
> Status Code 200:        3000
> ** torture.pl version 1.05 ending at Wed Aug  8 01:45:03 2007
> 
> 
> 2) Running torture on co-located prefork mpm
> 
> output:
> -------
>  > ./torture.pl -c 1000 http://localhost:3000/index.html
> ** torture.pl version 1.05 starting at Wed Aug  8 02:04:06 2007
> Transactions:           1000
> Elapsed time:           171.426 sec
> Bytes Transferred:      24000 bytes
> Response Time:          65.32 sec
> Transaction Rate:       5.83 trans/sec
> Throughput:             140.00 bytes/sec
> Concurrency:            381.1
> Status Code 200:        1000
> ** torture.pl version 1.05 ending at Wed Aug  8 02:07:07 2007
> 
>  > ./torture.pl -c 2000 http://localhost:3000/index.html
> ** torture.pl version 1.05 starting at Wed Aug  8 01:55:07 2007
> Transactions:           2000
> Elapsed time:           221.519 sec
> Bytes Transferred:      38784 bytes
> Response Time:          108.84 sec
> Transaction Rate:       9.03 trans/sec
> Throughput:             175.08 bytes/sec
> Concurrency:            982.7
> Status Code 200:        1616
> Status Code 503:        384
> ** torture.pl version 1.05 ending at Wed Aug  8 01:59:10 2007
> 
> 
> 
> 2) Running torture on original (the one that gets installed as part of OS 
> installation under /usr/apache2) prefork mpm
> 
> output:
> -------
>  > ./torture.pl -c 1000 http://localhost:3000/index.html
> ** torture.pl version 1.05 starting at Thu Aug  2 03:25:22 2007
> Transactions:           1000
> Elapsed time:           168.460 sec
> Bytes Transferred:      44000 bytes
> Response Time:          57.37 sec
> Transaction Rate:       5.94 trans/sec
> Throughput:             261.19 bytes/sec
> Concurrency:            340.6
> Status Code 200:        1000
> ** torture.pl version 1.05 ending at Thu Aug  2 03:28:21 2007
> 
> ./torture.pl -c 2000 http://localhost:3000/index.html
> ** torture.pl version 1.05 starting at Thu Aug  2 03:20:29 2007
> Transactions:           2000
> Elapsed time:           223.134 sec
> Bytes Transferred:      69916 bytes
> Response Time:          110.50 sec
> Transaction Rate:       8.96 trans/sec
> Throughput:             313.34 bytes/sec
> Concurrency:            990.4
> Status Code 200:        1589
> Status Code 503:        411
> ** torture.pl version 1.05 ending at Thu Aug  2 03:24:33 2007
> 
> 
> 
> B) Apache Test suite runs: on co-located prefork, worker and original (the 
> one that gets installed as part of OS installation under /usr/apache2) 
> prefork mpms :
> 
> Failed Test                Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> t/apache/errordoc.t                      14    6  42.86%  2 4 6 10 12 14
> t/modules/cache.t                         3    3 100.00%  1-3
> t/modules/include.t                      86    6   6.98%  4-6 47-48 53
> t/modules/proxy.t                        13   12  92.31%  1-8 10-13
> t/modules/proxy_balancer.t                1    1 100.00%  1
> t/modules/vhost_alias.t                   8    8 100.00%  1-8
> t/protocol/nntp-like.t      255 65280     5    8 160.00%  2-5
> t/security/CVE-2006-5752.t                2    1  50.00%  2
> 11 tests and 14 subtests skipped.
> Failed 8/66 test scripts, 87.88% okay. 41/2421 subtests failed, 98.31% okay.
> 
> 
> 
> 
> The modified part of the layout looks like this:
> 
>       proto/root_i386/usr/apache2/bin/httpd.worker
>       proto/root_i386/usr/apache2/bin/httpd
>       proto/root_i386/usr/apache2/bin/apr-1-config
>       proto/root_i386/usr/apache2/bin/apu-1-config
>       proto/root_i386/usr/apache2/bin/htpasswd
>       proto/root_i386/usr/apache2/bin/htdigest
>       proto/root_i386/usr/apache2/bin/rotatelogs
>       proto/root_i386/usr/apache2/bin/logresolve
>       proto/root_i386/usr/apache2/bin/ab
>       proto/root_i386/usr/apache2/bin/checkgid
>       proto/root_i386/usr/apache2/bin/htdbm
>       proto/root_i386/usr/apache2/bin/htcacheclean
>       proto/root_i386/usr/apache2/bin/httxt2dbm
>       proto/root_i386/usr/apache2/bin/apxs
>       proto/root_i386/usr/apache2/bin/apachectl
>       proto/root_i386/usr/apache2/bin/dbmmanage
>       proto/root_i386/usr/apache2/bin/envvars-std
>       proto/root_i386/usr/apache2/bin/envvars
>       proto/root_i386/usr/apache2/bin/suexec.disabled
>       proto/root_i386/usr/apache2/modules
>       proto/root_i386/usr/apache2/modules/mod_auth_gss.so
>       proto/root_i386/usr/apache2/modules/mod_authn_file.so
>       proto/root_i386/usr/apache2/modules/mod_authn_dbm.so
>       proto/root_i386/usr/apache2/modules/mod_authn_anon.so
>       proto/root_i386/usr/apache2/modules/mod_authn_dbd.so
>       proto/root_i386/usr/apache2/modules/mod_authn_default.so
>       proto/root_i386/usr/apache2/modules/mod_authz_host.so
>       proto/root_i386/usr/apache2/modules/mod_authz_groupfile.so
>       proto/root_i386/usr/apache2/modules/mod_authz_user.so
>       proto/root_i386/usr/apache2/modules/mod_authz_dbm.so
>       proto/root_i386/usr/apache2/modules/mod_authz_owner.so
>       proto/root_i386/usr/apache2/modules/mod_authz_default.so
>       proto/root_i386/usr/apache2/modules/mod_auth_basic.so
>       proto/root_i386/usr/apache2/modules/mod_auth_digest.so
>       proto/root_i386/usr/apache2/modules/mod_file_cache.so
>       proto/root_i386/usr/apache2/modules/mod_cache.so
>       proto/root_i386/usr/apache2/modules/mod_disk_cache.so
>       proto/root_i386/usr/apache2/modules/mod_mem_cache.so
>       proto/root_i386/usr/apache2/modules/mod_dbd.so
>       proto/root_i386/usr/apache2/modules/mod_dumpio.so
>       proto/root_i386/usr/apache2/modules/mod_ext_filter.so
>       proto/root_i386/usr/apache2/modules/mod_include.so
>       proto/root_i386/usr/apache2/modules/mod_filter.so
>       proto/root_i386/usr/apache2/modules/mod_deflate.so
>       proto/root_i386/usr/apache2/modules/mod_log_config.so
>       proto/root_i386/usr/apache2/modules/mod_log_forensic.so
>       
> 
> 
> Please share your thoughts on this new layout & build options.
> 
> 
> Thanks and Regards,
> Seema.
> 
> 
> Sriram Natarajan wrote:
> > Hi
> >   I just posted my thoughts on as to how Apache 2.2.4 file layout could 
> > look so as to support multiple MPM support as part of our SAMP stack 
> > effort within SXDE. I would very much appreciate, if you could take a 
> > moment to review this proposal and let us know your concerns / suggestions.
> > 
> > Here is the url
> > http://www.opensolaris.org/jive/thread.jspa?threadID=36272
> > 
> > 
> > Thanks in advance
> > sriram
> > _______________________________________________
> > webstack-discuss mailing list
> > webstack-discuss at opensolaris.org
> > http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> _______________________________________________
> webstack-discuss mailing list
> webstack-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss

Reply via email to