On Wed, Feb 8, 2012 at 3:40 PM, Michael Felt <[email protected]> wrote: > I was assuming that "worker.c" was the code that spawned the threads. > (remember, this is 2.2.22, not 2.4.0, in case that makes any difference)
uhh, huge difference... 2.2.x does not have loadable MPMs or the corresponding --enable-mpms-shared=all flag for simplification can we limit discussion to 2.4.x/2.5.x until that is working fine? that's the configure logic I started the thread for > > So, please correct me where I am wrong: > from "/etc/httpd/extra/httpd-mpm.conf > > # > # Only one of the below sections will be relevant on your > # installed httpd. Use "apachectl -l" to find out the > # active mpm. > # > > ... I assumed that this is where "worker.c" was telling me that mpm=worker > <IfModule mpm_prefork_module> > .... > # worker MPM > # StartServers: initial number of server processes to start > # MaxClients: maximum number of simultaneous client connections > # MinSpareThreads: minimum number of worker threads which are kept spare > ... > <IfModule mpm_worker_module> > StartServers 2 > MaxClients 150 > MinSpareThreads 25 > ... > <IfModule mpm_beos_module> > > etc.. > > Note - these are the ONLY compiled in modules: > > root@x105:[/]apachectl -l > Compiled in modules: > core.c > worker.c > http_core.c > mod_so.c > --- > OR > root@x105:[/]apachectl -M > Loaded Modules: > core_module (static) > mpm_worker_module (static) > http_module (static) > so_module (static) > authn_file_module (shared) > authn_dbm_module (shared) > authn_anon_module (shared) > authn_dbd_module (shared) > authn_default_module (shared) > authz_host_module (shared) > authz_groupfile_module (shared) > authz_user_module (shared) > authz_dbm_module (shared) > authz_owner_module (shared) > authz_default_module (shared) > auth_basic_module (shared) > auth_digest_module (shared) > dbd_module (shared) > dumpio_module (shared) > reqtimeout_module (shared) > ext_filter_module (shared) > include_module (shared) > filter_module (shared) > substitute_module (shared) > deflate_module (shared) > log_config_module (shared) > log_forensic_module (shared) > logio_module (shared) > env_module (shared) > mime_magic_module (shared) > cern_meta_module (shared) > expires_module (shared) > headers_module (shared) > ident_module (shared) > usertrack_module (shared) > unique_id_module (shared) > setenvif_module (shared) > version_module (shared) > mime_module (shared) > dav_module (shared) > status_module (shared) > autoindex_module (shared) > asis_module (shared) > info_module (shared) > cgid_module (shared) > dav_fs_module (shared) > vhost_alias_module (shared) > negotiation_module (shared) > dir_module (shared) > imagemap_module (shared) > actions_module (shared) > speling_module (shared) > userdir_module (shared) > alias_module (shared) > rewrite_module (shared) > Syntax OK > > which is the result of: > ./configure --enable-layout=AIX --with-mpm=worker --enable-mods-shared=all > > It is what I "expected", so where am I going wrong? > > > On Wed, Feb 8, 2012 at 9:27 PM, Jeff Trawick <[email protected]> wrote: >> >> On Wed, Feb 8, 2012 at 3:02 PM, Michael Felt <[email protected]> wrote: >> > Well, ..., removed external apr, just to be sure it was "the same as >> > before" >> > >> > For simplicity, I am thinking of MPM as multi-threaded versus >> > single-threaded. If that is correct, on AIX I am seeing multi-threaded >> > "pre-fork" behavior. >> >> Basically: The prefork MPM has single-threaded child processes; the >> worker MPM has multi-threaded child processes. >> >> > === >> > root@x105:[/]apachectl -l >> > Compiled in modules: >> > core.c >> > worker.c >> >> With "--enable-mpms-shared=all" you should not see prefork.c or >> worker.c (or any MPM) in this list. Something is going wrong at >> configure time. >> >> >> > http_core.c >> > mod_so.c >> > === >> > root@x105:[/]ps -G 202 -mo THREAD >> > USER PID PPID TID ST CP PRI SC WCHAN F TT >> > BND >> > COMMAND >> > daemon 299078 458806 - A 0 60 28 * 40001 - >> > - >> > /opt/httpd/sbin/httpd -k start >> > - - - 524427 S 0 60 1 f100070f10008040 8410400 >> > - - - >> > - - - 647261 S 0 60 1 f100070f10009e40 8410400 >> > - - - >> > - - - 667799 S 0 60 1 f100070f1000a340 8410400 >> > - - - >> > - - - 671983 S 0 60 1 f100070f1000a440 8410400 >> > - - - >> > - - - 680117 S 0 60 1 f100070f1000a640 8410400 >> > - - - >> > - - - 684109 S 0 60 1 f100070f1000a740 8410400 >> > - - - >> > - - - 749707 S 0 60 1 f100070f1000b740 8410400 >> > - - - >> > - - - 888971 S 0 60 1 f100070f1000d940 8410400 >> > - - - >> > - - - 905243 Z 0 60 1 - c00001 - >> > - - >> > - - - 970855 S 0 60 1 f100010012c4ffb8 410400 >> > - - - >> > - - - 999669 S 0 60 1 f100070f1000f440 8410400 >> > - - - >> > - - - 1003655 S 0 60 1 f100070f1000f540 8410400 >> > - - - >> > - - - 1044605 S 0 60 1 f100070f1000ff40 8410400 >> > - - - >> > - - - 1069255 S 0 60 1 f100070f10010540 8410400 >> > - - - >> > - - - 1101951 S 0 60 1 f100070f10010d40 8410400 >> > - - - >> > - - - 1204243 S 0 60 1 f100070f10012640 8410400 >> > - - - >> > - - - 1233133 S 0 60 1 f100070f10012d40 8410400 >> > - - - >> > - - - 1245225 S 0 60 1 f100070f10013040 8410400 >> > - - - >> > - - - 1249349 S 0 60 1 f100070f10013140 8410400 >> > - - - >> > - - - 1261619 S 0 60 1 f100070f10013440 8410400 >> > - - - >> > - - - 1278023 S 0 60 1 f100070f10013840 8410400 >> > - - - >> > - - - 1294395 S 0 60 1 f100070f10013c40 8410400 >> > - - - >> > - - - 1319117 S 0 60 1 f100070f10014240 8410400 >> > - - - >> > - - - 1323147 S 0 60 1 f100070f10014340 8410400 >> > - - - >> > - - - 1331321 S 0 60 1 f100070f10014540 8410400 >> > - - - >> > - - - 1355913 S 0 60 1 f100060000ebca08 400400 >> > - - - >> > - - - 1368225 S 0 60 1 f100070f10014e40 8410400 >> > - - - >> > - - - 1409275 S 0 60 1 f100070f10015840 8410400 >> > - - - >> > daemon 491756 458806 - A 0 60 1 f100060000e91208 40401 >> > - - /opt/httpd/sbin/httpd -k start >> > - - - 839725 S 0 60 1 f100060000e91208 400400 >> > - - - >> > daemon 565316 458806 - A 0 60 28 * 40001 - >> > - >> > /opt/httpd/sbin/httpd -k start >> > - - - 504043 S 0 60 1 f100070f10007b40 8410400 >> > - - - >> > - - - 512187 S 0 60 1 f100070f10007d40 8410400 >> > - - - >> > - - - 659535 Z 0 60 1 - c00001 - >> > - - >> > - - - 729261 S 0 60 1 f100070f1000b240 8410400 >> > - - - >> > - - - 733431 S 0 60 1 f100070f1000b340 8410400 >> > - - - >> > - - - 753851 S 0 60 1 f100070f1000b840 8410400 >> > - - - >> > - - - 925923 S 0 60 1 f100070f1000e240 8410400 >> > - - - >> > - - - 929947 S 0 60 1 f100070f1000e340 8410400 >> > - - - >> > - - - 938061 S 0 60 1 f100070f1000e540 8410400 >> > - - - >> > - - - 975039 S 0 60 1 f100070f1000ee40 8410400 >> > - - - >> > - - - 1007673 S 0 60 1 f100060000ebca08 400400 >> > - - - >> > - - - 1040579 S 0 60 1 f100070f1000fe40 8410400 >> > - - - >> > - - - 1073265 S 0 60 1 f100070f10010640 8410400 >> > - - - >> > - - - 1126419 S 0 60 1 f100070f10011340 8410400 >> > - - - >> > - - - 1171705 S 0 60 1 f100070f10011e40 8410400 >> > - - - >> > - - - 1183967 S 0 60 1 f100070f10012140 8410400 >> > - - - >> > - - - 1192149 S 0 60 1 f100070f10012340 8410400 >> > - - - >> > - - - 1228911 S 0 60 1 f100070f10012c40 8410400 >> > - - - >> > - - - 1237123 S 0 60 1 f100070f10012e40 8410400 >> > - - - >> > - - - 1257713 S 0 60 1 f100010012c4ffb8 410400 >> > - - - >> > - - - 1310959 S 0 60 1 f100070f10014040 8410400 >> > - - - >> > - - - 1339473 S 0 60 1 f100070f10014740 8410400 >> > - - - >> > - - - 1343615 S 0 60 1 f100070f10014840 8410400 >> > - - - >> > - - - 1347699 S 0 60 1 f100070f10014940 8410400 >> > - - - >> > - - - 1364159 S 0 60 1 f100070f10014d40 8410400 >> > - - - >> > - - - 1372165 S 0 60 1 f100070f10014f40 8410400 >> > - - - >> > - - - 1376461 S 0 60 1 f100070f10015040 8410400 >> > - - - >> > - - - 1396845 S 0 60 1 f100070f10015540 8410400 >> > - - - >> > root@x105:[/] >> > ==== >> > In the listing above, the PID numbers are the even numbers (processes) >> > while >> > the column TID (thread ID) are all odd. Threads are indented and "under" >> > the >> > process. >> > >> > Only "changes" were creation of a group daemon (id = 202, hence ps -G >> > 202), >> > and activating the extra/httpd-mpm.conf file via /etc/httpd/httpd.conf. >> > >> > So, even though I do not see any files named *mpm*.so I would think that >> > this shows that AIX it is "worker" and not pre-fork. >> > >> > >> > On Wed, Feb 8, 2012 at 5:57 PM, Jeff Trawick <[email protected]> wrote: >> >> >> >> On Wed, Feb 8, 2012 at 11:47 AM, Michael Felt <[email protected]> >> >> wrote: >> >> > Well, just slightly confused. >> >> > On my system I have "tested" in as much as I can https://hostname and >> >> > it >> >> > says "It works!". >> >> > What I need some assistence with perhaps is determeing which "mpm" >> >> > binary >> >> > was built, as I am only building one with 2.2.22 at the moment. >> >> >> >> Look in your modules directory for *mpm*.so to see what was >> >> built+installed. >> >> >> >> Look in your httpd.conf to see which of those available MPMs is loaded >> >> via LoadModule. >> >> >> >> (I think you'll find that prefork and worker are built for AIX, and >> >> worker is the one loaded by default.) >> >> >> >> > >> >> > re: Having only one script - I am not surprised there must be more >> >> > than >> >> > one, >> >> > but I hoped :) >> >> > There are actually two scripts - one that does the >> >> > configure/make/make >> >> > install, and one that creates the >> >> > template needed to make the package. >> >> > >> >> > FYI: I am working on getting a build for a svn client as well. AND - >> >> > I >> >> > am >> >> > doing these things because I am very tired of having to download 10 >> >> > to >> >> > 20 >> >> > .rpm packages, each with moving dependancies it seems, in order to >> >> > install >> >> > something that is supposed readily available. In short, I am trying >> >> > to >> >> > make >> >> > some packages that just 'install' with saying - you need this too, >> >> > and >> >> > then >> >> > when you install that - it says and I need this first, etc etc. >> >> > >> >> > In a word, boring. >> >> > >> >> > FYI: current tools (IBM and others) use /opt/freeware as their main >> >> > installation area - so I am opting for /opt/* (no freeware in the >> >> > name) >> >> > for >> >> > packages like coreutils, libz, pcre, apr, apr-util, etc. and >> >> > applications >> >> > (packaging) such as httpd and svn in /opt/httpd, /opt/svn. With your >> >> > wealth >> >> > of prior experience - if you see a trap I am setting for myself, >> >> > please >> >> > warn >> >> > me - and better - lead me to safety. >> >> > >> >> > regards, Michael >> >> > >> >> > >> >> > On Wed, Feb 8, 2012 at 3:40 PM, Jeff Trawick <[email protected]> >> >> > wrote: >> >> >> >> >> >> On Wed, Feb 8, 2012 at 9:08 AM, Michael Felt <[email protected]> >> >> >> wrote: >> >> >> > Well, it was building "something". I'll try the proposed change >> >> >> > and >> >> >> > make >> >> >> > sure it is still giving me "all" the mods. >> >> >> >> >> >> yeah, that was the idea... thanks! >> >> >> >> >> >> > FYI - I have added --enable-ssl (so that the same script works for >> >> >> > both >> >> >> > 2.2.22 and 2.4.0 which have different ideas of "all". >> >> >> >> >> >> As Graham mentioned, expect to have different scripts for different >> >> >> releases and do the right thing for each release. It isn't a good >> >> >> thing if people who play with configure more often but might not >> >> >> know >> >> >> the ancient history stare at the script and wonder about the odd >> >> >> choice of arguments. (I happen to remember about the >> >> >> AIX/--enable-so >> >> >> issue from long ago, but that needs to die.) >> >> >> >> >> >> > And I hope configure will still leave AIX modules as shared (as it >> >> >> > used >> >> >> > to >> >> >> > make them all static by default - long ago). >> >> >> >> >> >> If it doesn't build them shared using the appropriate configure >> >> >> args, >> >> >> that's what needs to be fixed. (Most people won't use this script.) >> >> >> >> >> >> > >> >> >> > I shall try both 2.4.0 and 2.2.22 (without --enable-ssl) - and I >> >> >> > am >> >> >> > continuing to work towards to havin g APR external to httpd. >> >> >> > >> >> >> > >> >> >> > On Tue, Feb 7, 2012 at 8:09 PM, Jeff Trawick <[email protected]> >> >> >> > wrote: >> >> >> >> >> >> >> >> The buildaix.ksh script committed recently had some outdated >> >> >> >> options >> >> >> >> or requirements, and didn't build loadable MPMs. Suggested >> >> >> >> changes >> >> >> >> are below. Do or do not fold, spindle, or mutilate; commit with >> >> >> >> or >> >> >> >> without testing; etc. >> >> >> >> >> >> >> >> Index: build/aix/buildaix.ksh >> >> >> >> >> >> >> >> =================================================================== >> >> >> >> --- build/aix/buildaix.ksh (revision 1241549) >> >> >> >> +++ build/aix/buildaix.ksh (working copy) >> >> >> >> @@ -30,11 +30,7 @@ >> >> >> >> > nohup.out >> >> >> >> ./configure \ >> >> >> >> --enable-layout=$LAYOUT \ >> >> >> >> - --enable-module=so \ >> >> >> >> - --enable-proxy \ >> >> >> >> - --enable-cache \ >> >> >> >> - --enable-disk-cache \ >> >> >> >> - --with-mpm=worker \ >> >> >> >> + --enable-mpms-shared=all \ >> >> >> >> --enable-mods-shared=all | tee nohup.out >> >> >> >> >> >> >> >> make | tee -a nohup.out >> >> >> >> >> >> >> >> -- >> >> >> >> Born in Roswell... married an alien... >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> Born in Roswell... married an alien... >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> Born in Roswell... married an alien... >> > >> > >> >> >> >> -- >> Born in Roswell... married an alien... > > -- Born in Roswell... married an alien...
