tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leandro Dardini" <l.dard...@comune.prato.it>
Subject Newer version of mod_jk much slower than 1.2.13
Date Thu, 21 Aug 2008 10:27:08 GMT
I am sorry for the long email, but I like to be complete. 

I just stay with mod_jk 1.2.13 for a long time. It is used between
apache 2.0.52 and tomcat 5.5.26 each one on Linux Redhat ES4 64 bit.
There are two apache with dns load balancing and four tomcat with mod_jk
balancing. Last day I upgrade to 1.2.26 and get a very noticeable
slowdown of data trasfer from tomcat to apache. Each version in
recompiled from source from the same compilation farm. Following there
is a benchmark and few comments:

-------------------------

[root@servizio tmp]# time wget -O /dev/null
http://elenco1.comune.prato.it/eltbinj/servlet/ricercaelenco
--12:05:49--
http://elenco1.comune.prato.it/eltbinj/servlet/ricercaelenco
           => `/dev/null'
Risoluzione di elenco1.comune.prato.it in corso... 193.43.107.14
Connessione a elenco1.comune.prato.it|193.43.107.14:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: non specificato [text/html]

    [                                   <=>
] 53,048         7.17K/s

12:05:56 (7.55 KB/s) - "/dev/null" salvato [53048]


real    0m6.931s
user    0m0.011s
sys     0m0.063s
[root@servizio tmp]# time wget -O /dev/null
http://elenco.comune.prato.it/eltbinj/servlet/ricercaelenco
--12:06:01--
http://elenco.comune.prato.it/eltbinj/servlet/ricercaelenco
           => `/dev/null'
Risoluzione di elenco.comune.prato.it in corso... 193.43.107.15
Connessione a elenco.comune.prato.it|193.43.107.15:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: non specificato [text/html]

    [ <=>
] 53,048        --.--K/s

12:06:01 (572.81 KB/s) - "/dev/null" salvato [53048]


real    0m0.195s
user    0m0.001s
sys     0m0.003s

--------------------------

elenco.comune.prato.it is managed by old 1.2.13 version.
elenco1.comune.prato.it is managed by the newer 1.2.26. All machines are
on the same gigabit network and load is zero on all of them. The test
has ben repeated a good number of times without differences. If I put
the mod_jk 1.2.13 back on elenco1, I get the same good performance, so
it is definitively due to the different version of mod_jk.

For who (like me before testing and re testing), don't belive, this is a
test on elenco1 after replacing mod_jk 1.2.26 with the old 1.2.13
version.

------------------------------

