[STATUS] (httpd-test: perl-framework) Wed Jan 5 23:45:15 2005

2005-01-06 Thread Rodent of Unusual Size
httpd-test/perl-framework STATUS:   -*-text-*-
Last modified at [$Date: 2002/03/09 05:22:48 $]

Stuff to do:
* finish the t/TEST exit code issue (ORed with 0x2C if
  framework failed)

* change existing tests that frob the DocumentRoot (e.g.,
  t/modules/access.t) to *not* do that; instead, have
  Makefile.PL prepare appropriate subdirectory configs
  for them.  Why?  So t/TEST can be used to test a
  remote server.

* problems with -d perl mode, doesn't work as documented
  Message-ID: [EMAIL PROTECTED]
  Date: Sat, 20 Oct 2001 12:58:33 +0800
  Subject: Re: perldb

Tests to be written:

* t/apache
  - simulations of network failures (incomplete POST bodies,
chunked and unchunked; missing POST bodies; slooow
client connexions, such as taking 1 minute to send
1KiB; ...)

* t/modules/autoindex
  - something seems possibly broken with inheritance on 2.0

* t/ssl
  - SSLPassPhraseDialog exec:
  - SSLRandomSeed exec:


Flood output

2005-01-06 Thread Ken Youens-Clark
Hi,
I just discovered flood, and I'm interested in writing my own report  
based on the raw output.  The only documentation I can find is here:

	http://cvs.apache.org/viewcvs.cgi/httpd-test/flood/docs/docbook/ 
flood.xml?rev=1.8view=markup

Last updated on April 15, 2004, where it says at the very end:
!-- This section needs to be written. Volunteers? [jacekp] --
chapter
titleAnalyzing Flood output/title
paraNo information available at this time./para
/chapter
I've done a bit of reverse engineering with the  
examples/analyze-relative script and believe that the columns  
represent the following:

1  ???
2  connect
3  write
4  read
5  close
6  response
7  ???
8  URL
As you can see, I can't figure out the 1st and 7th columns.  I would  
love it if someone could help me out on this.  I'm working on a Perl  
version of the analyze-relative script so I can expand what it does.

Perhaps a question I should get answered before all of the above is  
whether flood is still being developed, if it is reliable/doing what I  
think, etc.?  Should I be using flood or can someone point me to a  
better program for stress-testing a web server with a bunch of URLs.

ky


Re: [STATUS] (httpd-test: perl-framework) Wed Jan 5 23:45:15 2005

2005-01-06 Thread Rodent of Unusual Size
-BEGIN PGP SIGNED MESSAGE-

Rodent of Unusual Size wrote:
 httpd-test/perl-framework STATUS: -*-text-*-
 Last modified at [$Date: 2002/03/09 05:22:48 $]

Well, bugger.  This moved to subversion and I didn't notice; these
have been coming from the old CVS.  Fixed momentarily and new ones
sent out..
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

Millennium hand and shrimp!
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBQd1lBZrNPMCpn3XdAQETswP/ak2MOk2lNdhsvcV8qjPbmrJcon87w4Eu
+Vi6OLCd4hKedyVGh36eUC8RP3Yhn4cueo64B1jbQjQdIbzCDm6rvslXv3S3YuQK
3dmXLp2TLmQEZfVmmk0tFbU5wWf/MXk0Zrc+VAk9FsDM5ALbjod9sjDWPUyqbtss
7H+dOBASmkA=
=w+yA
-END PGP SIGNATURE-


[STATUS] (httpd-test: flood) Thu 06 Jan 2005 11:29:40 AM EST

2005-01-06 Thread Rodent of Unusual Size
flood STATUS:   -*-text-*-
Last modified at [$Date: 2004-11-24 19:36:41 -0500 (Wed, 24 Nov 2004) $]

Release:

1.0:   Released July 23, 2002
milestone-03:  Tagged January 16, 2002
ASF-transfer:  Released July 17, 2001
milestone-02:  Tagged August 13, 2001
milestone-01:  Tagged July 11, 2001 (tag lost during transfer)

RELEASE SHOWSTOPPERS:

* Everything needs to work perfectly

Other bugs that need fixing:

* I get a SIGBUS on Darwin with our examples/round-robin-ssl.xml
  config, on the second URL. I'm using OpenSSL 0.9.6c 21 dec 2001.
  
* iPlanet sends Content-length - there is a hack in there now
  to recognize it.  However, all HTTP headers need to be normalized
  before checking their values.  This isn't easy to do.  Grr.

