| Author |
jms application receiving and processing 400 messages in database and sending reply in 90 sec
|
Jyoti Sharma
Greenhorn
Joined: Apr 23, 2010
Posts: 9
|
|
I am working to develop a jms application which is receiving 400 messages at a time , they need to pe processed and procedures need to be called for inserting/updating data. procedures are very heavy as validations are also performed in them. each procedure is taking about 10 seconds of time to execute.
My concern is to execute 400 procedures for all 400 messages and also send reply within time limit of 90 seconds by jms application.
No application server to be used(requirement)
Right now my application is able to handle 40 messages in 90 seconds.Ineed to improve it's performance by 10 times
Any help ?
|
 |
Luciano A. Pozzo
Ranch Hand
Joined: Jun 20, 2005
Posts: 112
|
|
Some times we reach the limit of the code performance. Maybe you will need another machine for processing the messages(a cluster).
Or you can post your code for us, and give more details about your requirements and architeture.
|
 |
Onkar Joshi
Ranch Hand
Joined: Mar 01, 2007
Posts: 116
|
|
Cost per developer per month - $3500
Cost of 4 developers spending 2 weeks to improve performance in various ways like app server tuning, db tuning, architecture etc. - $7000
Cost of 16GB Server memory - $600
Cost of a 12 core AMD Opteron CPU - $1000
Good quality SSD for your hot persistent data - $600
Moral of the story - Better hardware can be a much cheaper option.
Also, faster hardware also means a lot of developer time saved in the long run.
|
SCJP 5 - 95% | SCWCD 1.4 - 88% | SCBCD 5 - 93%
Onkar Joshi's blog | LinkedIn profile
|
 |
Onkar Joshi
Ranch Hand
Joined: Mar 01, 2007
Posts: 116
|
|
10 seconds to do something sounds like quite a lot-
Try to check if all cores of all CPUs on your machine are tied at 100% throughout the processing.
Reduce the number of messages being processed simultaneously until you still have 100% for all CPUs. (This will ensure that CPU is not getting busy doing task scheduling rather than processing)
Check if IO is excessive - Use something like iostat / vmstat.
Check your log files and logging levels - Too much logging would cause IO burden.
|
 |
 |
|
|
subject: jms application receiving and processing 400 messages in database and sending reply in 90 sec
|
|
|