-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Filip,
On 5/27/2009 8:45 AM, Filip Hanik - Dev Lists wrote: > Christopher Schultz wrote: >> >> These are the warnings I received: >> >> May 23, 2009 5:03:20 AM >> org.apache.tomcat.util.net.NioBlockingSelector$KeyReference finalize >> WARNING: Possible key leak, cancelling key in the finalizer. > > Its a warning that the key shows isValid()==true when the finalizer has > been invoked, and that the key is being closed. > It should not affect your system, since the key is being cancelled out. > If you have a test that you are running, I can reproduce it, and make > the warning go away I'm just running a load test against all the combinations of connectors I have configured including two NIO connectors (one with and one without sendFile enabled). I'm not sure which one is complaining, and it doesn't issue the same number of warnings each time through the whole battery of tests. If you read the thread "Apache httpd vs Tomcat static performance" you'll see my test setup. I'm happy to provide the script I'm using for the actual test (see below). (Apologies in advance for any wrapping problems.) The different configurations are identified only by their port number, but are commented as such. - -chris runalltests.sh - -------------- #!/bin/sh # Enough requests to fill 10 minutes? REQUESTS=10000000 # 10 minutes #TIME_LIMIT=600 #TIME_LIMIT=10 TIME_LIMIT=480 CONCURRENCY=40 REPORT_DIR=${1:-.} SLEEP_TIME=5s function stop_vmstat { if [ "" != "${VMSTAT_PID}" ] ; then echo 'Stopping vmstat' kill -HUP ${VMSTAT_PID} unset VMSTAT_PID fi } trap "stop_vmstat" INT TERM EXIT vmstat -n 5 > ${REPORT_DIR}/vmstat.log & VMSTAT_PID=$! # httpd ./runtests.sh 1 1 0 http://localhost:8180/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8180/ | tee ${REPORT_DIR}/results_httpd.txt 2>&1 # Coyote non-APR ./runtests.sh 1 1 0 http://localhost:8001/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8001/ | tee ${REPORT_DIR}/results_coyote.txt 2>&1 # Coyote APR ./runtests.sh 1 1 0 http://localhost:8002/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8002/ | tee ${REPORT_DIR}/results_coyote_apr.txt 2>&1 # Coyote APR w/o sendfile ./runtests.sh 1 1 0 http://localhost:8003/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8003/ | tee ${REPORT_DIR}/results_coyote_apr_ns.txt 2>&1 # Coyote NIO ./runtests.sh 1 1 0 http://localhost:8004/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8004/ | tee ${REPORT_DIR}/results_coyote_nio.txt 2>&1 # Coyote NIO w/o sendfile ./runtests.sh 1 1 0 http://localhost:8005/ >/dev/null sleep ${SLEEP_TIME} ./runtests.sh ${REQUESTS} ${CONCURRENCY} ${TIME_LIMIT} http://localhost:8005/ | tee ${REPORT_DIR}/results_coyote_nio_ns.txt 2>&1 runtests.sh - ----------- #!/bin/sh AB=/usr/sbin/ab REQUESTS=${1:-1000} CONCURRENCY=${2:-1} TIME_LIMIT=${3:-0} BASE_URL=${4:-http://localhost:8180/} FILES="4kiB.bin 8kiB.bin 16kiB.bin 32kiB.bin 64kiB.bin 128kiB.bin 256kiB.bin 512kiB.bin 1MiB.bin 2MiB.bin 4MiB.bin 8MiB.bin 16MiB.bin 32MiB.bin" if [ "$TIME_LIMIT" == "0" ] ; then TIME_LIMIT="" else TIME_LIMIT="-t $TIME_LIMIT" fi for f in ${FILES} ; do echo `date` echo Fetching ${BASE_URL}${f} -c ${CONCURRENCY} ${TIME_LIMIT} -n ${REQUESTS} echo ${AB} -c ${CONCURRENCY} ${TIME_LIMIT} -n ${REQUESTS} ${BASE_URL}${f} ${AB} -c ${CONCURRENCY} ${TIME_LIMIT} -n ${REQUESTS} ${BASE_URL}${f} done -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkodQOUACgkQ9CaO5/Lv0PAm8ACgsG886u/60g9fEUF4KcHZYwvL 7r0An3Brv79ab1qo6xDce01qUAVWpxdw =QsU8 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org