Hibernate version:3.0beta1
Name and version of the database you are using:PostgreSQL 8.0.0-rc5-3
First & foremost, thanks for all the brilliant work that people have put into Hibernate. I've used it in a few projects so far, & am very excited about what 3 has to offer.
The legacy PerformanceTest included in 3.0beta1 is showing PostgreSQL 8.0 to be unusable. This is a problem with PostgreSQL (or my configuration), I'm sure, but I was wondering if anyone else had the same problem, & if there is something I can do at the Hibernate end to help. Timings are:
Testcase: testMany took 528.625 sec
Testcase: testSimultaneous took 1,625.61 sec
Testcase: testHibernateOnly took 633.812 sec
Testcase: testJdbcOnly took 412.172 sec
Whereas other DBs are showing all-inclusive timings in the 200-300 secs region.
Test config is the standard etc/hibernate.properties, with following as active db properties:
hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql:test
hibernate.connection.username postgres
hibernate.connection.password blahblah
hibernate.query.substitutions yes 'Y', no 'N'
Here's the Test's output, for those who arent bored yet :-)
Testsuite: org.hibernate.test.legacy.PerformanceTest
Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 3,200.453 sec
------------- Standard Output ---------------
00:41:40,296 INFO Environment:443 - Hibernate 3.0 beta 1
00:41:40,312 INFO Environment:461 - loaded properties from resource hibernate.properties: {hibernate.order_updates=true, hibernate.connection.driver_class=org.postgresql.Driver, hibernate.cglib.use_reflection_optimizer=true, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1, hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, hibernate.jdbc.use_streams_for_binary=true, hibernate.query.substitutions=yes 'Y', no 'N', hibernate.proxool.pool_alias=pool1, hibernate.connection.username=postgres, hibernate.cache.region_prefix=hibernate.test, hibernate.connection.url=jdbc:postgresql:test, hibernate.connection.password=blahblah, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1}
00:41:40,312 INFO Environment:488 - using java.io streams to persist binary types
00:41:40,312 INFO Environment:489 - using CGLIB reflection optimizer
00:41:40,312 INFO Environment:519 - using JDK 1.4 java.sql.Timestamp handling
00:41:40,390 INFO Configuration:408 - Mapping resource: org/hibernate/test/legacy/Simple.hbm.xml
00:41:40,625 INFO HbmBinder:445 - Mapping class: org.hibernate.test.legacy.Simple -> Simple
00:41:40,765 INFO Dialect:90 - Using dialect: org.hibernate.dialect.PostgreSQLDialect
00:41:40,765 INFO Configuration:780 - processing extends queue
00:41:40,765 INFO Configuration:784 - processing collection mappings
00:41:40,765 INFO Configuration:793 - processing association property references
00:41:40,765 INFO Configuration:820 - processing foreign key constraints
00:41:40,765 INFO Dialect:90 - Using dialect: org.hibernate.dialect.PostgreSQLDialect
00:41:40,781 INFO SettingsFactory:93 - Maximum outer join fetch depth: 1
00:41:40,781 INFO SettingsFactory:97 - Generate SQL with comments: disabled
00:41:40,781 INFO SettingsFactory:101 - Order SQL updates by primary key: enabled
00:41:40,781 INFO SettingsFactory:265 - Query translator: org.hibernate.hql.classic.ClassicQueryTranslatorFactory
00:41:40,796 INFO SettingsFactory:109 - Query language substitutions: {no='N', yes='Y'}
00:41:40,796 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
00:41:40,796 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
00:41:40,796 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
00:41:40,796 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql:test
00:41:40,796 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****}
00:41:40,921 INFO SettingsFactory:150 - JDBC batch size: 15
00:41:40,921 INFO SettingsFactory:153 - JDBC batch updates for versioned data: enabled
00:41:40,937 INFO SettingsFactory:158 - Scrollable result sets: enabled
00:41:40,937 INFO SettingsFactory:166 - JDBC3 getGeneratedKeys(): disabled
00:41:40,937 INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
00:41:40,937 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
00:41:40,937 INFO SettingsFactory:178 - Automatic flush during beforeCompletion(): disabled
00:41:40,937 INFO SettingsFactory:181 - Automatic session close at end of transaction: disabled
00:41:40,937 INFO SettingsFactory:252 - Cache provider: org.hibernate.cache.HashtableCacheProvider
00:41:40,937 INFO SettingsFactory:189 - Second-level cache: enabled
00:41:40,937 INFO SettingsFactory:191 - Optimize cache for minimal puts: disabled
00:41:40,937 INFO SettingsFactory:193 - Cache region prefix: hibernate.test
00:41:40,953 INFO SettingsFactory:199 - Query cache: disabled
00:41:40,953 INFO SettingsFactory:210 - Statistics: disabled
00:41:40,953 INFO SettingsFactory:214 - Deleted entity synthetic identifier rollback: disabled
00:41:41,046 INFO SessionFactoryImpl:133 - building session factory
00:41:41,265 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
00:41:41,265 INFO Dialect:90 - Using dialect: org.hibernate.dialect.PostgreSQLDialect
00:41:41,265 INFO Configuration:780 - processing extends queue
00:41:41,265 INFO Configuration:784 - processing collection mappings
00:41:41,265 INFO Configuration:793 - processing association property references
00:41:41,265 INFO Configuration:820 - processing foreign key constraints
00:41:41,265 INFO Configuration:780 - processing extends queue
00:41:41,265 INFO Configuration:784 - processing collection mappings
00:41:41,265 INFO Configuration:793 - processing association property references
00:41:41,265 INFO Configuration:820 - processing foreign key constraints
00:41:41,265 INFO SchemaExport:100 - Running hbm2ddl schema export
00:41:41,281 INFO SchemaExport:121 - exporting generated schema to database
00:41:41,281 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
00:41:41,281 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
00:41:41,281 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
00:41:41,281 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql:test
00:41:41,281 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****}
00:41:41,328 DEBUG SchemaExport:136 - alter table Simple drop constraint FK939D1DD26527F10
00:41:41,453 DEBUG SchemaExport:136 - drop table Simple
00:41:41,500 DEBUG SchemaExport:154 - create table Simple (
id_ int8 not null,
name varchar(255),
address varchar(255),
count_ int4 not null unique,
date_ timestamp,
pay float4,
other int8,
primary key (id_)
)
00:41:41,656 DEBUG SchemaExport:154 - alter table Simple add constraint FK939D1DD26527F10 foreign key (other) references Simple
00:41:41,718 INFO SchemaExport:166 - schema export complete
00:41:41,718 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
00:41:41,718 INFO Dialect:90 - Using dialect: org.hibernate.dialect.PostgreSQLDialect
00:41:41,734 INFO Configuration:780 - processing extends queue
00:41:41,734 INFO Configuration:784 - processing collection mappings
00:41:41,734 INFO Configuration:793 - processing association property references
00:41:41,734 INFO Configuration:820 - processing foreign key constraints
00:41:41,734 INFO Configuration:780 - processing extends queue
00:41:41,734 INFO Configuration:784 - processing collection mappings
00:41:41,734 INFO Configuration:793 - processing association property references
00:41:41,734 INFO Configuration:820 - processing foreign key constraints
00:41:41,734 INFO SessionFactoryImpl:356 - Checking 0 named queries
00:41:41,734 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
00:41:41,734 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
00:41:41,734 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
00:41:41,734 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql:test
00:41:41,734 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****}
00:41:42,218 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
Hibernate: 240994ms / Direct JDBC: 274959ms = Ratio: 0.8764725
00:50:28,734 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
00:50:28,796 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
00:50:28,796 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
00:50:28,796 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
00:50:28,796 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql:test
00:50:28,796 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****}
Objects: 2 - Hibernate: 311ms / Direct JDBC: 329ms = Ratio: 0.9452888
Objects: 4 - Hibernate: 515ms / Direct JDBC: 422ms = Ratio: 1.2203791
Objects: 8 - Hibernate: 750ms / Direct JDBC: 625ms = Ratio: 1.2
Objects: 16 - Hibernate: 1250ms / Direct JDBC: 984ms = Ratio: 1.2703252
Objects: 32 - Hibernate: 1999ms / Direct JDBC: 1751ms = Ratio: 1.1416334
Objects: 64 - Hibernate: 6953ms / Direct JDBC: 4203ms = Ratio: 1.6542946
Objects: 128 - Hibernate: 14061ms / Direct JDBC: 7892ms = Ratio: 1.7816776
00:52:24,953 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
Objects: 256 - Hibernate: 29408ms / Direct JDBC: 17842ms = Ratio: 1.6482457
Objects: 512 - Hibernate: 65235ms / Direct JDBC: 38968ms = Ratio: 1.674066
Objects: 1024 - Hibernate: 158688ms / Direct JDBC: 90484ms = Ratio: 1.7537686
Objects: 2048 - Hibernate: 301546ms / Direct JDBC: 226048ms = Ratio: 1.333991
01:17:34,328 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
Objects: 2 - Hibernate: 672
Objects: 4 - Hibernate: 1015
Objects: 8 - Hibernate: 1875
Objects: 16 - Hibernate: 2641
Objects: 32 - Hibernate: 5281
Objects: 64 - Hibernate: 9500
Objects: 128 - Hibernate: 17078
Objects: 256 - Hibernate: 33516
Objects: 512 - Hibernate: 82594
01:21:51,765 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
Objects: 1024 - Hibernate: 152000
Objects: 2048 - Hibernate: 327562
01:28:08,218 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
01:28:08,218 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
01:28:08,218 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
01:28:08,218 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql:test
01:28:08,218 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****}
Objects: 2 Direct JDBC: 578
Objects: 4 Direct JDBC: 672
Objects: 8 Direct JDBC: 906
Objects: 16 Direct JDBC: 1782
Objects: 32 Direct JDBC: 3234
Objects: 64 Direct JDBC: 5344
Objects: 128 Direct JDBC: 11797
Objects: 256 Direct JDBC: 24078
Objects: 512 Direct JDBC: 54015
Objects: 1024 Direct JDBC: 110157
Objects: 2048 Direct JDBC: 199484
01:35:00,312 INFO DriverManagerConnectionProvider:147 - cleaning up connection pool: jdbc:postgresql:test
------------- ---------------- ---------------
Testcase: testMany took 528.625 sec
Testcase: testSimultaneous took 1,625.61 sec
Testcase: testHibernateOnly took 633.812 sec
Testcase: testJdbcOnly took 412.172 sec
|