Re: [Pre-ITP] httpd-2.0.53-0.3

2005-03-08 Thread Stipe Tolj
Hi Max,
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.
first comments on a real-life long-term runtime test I do with the version you 
offered:

See http://epimetheus.dev.wapme.net/server-status for the current status.
Here is a top snapshot of the machine:
 10:33:35 up 6 days,  9:00,  1 user,  load average: 0.00, 0.00, 0.00
76 processes: 68 sleeping, 8 running, 0 zombie, 0 stopped
CPU states:  21.6% user,  77.7% system,   0.0% nice,   0.7% idle
Mem:   1048044K total,   564704K used,   483340K free,0K buffers
Swap:   204800K total, 5832K used,   198968K free,0K cached
  PID USER PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
 3612 tolj   8   0  1344 258864 R 8.0  0.2   0:00 top
 1748 SYSTEM 8   0  5864 753264 S 3.8  0.7   3:27 httpd2
 3700 SYSTEM 8   0  5864 753264 S 3.1  0.7   0:34 httpd2
 2432 SYSTEM 8   0  5864 753668 S 2.5  0.7  10:31 httpd2
 2696 SYSTEM 8   0  5864 753264 S 2.5  0.7   3:18 httpd2
 3604 SYSTEM 8   0  5868 753664 S 2.5  0.7   8:22 httpd2
 2236 SYSTEM 8   0  5864 753264 S 2.2  0.7   2:05 httpd2
 3280 SYSTEM 8   0  5864 753264 S 2.2  0.7   6:33 httpd2
 3452 SYSTEM 8   0  5864 753264 S 2.2  0.7   3:19 httpd2
 3060 SYSTEM 8   0  5864 753264 S 2.2  0.7   0:12 httpd2
 1828 SYSTEM 8   0  5864 753668 S 2.2  0.7   0:27 httpd2
which means, CPU cycles at arround 100%. But that was the same for apache-1.3 
when bringing to excessive load. This is cygwin layer specifics I guess. And I 
don't think we will ever reach the half of the performance as Win32 native 
version. But that's ok.

The machine has a 1 GB space as RAM. And as you see it's not fully loaded. But 
I see these in /var/log/apache2/error_log:

$ tail /var/log/apache2/error_log
[Tue Mar 08 10:34:01 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:34:11 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:34:21 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:34:31 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:34:41 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:34:51 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:35:01 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:35:11 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:35:21 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process
[Tue Mar 08 10:35:31 2005] [error] (11)Resource temporarily unavailable: fork: 
Unable to fork new process

obiously we're having problems in fork()ing off new childs to serve. I know that 
I have (in early httpd-2.0 stages) introduced cygwin as a prefork MPM platform, 
after the pthread'ed version did not work reliable. Should be give pthread MPM 
another chance here?

Stipe
mailto:stolj_{at}_wapme.de
---
Wapme Systems AG
Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany
phone: +49.211.74845.0
fax: +49.211.74845.299
mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
---


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-03-08 Thread Max Bowsher
Stipe Tolj wrote:
Hi Max,
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.
first comments on a real-life long-term runtime test I do with the version 
you
offered:
Thanks!
...
which means, CPU cycles at arround 100%. But that was the same for 
apache-1.3
when bringing to excessive load. This is cygwin layer specifics I guess. 
And I
don't think we will ever reach the half of the performance as Win32 native
version. But that's ok.
I see 100% load, too, when serving lots of concurrent requests.
Doesn't interfere with interactive use of the machine in most cases, so I 
guess that's OK really, since no one should be using Cygwin for a dedicated 
server anyway.

The machine has a 1 GB space as RAM. And as you see it's not fully 
loaded.
But I see these in /var/log/apache2/error_log:

$ tail /var/log/apache2/error_log
[Tue Mar 08 10:34:01 2005] [error] (11)Resource temporarily unavailable: 
fork:
Unable to fork new process
...
obiously we're having problems in fork()ing off new childs to serve.
Interesting. I'm running an ApacheBench run from a linux machine on the same 
LAN, specifying 2 million connections, up to 100 concurrently.

I'm getting some errors relating to all my ports being taken up with 
TIME_WAIT connections, but no other errors.

I know
that I have (in early httpd-2.0 stages) introduced cygwin as a prefork MPM
platform, after the pthread'ed version did not work reliable. Should be 
give
pthread MPM another chance here?
I tried once before (around 2.0.48, IIRC) and the results were not good. 
Even under no significant load, many requests failed for no visible reason.

Max.


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-03-08 Thread Stipe Tolj
Max Bowsher wrote:
I see 100% load, too, when serving lots of concurrent requests.
Doesn't interfere with interactive use of the machine in most cases, so 
I guess that's OK really, since no one should be using Cygwin for a 
dedicated server anyway.
I do. But only for private playground ;)
Interesting. I'm running an ApacheBench run from a linux machine on the 
same LAN, specifying 2 million connections, up to 100 concurrently.

I'm getting some errors relating to all my ports being taken up with 
TIME_WAIT connections, but no other errors.
I did the test with siege, which is very good for load testing. So, any idea on 
why we get fork() resource problems?

I tried once before (around 2.0.48, IIRC) and the results were not good. 
Even under no significant load, many requests failed for no visible reason.
yep, that's the same I was observing. Unfortunatly I can confirm... via the 
work on the Kannel gateway, that cygwin's pthread lib is broken... unfortunatly 
no chance to give this a forensic analysis.

Are you going to go on with checking on the fork() problem Max? or intending to 
package for shipping? ;)

