Re: [JBoss-user] 100,000 CMP entity beans
[EMAIL PROTECTED] wrote: Is this CMP or BMP? We're focusing on CMP performance in version 2.3. CMP Hence the title of the message. Sorry to ask an unneeded question. How are the transactions written? Do you call multiple methods from a client, or are you using session wrappers, or is each transaction one method inherently? I think that transaction per method. I do not use any explicit transaction handling. The only thing that is transaction related is ejb-jar.xml descriptor with Required transaction for all methods (*). Can you send a snip of your client code? depending on how you do this, it can really hurt! The main problem is having the client initiate M transactions per row instead of one (M being the number of method invocations). Other JAWS tips: With a table this size, you _need_ to make sure that the primary key is created in the database (note that the JAWS persistence manager defaults to _not_ creating a primary key - if you're letting JAWS create the table, add a pk-constrainttrue/pk-constraint into the entity tag for that bean in jaws.xml. You should be able to do an 'alter table' in postgres to add the primary key after the fact. Put the tuned-updatestrue/tuned-updates in your jaws.xml also. This avoids updating unchanged columns, particularly the primary key. In JBoss 2.4 (next release) primary key columns will never be updated by JAWS. Note that if your primary key changes, it isn't really a primary key - see Codd. Also, implementing 'isModified' will really speed your transactions along by avoiding any updates (or even calls to the persistence manager) for unmodified beans. Hope this helps, danch ___ JBoss-user mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-user
RE: [JBoss-user] 100,000 CMP entity beans
Thank you a lot for info! Can you give some estimates about the performace? I've conducted small test on my PC (Pentium III 550 MHz, 256 Mb RAM) using jboss and Hypersonic SQL. I get: creating 100 beans - approx. 5000 ms updating 100 beans - approx. 5000 ms deleting 100 beans - approx. 8000 ms Taking into consideration, that Hypersonic SQL (basically in-memory Java DB), this performance is more or less acceptable for us. However, file based tests for InstantDB show 3-4 times slower performance, and PostgreSQL 6.5.2 (ok, not 7.1) - 20 times slow down, and such performance is definitelly unacceptable. currently we have 110.000 DokmentBean beans (the index table for our document management system) on a MS SQL Server 7 SP2 on a Pentium III 933 with 1Gig RAM (database + jboss running on the same machine) os is windows 2000 server but we are using bmp (would cmp make a difference?) ___ JBoss-user mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-user
Re: [JBoss-user] 100,000 CMP entity beans
[EMAIL PROTECTED] wrote: Thank you a lot for info! Can you give some estimates about the performace? I've conducted small test on my PC (Pentium III 550 MHz, 256 Mb RAM) using jboss and Hypersonic SQL. I get: creating 100 beans - approx. 5000 ms updating 100 beans - approx. 5000 ms deleting 100 beans - approx. 8000 ms Taking into consideration, that Hypersonic SQL (basically in-memory Java DB), this performance is more or less acceptable for us. However, file based tests for InstantDB show 3-4 times slower performance, and PostgreSQL 6.5.2 (ok, not 7.1) - 20 times slow down, and such performance is definitelly unacceptable. Is this CMP or BMP? We're focusing on CMP performance in version 2.3. How are the transactions written? Do you call multiple methods from a client, or are you using session wrappers, or is each transaction one method inherently? Do the update and delete call a finder then loop through the resulting collection, or do the call individual findByPrimaryKey()s? Also, if you can try Postgres 7.1, it should be much faster for various reasons. -danch ___ JBoss-user mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-user