[jboss-user] [EJB 3.0] - 10,000 Recorc Per Second (In EJB 3.0)

grdzeli_kaci do-not-reply at jboss.com
Thu Apr 19 10:30:00 EDT 2007


hi all,
i have some mission critical tasks into my project, is it possible to persist 10 000 record per seconds, 

1. AS - JBoss Application Server 4.0.4GA
2. Database - Oracle 10G 10.2.0.1
3.EJB  - 3.0 Framework
4.OS - SunOS 5.10
4.Server -  Memory: 16G phys mem, 31G swap, 16 CPU,

i know that i need performace
here is my configurations about performance

1. JVM Config Into JBoss


  | JAVA_OPTS="-server -Xmx3168m -Xms2144m -Xmn1g -Xss256k -d64 -XX:PermSize=128m -XX:MaxPermSize=256m
  |    -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
  |     -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
  |     -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -XX:+AggressiveOpts
  |     -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution
  | 

2. Also i have one simple Stlateless Session Bean

  | @Stateless
  | @Remote(UsageFasade.class)
  | public class UsageFasadeBean implements UsageFasade {
  | 
  | 	@PersistenceContext(unitName = "CustomerCareOracle")
  | 	private EntityManager oracleManager;
  | 	@TransactionAttribute(TransactionAttributeType.REQUIRED)
  | 	public long createUsage(UsageObject usageObject, UserContext context)
  | 			throws UserManagerException, CCareException {
  | 		try {
  | 			oracleManager
  | 					.createNativeQuery("INSERT INTO USAGE "
  | 							+ " (ID, SESSION_ID, SUBSCRIBER_ID, RECDATE, STARTDATE, APPLIEDVERSION_ID, CHARGINGPROFILE_ID, TOTALTIME, TOTALUNITS, IDENTIFIERTYPE_ID, IDENTIFIER, PARTNO, CALLTYPE_ID, USAGETYPE, APARTY, BPARTY, CPARTY, IMEI, SPECIFICCALLTYPE, APN, SOURCELOCATION, SMSCADDRESS, MSC_ID, ENDREASON, USAGEORIGIN, BILL_ID, CONTRACT_ID) "
  | 							+ " VALUES(SEQ_USAGE_ID.NEXTVAL, NULL, NULL, SYSDATE, SYSDATE, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) ");						
  | 			return 1;
  | 		} catch (Exception e) {
  | 
  | 		}
  | 	}
  | }
  | 

3. and into client side i have 200 Threads, each of them tried to call this method 50 times 
my result is that i can persist 10000 record in 20 seconds, without hibernate, with hibernate i got worst result :(,

also i hear that it is good idea to use JDBC 3.0 driver for performance,
i download newest oracle jdbc jar file from oracle site 
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html

is this jar file JDBC 3.0 driver ?

is it any more performance tuning into JBoss or EJB with entity beans?

can anybody help me ? or is there any doc which can help me ?

Regards,
Paata,



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4038916#4038916

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4038916



More information about the jboss-user mailing list