[root@servizio tmp]# time wget -O /dev/null
http://elenco1.comune.prato.it/eltbinj/servlet/ricercaelenco
--12:16:47--
http://elenco1.comune.prato.it/eltbinj/servlet/ricercaelenco
           => `/dev/null'
Risoluzione di elenco1.comune.prato.it in corso... 193.43.107.14
Connessione a elenco1.comune.prato.it|193.43.107.14:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: non specificato [text/html]

    [ <=>
] 53,048        --.--K/s

12:16:48 (346.64 KB/s) - "/dev/null" salvato [53048]


real    0m0.257s
user    0m0.003s
sys     0m0.003s

------------------------------

Unfortunately I don't have old version from 1.2.13 to 1.2.26, so I
cannot say you when the slowdown happens. Following there is my
workers.properties. The worker used for elenco/elenco1 is wlbs.

------------------------------

[root@apache1 ~]# cat /usr1/web/admin/conf/workers.properties
# workers.properties.minimal -
#
# This file provides minimal jk configuration properties needed to
# connect to Tomcat.
#
# The workers that jk should create and work with
#

worker.list=ajp13w_01_01,ajp13w_02_01,ajp13w_03_01,ajp13w_04_01,ajp13w_i
g_01_01,ajp13w_ig_02_01,ajp13w_is_01_01,ajp13w_is_02_01,ajp13w_sondaggi_
01_01,ajp13w_sondaggi_02_01,wlbs,wlbig,wlbis,wlbsondaggi,jkstatus,ajp13w
_ws_01_01,ajp13w_ws_02_01,wlbws,ajp13w_geoserver_01_01,ajp13w_geoserver_
02_01,wlbgeoserver,ajp13w_ip_01_01,ajp13w_ip_02_01,wlbip,ajp13w_safe_01_
01,ajp13w_safe_02_01,ajp13w_safe_03_01,ajp13w_safe_04_01,wlbsafe,ajp13w_
je_03_01,ajp13w_je_04_01,wlbjente


# Defining a worker named ajp13w and of type ajp13
# Note that the name and the type do not have to match.
#

worker.ajp13w_01_01.type=ajp13
worker.ajp13w_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_01_01.port=8009
worker.ajp13w_01_01.lbfactor=1
worker.ajp13w_01_01.socket_timeout=1
worker.ajp13w_01_01.socket_keepalive=true
worker.ajp13w_01_01.connection_pool_timeout=60

worker.ajp13w_02_01.type=ajp13
worker.ajp13w_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_02_01.port=8009
worker.ajp13w_02_01.lbfactor=1
worker.ajp13w_02_01.socket_timeout=1
worker.ajp13w_02_01.socket_keepalive=true
worker.ajp13w_02_01.connection_pool_timeout=60

worker.ajp13w_03_01.type=ajp13
worker.ajp13w_03_01.host=tomcat03.comune.prato.it
worker.ajp13w_03_01.port=8009
worker.ajp13w_03_01.lbfactor=1
worker.ajp13w_03_01.socket_timeout=1
worker.ajp13w_03_01.socket_keepalive=true
worker.ajp13w_03_01.connection_pool_timeout=60

worker.ajp13w_04_01.type=ajp13
worker.ajp13w_04_01.host=tomcat04.comune.prato.it
worker.ajp13w_04_01.port=8009
worker.ajp13w_04_01.lbfactor=1
worker.ajp13w_04_01.socket_timeout=1
worker.ajp13w_04_01.socket_keepalive=true
worker.ajp13w_04_01.connection_pool_timeout=60

worker.ajp13w_je_03_01.type=ajp13
worker.ajp13w_je_03_01.host=tomcat03.comune.prato.it
worker.ajp13w_je_03_01.port=8016
worker.ajp13w_je_03_01.lbfactor=1
worker.ajp13w_je_03_01.socket_timeout=1
worker.ajp13w_je_03_01.socket_keepalive=true
worker.ajp13w_je_03_01.connection_pool_timeout=60

worker.ajp13w_je_04_01.type=ajp13
worker.ajp13w_je_04_01.host=tomcat04.comune.prato.it
worker.ajp13w_je_04_01.port=8016
worker.ajp13w_je_04_01.lbfactor=1
worker.ajp13w_je_04_01.socket_timeout=1
worker.ajp13w_je_04_01.socket_keepalive=true
worker.ajp13w_je_04_01.connection_pool_timeout=60

worker.ajp13w_safe_01_01.type=ajp13
worker.ajp13w_safe_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_safe_01_01.port=8017
worker.ajp13w_safe_01_01.lbfactor=1
worker.ajp13w_safe_01_01.socket_timeout=1
worker.ajp13w_safe_01_01.socket_keepalive=true
worker.ajp13w_safe_01_01.connection_pool_timeout=60

worker.ajp13w_safe_02_01.type=ajp13
worker.ajp13w_safe_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_safe_02_01.port=8017
worker.ajp13w_safe_02_01.lbfactor=1
worker.ajp13w_safe_02_01.socket_timeout=1
worker.ajp13w_safe_02_01.socket_keepalive=true
worker.ajp13w_safe_02_01.connection_pool_timeout=60

worker.ajp13w_safe_03_01.type=ajp13
worker.ajp13w_safe_03_01.host=tomcat03.comune.prato.it
worker.ajp13w_safe_03_01.port=8017
worker.ajp13w_safe_03_01.lbfactor=1
worker.ajp13w_safe_03_01.socket_timeout=1
worker.ajp13w_safe_03_01.socket_keepalive=true
worker.ajp13w_safe_03_01.connection_pool_timeout=60

worker.ajp13w_safe_04_01.type=ajp13
worker.ajp13w_safe_04_01.host=tomcat04.comune.prato.it
worker.ajp13w_safe_04_01.port=8017
worker.ajp13w_safe_04_01.lbfactor=1
worker.ajp13w_safe_04_01.socket_timeout=1
worker.ajp13w_safe_04_01.socket_keepalive=true
worker.ajp13w_safe_04_01.connection_pool_timeout=60

worker.ajp13w_ws_01_01.type=ajp13
worker.ajp13w_ws_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_ws_01_01.port=8010
worker.ajp13w_ws_01_01.lbfactor=1
worker.ajp13w_ws_01_01.socket_timeout=1
worker.ajp13w_ws_01_01.socket_keepalive=true
worker.ajp13w_ws_01_01.connection_pool_timeout=60

worker.ajp13w_ws_02_01.type=ajp13
worker.ajp13w_ws_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_ws_02_01.port=8010
worker.ajp13w_ws_02_01.lbfactor=1
worker.ajp13w_ws_02_01.socket_timeout=1
worker.ajp13w_ws_02_01.socket_keepalive=true
worker.ajp13w_ws_02_01.connection_pool_timeout=60

worker.ajp13w_geoserver_01_01.type=ajp13
worker.ajp13w_geoserver_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_geoserver_01_01.port=8014
worker.ajp13w_geoserver_01_01.lbfactor=1
worker.ajp13w_geoserver_01_01.socket_timeout=1
worker.ajp13w_geoserver_01_01.socket_keepalive=true
worker.ajp13w_geoserver_01_01.connection_pool_timeout=60

worker.ajp13w_geoserver_02_01.type=ajp13
worker.ajp13w_geoserver_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_geoserver_02_01.port=8014
worker.ajp13w_geoserver_02_01.lbfactor=1
worker.ajp13w_geoserver_02_01.socket_timeout=1
worker.ajp13w_geoserver_02_01.socket_keepalive=true
worker.ajp13w_geoserver_02_01.connection_pool_timeout=60

worker.ajp13w_ig_01_01.type=ajp13
worker.ajp13w_ig_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_ig_01_01.port=8011
worker.ajp13w_ig_01_01.lbfactor=1

worker.ajp13w_ig_02_01.type=ajp13
worker.ajp13w_ig_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_ig_02_01.port=8011
worker.ajp13w_ig_02_01.lbfactor=1

worker.ajp13w_ip_01_01.type=ajp13
worker.ajp13w_ip_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_ip_01_01.port=8015
worker.ajp13w_ip_01_01.lbfactor=1

worker.ajp13w_ip_02_01.type=ajp13
worker.ajp13w_ip_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_ip_02_01.port=8015
worker.ajp13w_ip_02_01.lbfactor=1

worker.ajp13w_is_01_01.type=ajp13
worker.ajp13w_is_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_is_01_01.port=8012
worker.ajp13w_is_01_01.lbfactor=1

worker.ajp13w_is_02_01.type=ajp13
worker.ajp13w_is_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_is_02_01.port=8012
worker.ajp13w_is_02_01.lbfactor=1

worker.ajp13w_sondaggi_01_01.type=ajp13
worker.ajp13w_sondaggi_01_01.host=tomcat01.comune.prato.it
worker.ajp13w_sondaggi_01_01.port=8013
worker.ajp13w_sondaggi_01_01.lbfactor=1

worker.ajp13w_sondaggi_02_01.type=ajp13
worker.ajp13w_sondaggi_02_01.host=tomcat02.comune.prato.it
worker.ajp13w_sondaggi_02_01.port=8013
worker.ajp13w_sondaggi_02_01.lbfactor=1

#
# Defining a load balancer
#

worker.wlbs.type=lb
worker.wlbs.sticky_session=1
worker.wlbs.balance_workers=ajp13w_01_01,ajp13w_02_01,ajp13w_03_01,ajp13
w_04_01
worker.wlbs.socket_timeout=1

worker.wlbjente.type=lb
worker.wlbjente.sticky_session=1
worker.wlbjente.balance_workers=ajp13w_je_03_01,ajp13w_je_04_01
worker.wlbjente.socket_timeout=1

worker.wlbsafe.type=lb
worker.wlbsafe.sticky_session=1
worker.wlbsafe.balance_workers=ajp13w_safe_01_01,ajp13w_safe_02_01,ajp13
w_safe_03_01,ajp13w_safe_04_01
worker.wlbsafe.socket_timeout=1

worker.wlbig.type=lb
worker.wlbig.sticky_session=1
worker.wlbig.balance_workers=ajp13w_ig_01_01,ajp13w_ig_02_01

worker.wlbip.type=lb
#worker.wlbip.sticky_session=1
worker.wlbip.balance_workers=ajp13w_ip_01_01,ajp13w_ip_02_01

worker.wlbis.type=lb
worker.wlbis.sticky_session=1
worker.wlbis.balance_workers=ajp13w_is_01_01,ajp13w_is_02_01

worker.wlbsondaggi.type=lb
worker.wlbsondaggi.sticky_session=1
worker.wlbsondaggi.balance_workers=ajp13w_sondaggi_01_01,ajp13w_sondaggi
_02_01

worker.wlbws.type=lb
worker.wlbws.balance_workers=ajp13w_ws_01_01,ajp13w_ws_02_01
worker.wlbws.socket_timeout=1

worker.wlbgeoserver.type=lb
worker.wlbgeoserver.sticky_session=1
worker.wlbgeoserver.balance_workers=ajp13w_geoserver_01_01,ajp13w_geoser
ver_02_01

#
# Define status worker
#

worker.jkstatus.type=status

---------------------

Thank you for your patient.

Leandro

---------------------
Dott. Leandro Dardini
Sistema Informativo
Comune di Prato
Via Cairoli, 16
59100 Prato PO
Tel: +39 05741835216
Fax: +39 05721835212 

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message