I/O performance down in Jboss AS 7 for Enterprise application
kishorerouthu May 30, 2013 1:38 AMI am working with EnterpriseApplication on Jboss AS 7 platform.
Functionality of application it that it takes XML data as request
and process it and sends XML data as response to client. Here
XML request (in kilobyts) is relatively less in size when compared to
XML response ( ranges fro KB to MB). I enabled some loggings of
request processing from this i conclude that 90% of request processing
(i.e 1.parsingXML + 2.executeBusinessLogic + 3.constructsXMLResponse +
4. SendXML response to client)
is to write back the XML response to client(i.e step 4 from the above).
And observed from live that Ram usage is always 50% - 70% and
CPU load is 0.16 - 1.0
But still i couldn't found that only write response back to client
takes 90% of response time.
following is Web configuration in Standalone.xml of Jboss As 7 and target client
has same configuration which receives the response.
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host">
<configuration>
<static-resources sendfile="524288"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" enable-lookups="true" redirect-port="8443" executor="http-executor" max-connections="50"/>
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" redirect-port="8443" secure="true" max-connections="400">
<ssl name="ssl" key-alias="chapter8" password="123456" certificate-key-file="../standalone/configuration/cultswitch.cultuzz.de.keystore" cipher-suite="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA" protocol="TLSv1" verify-client="false" verify-depth="10" keystore-type="PKCS12" truststore-type="PKCS12"/>
</connector>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="vela"/>
</virtual-server>
</subsystem>
Can anybody help with the way to find the reasons for this ?
For more information :
1. Using non-transactional datasource with following pool configuration
<pool>
<min-pool-size>20</min-pool-size>
<max-pool-size>50</max-pool-size>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
2. Local EJB's with CONTAINER managed transactions.
3. Configured for recovery-environment for transactions recovery for every 2 minutes.
4. Threads subsystem configuration as follows
<subsystem xmlns="urn:jboss:domain:threads:1.1">
<bounded-queue-thread-pool name="http-executor">
<core-threads count="50"/>
<queue-length count="50"/>
<max-threads count="50"/>
<keepalive-time time="10" unit="seconds"/>
</bounded-queue-thread-pool>
</subsystem>
Hardware Specification : 8GB RAM
Processor Information (2 processors):
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
stepping : 2
cpu MHz : 2400.085
cache size : 12288 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perf
mon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm arat epb dts
bogomips : 4800.17
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
Softwares Specification:
ApplicationType : EnterpriseApplication
Java : 7.1
Application Server : Jboss AS 7
DataBase : MySQL
EJB : 3.0
Hibenate : 4.0.1
Do i need any changes in Standalone configuration ?
Do i need any changes in I/O of OpertingSystem ?