one should never edit scripts after pasting them into a e-mail. The URL in
the script test_server_under_load.tcl should read

        set url "http://localhost/page.ttml";

to be consistent with the name of the other script.

Sorry.
Holger
 ____________________________________________________________________
|
| Holger Zeinert   -   Development Manager CAE Division
|____________________________________________________________________
| LMS Deutschland GmbH      -      tel +49 631 4166-180, fax -166
| Luxemburger Str. 7, 67657 Kaiserslautern, GERMANY
| mailto:[EMAIL PROTECTED]     http://www.lmsintl.com




> -----Original Message-----
> From: Zeinert, Holger [mailto:[EMAIL PROTECTED]] 
> Sent: Sunday, December 08, 2002 7:42 PM
> To: Craig Huckabee
> Cc: [EMAIL PROTECTED]
> Subject: RE: Apache / mod_dtcl crashing under W2K
> 
> 
> ...
> 
> I should add, that messages in error.log are:
> 
>       "client stopped connection before rvputs completed"
> 
> Regards
> Holger
>  ____________________________________________________________________
> |
> | Holger Zeinert   -   Development Manager CAE Division
> |____________________________________________________________________
> | LMS Deutschland GmbH      -      tel +49 631 4166-180, fax -166
> | Luxemburger Str. 7, 67657 Kaiserslautern, GERMANY
> | mailto:[EMAIL PROTECTED]     http://www.lmsintl.com
> 
> 
> 
> 
> > -----Original Message-----
> > From: Zeinert, Holger 
> > Sent: Sunday, December 08, 2002 7:33 PM
> > To: Craig Huckabee
> > Cc: [EMAIL PROTECTED]
> > Subject: RE: Apache / mod_dtcl crashing under W2K
> > 
> > 
> > Hi,
> > 
> > here is a way how I can repeat the crash. First, a page 
> > accessing the global variables ENVS, COOKIES, ... is needed:
> > 
> > page.ttml:
> > 
> > <?
> >     puts "<html><body>"
> >     puts "<h1>top</H1>"
> >     puts "<br><br>"
> > 
> >     hgetvars
> >     append message "COOKIES:<br>"
> >     foreach a [array names COOKIES] {
> >         append message "COOKIES($a)=$COOKIES($a)<br>"
> >     }
> >     foreach a [array names CLIENT_ENVS] {
> >         append message "CLIENT_ENVS($a)=$CLIENT_ENVS($a)<br>"
> >     }
> >     foreach a [array names ENVS] {
> >         append message "ENVS($a)=$ENVS($a)<br>"
> >     }
> >     foreach a {HTTP_COOKIE} {
> >         if {[info exist ENVS($a)]} {
> >             append message "ENVS($a)=$ENVS($a)<br>"
> >         }
> >     }
> >     foreach a [array names env] {
> >         append message "env($a)=$env($a)<br>"
> >     }
> >     puts "<b>ENVS:</b>"
> >     foreach a [array names ENVS] {
> >         puts "ENVS($a) = $ENVS($a)<br>"
> >     }
> >     puts $message
> > 
> > 
> >     puts "</body></html>"
> > 
> > ?>
> > 
> > The configuration of apache is "ThreadsPerChild 50". To 
> > produce a high load and multiple accesses, I use another tcl 
> > script to access this page over and over again:
> > 
> > test_server_under_load.tcl:
> > 
> > package require http
> > 
> > set nr 0
> > set ref -1
> > 
> > set url "http://localhost/top.ttml";
> > 
> > puts "Using URL: $url \n"
> > 
> > puts "Starting Tests....\n\n"
> > 
> > while {1} {
> >     incr nr
> >     set token [http::geturl $url]
> >     # puts [http::data $token]
> > 
> >     set size [string length [http::data $token]]
> >     if {$ref == -1} {set ref $size}
> > 
> >     puts -nonewline "   $nr request => $size ($ref)       "
> > 
> >     if {$size != $ref} {
> >         puts "##########################"
> >         set fp [open [clock seconds].html w]
> >         puts $fp [http::data $token]
> >         close $fp
> >     } else {
> >         puts ""
> >     }
> >     http::cleanup $token
> > }
> > 
> > exit
> > 
> > 
> > The idea of the script is to request a page, store the size 
> > in bytes and request the page again and again. Everytime the 
> > size of the page differs from the the first call, the page is 
> > written into the current directory and a bar 
> > "###################" is written to stdout.
> > 
> > If I run this script using
> > 
> >     tclsh test_server_under_load.tcl
> > 
> > in one Windows Command Prompt, everything is fine. As soon as 
> > I start it in parallel in one or two other Command Prompts, 
> > all logs show the bars ############ with either size 0 or 
> > with missing data of ENVS, COOKIES, ...
> > After some time, also crashes of apache.exe occur. As soon as 
> > I switch the apache configuration back to "ThreadsPerChild 
> > 1", no bars ########## and no crashes occur anymore.
> > 
> > In this test, all is executed locally on my notebook: apache 
> > server and tcl script accessing the server.
> > 
> > Still, this will be difficult to debug, I guess...
> > 
> > Hope this helps!
> > Holger
> >  
> ____________________________________________________________________
> > |
> > | Holger Zeinert   -   Development Manager CAE Division
> > 
> |____________________________________________________________________
> > | LMS Deutschland GmbH      -      tel +49 631 4166-180, fax -166
> > | Luxemburger Str. 7, 67657 Kaiserslautern, GERMANY
> > | mailto:[EMAIL PROTECTED]     http://www.lmsintl.com
> > 
> > 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to