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".
