The performance of JBoss clustering puzzled me
ddpie May 13, 2007 5:14 AMHi guys:
I?m new to JBoss clustering and apache.
Has anyone met problem like this? I use JBoss cluster to test my JSPs,but its performance was not so great,and even badly than the performace without clustering. Here is my environment:
I have three servers:
The first one (ip:192.168.13.26):
Windows XP sp2
512M memory
JBoss 4.04GA
The second one (ip:192.168.13.2):
Windows XP sp2
256M memory
JBoss 4.04GA
The last one (ip:192.168.13.2):
Windows 2003 Server Enterprise Edition
1G memory
Apache 2.0.59
The compiled in modules of the Apache is:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c
httpd.config of apache on 192.168.13.2:
ServerRoot "C:\Program Files\CSS\Apache2"
PidFile logs/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
Listen 8888
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule ssl_module modules/mod_ssl.so
ServerAdmin ddpie.flea@gmail.com
ServerName 192.168.13.26:80
UseCanonicalName Off
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
DirectoryIndex index.html index.html.var index.jsp
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
DefaultType text/plain
HostnameLookups Off
LogLevel debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access.log common
CustomLog logs/referer.log referer
CustomLog logs/agent.log agent
CustomLog logs/access.log combined
ServerTokens Full
ServerSignature On
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "F:/Apache2/manual$1"
IndexOptions FancyIndexing VersionSort
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
Include conf/mod-jk.confThe workers.properties of apache on 192.168.13.2 is:
worker.list=loadbalancer,status #JBoss on 192.168.13.26 worker.node26.port=8009 worker.node26.host=192.168.13.26 worker.node26.type=ajp13 worker.node26.lbfactor=1 worker.node26.cachesize=10 #JBoss on 192.168.13.79 worker.node79.port=8009 worker.node79.host=192.168.13.79 worker.node79.type=ajp13 worker.node79.lbfactor=1 worker.node79.cachesize=10 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=node26,node79 worker.loadbalancer.sticky_session=0 worker.status.type=status
A part of the configration in server.xml in tomcat of JBoss(192.168.13.26) is :
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
<Connector port="8009" address="${jboss.bind.address}"
emptySessionPath="true" enableLookups="false" redirectPort="8443"
scheme="https" protocol="AJP/1.3"/>
<Connector port="8443" address="${jboss.bind.address}"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/server.keystore"
connectionTimeout="8000"
keystorePass="12345678" sslProtocol = "TLS" />
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node26">I used LoadRunner to record the script of visiting the JSPs in JBoss,and used JProfiler to monitor the JBoss on 192.168.13.26.
I tested three times(50 virtual users visit the JSPs parallely 20 minutes.The CPU time involves the time of starting the JBoss service):
Here is the table of the tests results:
[img]http://lh4.google.com/image/ddpie.flea/RkbUmUVMWKI/AAAAAAAAAAo/o8w1WGAe32U/jboss_clustering.jpg[/img]
If cann't displayed,see http://picasaweb.google.com/ddpie.flea/JBoss/photo#5063968585782417570.
I doubt apache was the bottleneck,but I don?t know where the problem is with my configration of apache.
Does anyone know?
Thanks in advance.^o^