[jboss-user] [Beginners Corner] - The performance of JBoss clustering puzzled me

ddpie do-not-reply at jboss.com
Sun May 13 05:14:30 EDT 2007


Hi 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 at 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^


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045267#4045267

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045267



More information about the jboss-user mailing list