* OpenSSL 0.9.6
  Segfaults under high load.  Upgrade to OpenSSL 0.9.6b.
   Aaron says: I just found a big bug that might have been causing
   this all along (we weren't closing ssl sockets).
   How can I reproduce the problem you were seeing
   to verify if this was the fix?

* SEGVs when /tmp/.rnd doesn't exist are bad. Make it configurable
  and at least bomb with a good error message. (See Doug's patch.)
   Status: This is fixed, no?

* If APR has disabled threads, flood should as well. We might want
  to have an enable/disable parameter that does this also, providing
  an error if threads are desired but not available.

* flood needs to clear pools more often. With a long running test
  it can chew up memory very quickly. We should just bite the bullet
  and create/destroy/clear pools for each level of our model:
  farm, farmer, profile, url/request-cycle, etc.

* APR needs to have a unified interface for ephemeral port
  exhaustion, but aparently Solaris and Linux return different
  errors at the moment. Fix this in APR then take advantage of
  it in flood.

* The examples/analyze-relative scripts fail when there are less
  than 5 unique URLs.

Other features that need writing:

* More analysis and graphing scripts are needed

* Write robust tool (using tethereal perhaps) to take network dumps 
  and convert them to flood's XML format.
Status: Justin volunteers.  Aaron had a script somewhere that is
a start. Jacek is working on a Mozilla application, codename
Flood URL bag (much like Live HTTP Headers) and small
HTTP proxy.

* Get chunked encoding support working.
Status: Justin volunteers.  He got sidetracked by the httpd
implementation of input filtering and never finished 
this.  This is a stopgap until apr-serf is completed.

* Maybe we should make randfile and capath runtime directives that
  come out of the XML, instead of autoconf parameters.

* We are using apr_os_thread_current() and getpid() in some places
  when what we really want is a GUID. The GUID will be used to
  correlate raw output data with each farmer. We may wish to print
  a unique ID for each of farm, farmer, profile, and url to help in
  postprocessing.

* We are using strtol() in some places and strtoll() in others.
  Pick one (Aaron says strtol(), but he's not sure).

* Validation of responses (known C-L, specific strings in response)
   Status: Justin volunteers

* HTTP error codes (ie. teach it about 302s)
   Justin says: Yeah, this won't be with round_robin as implemented.  
Need a linked list-based profile where we can insert 
new URLs into the sequence.

* Farmer (Single-thread, multiple profiles)
   Status: Aaron says: If you have threads, then any Farmer can be
   run as part of any Farm. If you don't have threads, you can
   currently only run one Farmer named Joe right now (this will
   be changed so that if you don't have threads, flood will attempt
   to run all Farmers in serial under one process).

* Collective (Single-host, multiple farms)
  This is a number of Farms that have been fork()ed into child processes.

* Megaconglomerate (Multiple hosts each running a collective)
  This is a number of Collectives running on a number of hosts, invoked
  via RSH/SSH or maybe even some proprietary mechanism.

* Other types of urllists
a) Random / Random-weighted
b) Sequenced (useful with cookie propogation)
c) Round-robin
d) Chaining of the above strategies
  Status: Round-robin is complete.

* Other types of reports
  Status: Aaron says: simple reports are functional. Justin added
  a new type that simply prints the approx. timestamp when
  the test was run, and the result as OK/FAIL; it is called
  easy reports (see flood_easy_reports.h).

[A-T patch] changing should_skip_module to support regex skip patterns

2005-01-06 Thread Stas Bekman
As you can see from the email below, some modules embed a version number 
in the module 'mod_fastcgi-2.4.2-AP20.dll'. Our should_skip_module only 
matches an exact name. The patch at the end of this email extends the 
functionality to support regex skip arguments. Let me know if you have any 
objections to this change.

The only bad things about this change is that it slows things a bit (now 
needs to iterate over all entries in skip list on each module, previously 
it was a single hash lookup).

Nick, also please confirm that the patch below *does* work for you :) Thanks.
Nick *** wrote:
 Nick *** wrote:
 
  Are you running the latest dev svn?
  
  The latest svn is fine. I just removed the patch in order to test more
  this issue, and that's the coredump...
 
 Understood. I certainly don't have the time to look at fastcgi problems at 
 the moment. If someone can that would be great.
 
 so we are all well on this setup. Great!

Not quite well with RC3.

