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 21:54:18 GMT
sounds good for me. Apologies for confusion!

On Wed, Feb 8, 2012 at 10:33 PM, Jeff Trawick <trawick@gmail.com> wrote:

> On Wed, Feb 8, 2012 at 3:40 PM, Michael Felt <mamfelt@gmail.com> 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 <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...
> >
> >
>
>
>
> --
> Born in Roswell... married an alien...
>

Mime
View raw message