We are currently developing a large internet-application with expectations
to have more than 200,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)
- MemberEJB (to change a member's master data and search for other members)
- AccountEJB (view member account information)

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 ?

(Hal, Matthieu, Steve M., Jeremy - still on this list ? I would especially
appreciate your comments !!!).

Thanks in advance, Timo.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to