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.conf
The 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^