When executing this code in TestRun.pm
# - don't inherit LoadModule perl_module from the apache httpd.conf
# - loaded fastcgi crashes some mp2 tests
my %skip = map { (mod_$_.c = 1) } qw(perl fastcgi);
sub should_skip_module {
my($self, $name) = @_;
print \n\n$name\n\n;
exists $skip{$name} ? 1 : $self-SUPER::should_skip_module($name);
}
and checking for fastcgi, the value of $name is 'mod_fastcgi-2.4.2-AP20.dll' and not 'mod_fastcgi.c', so the module is loaded and the tests fail again.
Please try this patch:
Index: lib/ModPerl/TestRun.pm
===
--- lib/ModPerl/TestRun.pm  (revision 124346)
+++ lib/ModPerl/TestRun.pm  (working copy)
@@ -64,12 +64,9 @@
 # - don't inherit LoadModule perl_module from the apache httpd.conf
 # - loaded fastcgi crashes some mp2 tests
-my %skip = map { (mod_$_.c = 1) } qw(perl fastcgi);
-sub should_skip_module {
-my($self, $name) = @_;
+my @skip = ('mod_perl.c', qr/mod_fastcgi.*?\.c$/);
-exists $skip{$name} ? 1 : $self-SUPER::should_skip_module($name);
-}
+Apache::TestConfig::autoconfig_skip_module_add(@skip);
 1;
Index: Apache-Test/lib/Apache/TestConfigParse.pm
===
--- Apache-Test/lib/Apache/TestConfigParse.pm   (revision 124346)
+++ Apache-Test/lib/Apache/TestConfigParse.pm   (working copy)
@@ -162,20 +162,28 @@
 #XXX mod_jk requires JkWorkerFile or JkWorker to be configured
 #skip it for now, tomcat has its own test suite anyhow.
 #XXX: mod_casp2.so requires other settings in addition to LoadModule
-my %autoconfig_skip_module = map { $_, 1 } qw(mod_jk.c mod_casp2.c);
+my @autoconfig_skip_module = qw(mod_jk.c mod_casp2.c);
 # add modules to be not inherited from the existing config.
 # e.g. prevent from LoadModule perl_module to be included twice, when
 # mod_perl already configures LoadModule and it's certainly found in
 # the existing httpd.conf installed system-wide.
 sub autoconfig_skip_module_add {
-my($name) = @_;
-$autoconfig_skip_module{$name} = 1;
+push @autoconfig_skip_module, @_;
 }
 sub should_skip_module {
 my($self, $name) = @_;
-return $autoconfig_skip_module{$name} ? 1 : 0;
+
+for (@autoconfig_skip_module) {
+if (UNIVERSAL::isa($_, 'Regexp')) {
+return 1 if $name =~ /$_/;
+}
+else {
+return 1 if $name eq $_;
+}
+}
+return 0;
 }
 #inherit LoadModule
@@ -192,7 +200,8 @@
 }
 my $name = basename $args-[1];
-$name =~ s/\.s[ol]$/.c/;  #mod_info.so = mod_info.c
+$name =~ s/\.(s[ol]|dll)$/.c/;  #mod_info.so = mod_info.c
+$name =~ s/\.dll$/.c/;  #mod_info.so = mod_info.c
 $name =~ s/^lib/mod_/; #libphp4.so = mod_php4.c
 $name = $modname_alias{$name} if $modname_alias{$name};
--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: [A-T patch] changing should_skip_module to support regex skip patterns

2005-01-06 Thread Geoffrey Young


Stas Bekman wrote:
 As you can see from the email below, some modules embed a version number
 in the module 'mod_fastcgi-2.4.2-AP20.dll'. Our should_skip_module only
 matches an exact name. The patch at the end of this email extends the
 functionality to support regex skip arguments. Let me know if you have
 any objections to this change.

+1

 +$name =~ s/\.(s[ol]|dll)$/.c/;  #mod_info.so = mod_info.c
 +$name =~ s/\.dll$/.c/;  #mod_info.so = mod_info.c

?

--Geoff


[ANNOUNCE] Apache-Test 1.19

2005-01-06 Thread Philippe M. Chiasson
The uploaded file
   Apache-Test-1.19.tar.gz
has entered CPAN as
  file: $CPAN/authors/id/G/GO/GOZER/Apache-Test-1.19.tar.gz
  size: 142015 bytes
   md5: 795c1fcefd0f21b126f573fc46427139
Changes since 1.18:
Test for module.c instead of module.so for IfModule in
find_and_load_module [Chia-Liang Kao chialiang gmail.com]
Apache-Test/META.yml is excluded from mp2 distro to make PAUSE indexer
happy, but then perl Makefile.PL complains about a missing META.yml,
so autogenerate it if it wasn't in the distro [Stas]

Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5


signature.asc
Description: OpenPGP digital signature