Title: TC4-m4 REquestInfoExample data, questions, modified scripts
Hi,

I apologize for the critical tone (but also perhaps ignorance)of my
last post. I've got the flu or something. Yecch.

Here's the data I collected after running new, slightly modified,
scripts (see attached) for which RequestInfoExample is requested by ab
100,000 times on a Celeron 400Mz, 256MB SD100 memory, WD Caviar disk,
Redhat6.1, with almost nothing else going on:

C	T		X		Conn	Proc	%Busy	Overhead	T-Overhead		CPU/req
	secs		reqs/sec	ms	avg	CPU	CPU min	secs			secs
						ms	

1	2912.778	34.33		0	28	100	0.87		52.2	2860.578	0.0286
10	1495.122	66.88		0	149	100	0.92		55.2	1439.922	0.0144
20	1488.695	67.17		0	297	100	0.98		58.8	1429.895	0.0143
30	1503.032	66.53		0	450	100	1.12		67.2	1435.832	0.0144440	1591.704	62.83		0	636	100	1.31		78.6	1513.104	0.0151

The earlier results involving the HelloWorldExample servlet were
affected by variability which I think/hope is averaged out by the large
number of requests made.
The disk, as expected shows only about 1.8 requests per second, and is
not the bottleneck anyway (as expected).

My earlier results concerning HelloWorldExample were based on a smaller
N and were not adjusted to account for CPU overhead. I'll re-run them
ASAP. 

In the earlier results, thread queue locking was observed. Craig noted
that the number of background threads is set to 75 in the config file.
With that in mind, I made sure that the ab script ran with 70 or fewer
concurrent requests. Here's what happened:

catalina_log*.txt shows "HttpProcessor starting background
thread[8080][i]" where i runs from 0/1 up to 50. 

catalina.out contains a full thread dump (50 on down), one of which
involves the message "Waiting to be notified HttpProcessor[8080][43]".
This appears to be the result of a segmentation violation involving
HttpProcessor[8080][50] that is also reported. Of course, ab barfs from
C = 50 onward. As I recall, SEGV was also the cause of the thread dump
when I ran HelloWorldExample. So, the thread dump seems to be a
repeatable phenomena (on my machine), apparently a function of N & C.

QUESTION 1: Does segmentation violation occur on other machines? If so,
is it a problem? If not, why not?

QUESTION 2: What do the thruput and average processing times mean? Are
they "good", "bad", or what? 

QUESTION 3: Since the scripts can be modified to run any servlet, how
about a "realistic" one as Costin suggested in his ApacheCon
presentation (unless the examples are "representative"). 

(Hack) Roy

--

Roy Wilson
E-mail: [EMAIL PROTECTED] 

	

# Draft script by Roy Wilson used on Redhat6.1 system (bash)
# Assume ONLY HelloWorld servlet being used: better to have a set, but what?
# 
# To promote comparability, run script immediately after a cold boot
echo Run script only after a cold boot to make results comparable
echo When done please and post the summary file to Tomcat dev list
echo Usage: 
echo        sh tcscript servlet-name max-concurrency increment
echo Example:
echo        sh tcscript HelloWorldExample 100 10
rm -f summary
sh tcscript 1 $1
load="$3"
while [ "$load" -le "$2" ] 
do
        echo "Starting ab with load = " $load
        sh tcscript $load $1
        load=$(($load+$3))
done


# Roy Wilson 11/2/00

echo "Starting ab load test with C = " $1 "and servlet = "$2
rm -f $1$2.sardata
# Next 2 lines may need adjustment on account of OS differences
# Start with a fresh temporary system accounting log file
date >> summary
cp /var/log/savacct /var/log/tcacct
/usr/sbin/accton /var/log/tcacct
# sample CPU and disk usage with 1 second resolution
(sar -u -b -o $1$2.sardata 1 > /dev/null )&
sarpid=$!
# modify path in next line for use of servlet
/usr/sbin/ab -n 100000 -c $1 http://ALFRED:8080/examples/servlet/$2 >> summary  
kill -s TERM ${sarpid}
# Next line may need modification: Turns off system accounting
/usr/sbin/accton
# peel off raw data, keep sar summary line
sar -f $1$2.sardata 1 | grep Average >> summary
# collect CPU per minute data from system accounting package 
/usr/sbin/sa -a /var/log/tcacct >> summary
rm -f $1$2.sardata 
echo "Finished ab load test with C = "$1 "and servlet = "$2
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to