Stipe
mailto:stolj_{at}_wapme.de
---
Wapme Systems AG
Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany
phone: +49.211.74845.0
fax: +49.211.74845.299
mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
---


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-03-08 Thread Max Bowsher
Stipe Tolj wrote:
Max Bowsher wrote:
Interesting. I'm running an ApacheBench run from a linux machine on the
same LAN, specifying 2 million connections, up to 100 concurrently.
I'm getting some errors relating to all my ports being taken up with
TIME_WAIT connections, but no other errors.
I did the test with siege, which is very good for load testing. So, any 
idea
on why we get fork() resource problems?

I tried once before (around 2.0.48, IIRC) and the results were not good.
Even under no significant load, many requests failed for no visible 
reason.
yep, that's the same I was observing. Unfortunatly I can confirm... via 
the
work on the Kannel gateway, that cygwin's pthread lib is broken...
unfortunatly no chance to give this a forensic analysis.

Are you going to go on with checking on the fork() problem Max? or 
intending
to package for shipping? ;)
The fork() problem doesn't happen for me, so there's not a lot I can do 
about it.

Therefore, I think it's time for me to take this from Pre-ITP to ITP.
Max.


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-24 Thread Stipe Tolj
Max Bowsher wrote:
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.

Updated to 0.4, fixing the postinstall bug previously mentioned, and 
renaming the pidfile to httpd2.pid.
installing via setup runs fine.
After commenting out nobody user and group config directive in 
/etc/apache2/httpd.conf and changing ServerName directive I get the following:

[EMAIL PROTECTED] /etc
$ /usr/sbin/httpd2
Bad system call
and a gdb try gives:
[EMAIL PROTECTED] /etc
$ gdb /usr/sbin/httpd2.exe
GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as i686-pc-cygwin...(no debugging symbols found)
(gdb) run
Starting program: /usr/sbin/httpd2.exe
---Type return to continue, or q return to quit---
Program exited with code 0206000.
(gdb)
obviously something is getting messed up. The httpd2 is NOT starting.
BTW, I see in /usr/lib/apach2/lib that all shared modules have .so filename 
endings, which is obviously not what we want in the DLL world, right?

If I can assist in any kind to resolve, please shout, I'll try. In the 
meanwhile, I'll have also a view to your patch to review the changes.

Stipe
mailto:stolj_{at}_wapme.de
---
Wapme Systems AG
Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany
phone: +49.211.74845.0
fax: +49.211.74845.299
mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
---


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-24 Thread Igor Pechtchanski
On Thu, 24 Feb 2005, Stipe Tolj wrote:

 BTW, I see in /usr/lib/apach2/lib that all shared modules have .so filename
 endings, which is obviously not what we want in the DLL world, right?

If dlopen() is used, the libraries can be named anything, including *.so.
If they are linked with statically (so that the library needs to be looked
up by Windows), I think you're right, and they need to be *.dlls.
Igor
-- 
http://cs.nyu.edu/~pechtcha/
  |\  _,,,---,,_[EMAIL PROTECTED]
ZZZzz /,`.-'`'-.  ;-;;,_[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'   Igor Pechtchanski, Ph.D.
'---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-24 Thread Max Bowsher
Stipe Tolj wrote:
Max Bowsher wrote:
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.

Updated to 0.4, fixing the postinstall bug previously mentioned, and
renaming the pidfile to httpd2.pid.
installing via setup runs fine.
After commenting out nobody user and group config directive in
/etc/apache2/httpd.conf
Interesting, I didn't do that, but it just ignored those directives. (In 
fact, I'd assumed they were commented already, since it was running fine, 
but they actually aren't commented).

and changing ServerName directive I get the following:
[EMAIL PROTECTED] /etc
$ /usr/sbin/httpd2
Bad system call
Oops.
I forgot to document:
Apache2 requires cygserver.
Make sure cygserver is running, and that your CYGWIN envvar contains 
server.

BTW, I see in /usr/lib/apach2/lib that all shared modules have .so 
filename
endings, which is obviously not what we want in the DLL world, right?
Apache has standardized on .so - even for their native Win32 build.
In any case, it really doesn't matter - you can dlopen() whatever you want.
Plus *not* naming something .dll seems to be the only way to stop libtool 
trying to install it in a ../bin/ directory relative to where you actually 
tell it to install.

Max.


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-24 Thread Stipe Tolj
Max Bowsher wrote:
Oops.
I forgot to document:
Apache2 requires cygserver.
Make sure cygserver is running, and that your CYGWIN envvar contains 
server.
confirming, it runs.
Apache has standardized on .so - even for their native Win32 build.
In any case, it really doesn't matter - you can dlopen() whatever you want.
Plus *not* naming something .dll seems to be the only way to stop 
libtool trying to install it in a ../bin/ directory relative to where 
you actually tell it to install.
ok, fine with me, as you dlopen() it.
This should make a similar approach possible to php I guess.
Stipe
mailto:stolj_{at}_wapme.de
---
Wapme Systems AG
Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany
phone: +49.211.74845.0
fax: +49.211.74845.299
mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
---


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-20 Thread Max Bowsher
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.
Updated to 0.4, fixing the postinstall bug previously mentioned, and 
renaming the pidfile to httpd2.pid.

Max.



[Pre-ITP] httpd-2.0.53-0.3

2005-02-19 Thread Max Bowsher
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.
Max.


Re: [Pre-ITP] httpd-2.0.53-0.3

2005-02-19 Thread Max Bowsher
Max Bowsher wrote:
Preview packages of httpd-2.0.53-0.3 are available at:
http://www-stud.robinson.cam.ac.uk/~mob22/cygwin/
(setup.exe installable site)
Any comments welcome.
And, I've found 1 bug in the postinstall script already.
Workaround:
If you want to play with these packages, execute the following after you've 
installed them:

CYGWIN=nontsec cp -r /usr/share/apache2/htdocs  /srv/www
CYGWIN=nontsec cp -r /usr/share/apache2/cgi-bin /srv/www
Max.