httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Felt <mamf...@gmail.com>
Subject Re: [PATCH] AIX configure options
Date Wed, 08 Feb 2012 20:40:15 GMT
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)

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 <trawick@gmail.com> wrote:

> On Wed, Feb 8, 2012 at 3:02 PM, Michael Felt <mamfelt@gmail.com> 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 <trawick@gmail.com> wrote:
> >>
> >> On Wed, Feb 8, 2012 at 11:47 AM, Michael Felt <mamfelt@gmail.com>
> wrote:
> >> > Well, just slightly confused.
> >> > On my system I have "tested" in as much as I can https://hostnameand 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 <trawick@gmail.com>
> wrote:
> >> >>
> >> >> On Wed, Feb 8, 2012 at 9:08 AM, Michael Felt <mamfelt@gmail.com>
> 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 <trawick@gmail.com>
> >> >> > 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...
>

Mime
View raw message