Re: [Pre-ITP] httpd-2.0.53-0.3
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
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
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
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
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
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
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
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
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
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
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.