littletortoise
asked on
What's the best strategy to deploy my web system to large pool of users (using JBoss and Oracle DB)
Hi,
We have developed our system using JBoss 3.0.4 (tomcat 4.1.12). We're using Oracle 8i database. We also interface information from other Oracle database using dblink (the Siebel and Peoplesoft applications which is stationed at different machines).
Now we need to roll out our system to 1,500 users. So, the concurrent access at one time can reach 1,500.
We have heard so far a lot of system encountered problem when they go life to large pool of users, for eg: connection limit reached, exceeded the cursor limits, web server crash, etc.
Is there anybody can guide me on the roll out strategy? (not from the business perspective, as we cannot control the number of users using the system at any time). Any info that can help to roll out smoothly, like the architecture, what kind of configurations needed to be made at JBoss as well as Oracle DB.
So far, is there anybody using JBoss and Oracle DB and the system has been rolled out to a few thousand users and the system still working fine? Can someone share the experience/learning points with me?
Somebody has proposed to me use 2 web server with standalone database. At the end of the mth, synchronize the data back to the centralised database. Not too sure is this strategy good, but the maintenance is high. Especially when you need to view the report of the data and if there are changes to some code values which are shared by all. The synchronization cost is high.
Our another problem is the machine issues. We can't afford high end machines.
Hope someone can help me. Thanks.
We have developed our system using JBoss 3.0.4 (tomcat 4.1.12). We're using Oracle 8i database. We also interface information from other Oracle database using dblink (the Siebel and Peoplesoft applications which is stationed at different machines).
Now we need to roll out our system to 1,500 users. So, the concurrent access at one time can reach 1,500.
We have heard so far a lot of system encountered problem when they go life to large pool of users, for eg: connection limit reached, exceeded the cursor limits, web server crash, etc.
Is there anybody can guide me on the roll out strategy? (not from the business perspective, as we cannot control the number of users using the system at any time). Any info that can help to roll out smoothly, like the architecture, what kind of configurations needed to be made at JBoss as well as Oracle DB.
So far, is there anybody using JBoss and Oracle DB and the system has been rolled out to a few thousand users and the system still working fine? Can someone share the experience/learning points with me?
Somebody has proposed to me use 2 web server with standalone database. At the end of the mth, synchronize the data back to the centralised database. Not too sure is this strategy good, but the maintenance is high. Especially when you need to view the report of the data and if there are changes to some code values which are shared by all. The synchronization cost is high.
Our another problem is the machine issues. We can't afford high end machines.
Hope someone can help me. Thanks.
Have you taken a look at Oracle RAC?
That's the clustering technology from Oracle in Linux.
For the web part, usually a DNS-based load balancing among two or three servers is enough.
That's the clustering technology from Oracle in Linux.
For the web part, usually a DNS-based load balancing among two or three servers is enough.
ASKER
Hi vzilka and eelqueta,
Thanks for your replies.
We're currently trying to look into JMeter to do the load stress. It's really rush. I think developers actually should do incremental performance test along the way, but not the last minute lump everything for stress test. Well, this is just a way of life :)
For Oracle RAC, I think this feature requires a separate license, does not come together with database. If so, I think we can't afford that.
Does anybody know how to do the configuration for size of HTTPSession, number of EJBs, use of transactions and more? Which file should I modify?
Thanks.
Thanks for your replies.
We're currently trying to look into JMeter to do the load stress. It's really rush. I think developers actually should do incremental performance test along the way, but not the last minute lump everything for stress test. Well, this is just a way of life :)
For Oracle RAC, I think this feature requires a separate license, does not come together with database. If so, I think we can't afford that.
Does anybody know how to do the configuration for size of HTTPSession, number of EJBs, use of transactions and more? Which file should I modify?
Thanks.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
We define a normal user transaction (or several of them), write a script, and run the tool.
I can suggest some open source tools for you, for example at http://deluge.sourceforge.net/
Or you can buy a commercial tool, like a tool from Mercury Interactive (called LoadRunner) but that is very expensive.
About the number of users - usually not all 1500 users are logged on the same time, so maybe your requirements are a bit too high.
But if your application doesn't require too much memory, then two-three PCs should suffice (but it depends on many issues, like size of HTTPSession, number of EJBs, use of transactions and more).
I work for a consulting company and we know some applications that work in this load.