Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Scalability issues with Oracle8i EJB
We are currently developing a large internet-application with
expectations to have more than 100,000 users visting our site each day
(user numbers probably will increase quite fast).
We do have a backend based on Oracle 8.0.5 (denoted as CLUBDB), an Oracle8i database (denoted as WEBDB) connected to the backend database CLUBDB using an Oracle database link. We use Apache 1.3.9 running servlets, these servlets are connected to the WEBDB via IIOP since they only talk to EJB's running inside the WEBDB (no JDBC connection from the servlets to the DB). These EJB's do some kind of JDBC-based logic and further call some PL/SQL stored procedures within CLUBDB - hence, we misuse Oracle8i as application-server with little database-tasks.
Our application is kind of a club-system where a member needs to sign
on, can change his address data, can search for other members, view
his account-statement, etc. We came up with basically three different
EJB's:
- SignupEJB (for the signup procedure)
Now, we are a little concerned about scalability. We use a Sun E6500 as backend database machine running the CLUBDB, a Sun E450 4 CPU, 2 GB RAM as web-server and an Compaq Intel-based 8CPU, 4 GB RAM with Solaris/Intel for the WEBDB-Oracle8i. I'm especially worried about the Compaq-box, but believe Oracle8i/EJB needs many CPU's (MTS-features) and lots of RAM. Any recommendations regarding the sizing of our machines ?
Another issue is software scalability. We discovered that the
lookup-routine for EJB's using JNDI is quite slow, so that we need to
provide some kind of connection pooling. The servlets hold a pool of
IIOP-connections to the WEBDB, i.e. a pool for each of the three
mentioned EJB's.
I found a very nice EJB-example on the technet.oracle.com-site where
Oracle suggests to cache a number of EJB's in a hashtable and
instantiate if necessary new EJB's using thisServer/thisSession
mechanisms. This would mean that we would provide one ClubEJB that holds
internally a hashtable for each of the three EJB's. The servlets would
initially instantiate a number of ClubEJB's and could hold a pool of
connections to these ClubEJB's.
I was wondering whether someone out there did already some scalability
testing with Oracle8i-EJB's using some of the approaches I just
discussed briefly here.
We are going to in production next year March, so I believe Oracle 8.1.6 is going to be available by then. Any new features that could be helpful for our scenario ?
Thanks in advance, Timo.
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Wed Nov 03 1999 - 01:58:32 CST