Thanks for the answer, it was very helpfull! The time it takes to
connect is indeed much smaller when using TCP (5s instead of 20s).
This is what I wanted, but it would be nice if this could be achieved
with SSL. I have used the profiler in my java code and it gave the
following results:

---------------------------------------------------------------------------
Using SSL:
Profiler: top 3 stack trace(s) of 22746 ms [build-147]:
564/1232
at java.net.Inet6AddressImpl.getHostByAddr(Native Method)
at java.net.InetAddress$1.getHostByAddr(InetAddress.java:854)
at java.net.InetAddress.getHostFromNameService(InetAddress.java:534)
at java.net.InetAddress.getHostName(InetAddress.java:477)
at java.net.InetAddress.getHostName(InetAddress.java:449)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.getHost(SSLSocketImpl.java:
1851)
at com.sun.net.ssl.internal.ssl.Handshaker.getHostSE(Handshaker.java:
257)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.getKickstartMessage(ClientHandshaker.java:
1020)
at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java:
620)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:
1240)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:
1137)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:
632)
at
com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:
59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:
65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.DataOutputStream.flush(DataOutputStream.java:106)
at org.h2.value.Transfer.flush(Transfer.java:89)
at org.h2.engine.SessionRemote.done(SessionRemote.java:535)
at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:109)
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:376)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
271)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:265)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:
98)
at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:
162)
at
org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:
327)
at
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:
295)
at
org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:
415)
275/1232
at java.net.Inet6AddressImpl.getHostByAddr(Native Method)
at java.net.InetAddress$1.getHostByAddr(InetAddress.java:854)
at java.net.InetAddress.getHostFromNameService(InetAddress.java:534)
at java.net.InetAddress.getHostName(InetAddress.java:477)
at java.net.InetAddress.getHostName(InetAddress.java:449)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.getHost(SSLSocketImpl.java:
1851)
at com.sun.net.ssl.internal.ssl.Handshaker.getHostSE(Handshaker.java:
257)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.getKickstartMessage(ClientHandshaker.java:
1020)
at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java:
620)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:
1240)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:
1137)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:
632)
at
com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:
59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:
65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.DataOutputStream.flush(DataOutputStream.java:106)
at org.h2.value.Transfer.flush(Transfer.java:89)
at org.h2.engine.SessionRemote.done(SessionRemote.java:535)
at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:109)
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:376)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
271)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:265)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:
98)
at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:
162)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:
584)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:
228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:
369)
130/1232
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:
559)
at org.h2.security.CipherFactory.createSocket(CipherFactory.java:98)
at org.h2.util.NetUtils.createSocket(NetUtils.java:106)
at org.h2.util.NetUtils.createSocket(NetUtils.java:91)
at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:91)
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:376)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
271)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:265)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:
98)
at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:
162)
at
org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:
327)
at
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:
295)
at
org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:
415)
at
org.eclipse.persistence.sessions.server.ConnectionPool.buildConnection(ConnectionPool.java:
155)
at
org.eclipse.persistence.sessions.server.ConnectionPool.startUp(ConnectionPool.java:
433)
at
org.eclipse.persistence.sessions.server.ServerSession.connect(ServerSession.java:
500)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:
619)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:
228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:
369)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:
151)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:
207)
.

---------------------------------------------------------------------------
Using regular TCP:
Profiler: top 3 stack trace(s) of 4977 ms [build-147]:
10/283
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Inflater.java:238)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:
135)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at javax.crypto.SunJCE_c.b(DashoA13*..)
at javax.crypto.SunJCE_c.a(DashoA13*..)
at javax.crypto.SunJCE_b.a(DashoA13*..)
at javax.crypto.SunJCE_h.a(DashoA13*..)
at javax.crypto.Cipher.c(DashoA13*..)
at javax.crypto.Cipher.b(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at
org.eclipse.persistence.internal.security.JCEEncryptor.<init>(JCEEncryptor.java:
52)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at
org.eclipse.persistence.internal.security.PrivilegedAccessHelper.newInstanceFromClass(PrivilegedAccessHelper.java:
354)
at
org.eclipse.persistence.internal.security.SecurableObjectHolder.initSecurableObject(SecurableObjectHolder.java:
93)
at
org.eclipse.persistence.internal.security.SecurableObjectHolder.getSecurableObject(SecurableObjectHolder.java:
55)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.updateLogins(EntityManagerSetupImpl.java:
1156)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.updateServerSession(EntityManagerSetupImpl.java:
1422)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:
360)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:
151)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:
207)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:
195)
at Database.DatabaseFacade.<init>(DatabaseFacade.java:49)
at Database.DatabaseFacade.getLocalDatabaseFacade(DatabaseFacade.java:
65)
at BussinessLogic.DatabaseLogic.<init>(DatabaseLogic.java:22)
7/283
at java.io.FileDescriptor.sync(Native Method)
at org.h2.store.fs.FileObjectDisk.sync(FileObjectDisk.java:34)
at org.h2.store.FileStore.sync(FileStore.java:459)
at org.h2.store.PageStore.writeVariableHeader(PageStore.java:914)
at org.h2.store.PageStore.setLogFirstPage(PageStore.java:908)
at org.h2.store.PageLog.openForWriting(PageLog.java:188)
at org.h2.store.PageStore.compact(PageStore.java:467)
at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1123)
at org.h2.engine.Database.close(Database.java:1074)
at org.h2.engine.Database.removeSession(Database.java:953)
at org.h2.engine.Session.close(Session.java:571)
at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:320)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:
609)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:
228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:
369)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:
151)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:
207)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:
195)
at Database.DatabaseFacade.<init>(DatabaseFacade.java:49)
at Database.DatabaseFacade.getLocalDatabaseFacade(DatabaseFacade.java:
65)
at BussinessLogic.DatabaseLogic.<init>(DatabaseLogic.java:22)
at BussinessLogic.DatabaseLogic.getDatabaseLogic(DatabaseLogic.java:
32)
at UI.ParticleTrackerApp.appInit(ParticleTrackerApp.java:147)
at UI.ParticleTrackerApp.startup(ParticleTrackerApp.java:42)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext
$1.doIntersectionPrivilege(AccessControlContext.java:87)
6/283
at java.io.FileDescriptor.sync(Native Method)
at org.h2.store.fs.FileObjectDisk.sync(FileObjectDisk.java:34)
at org.h2.store.FileStore.sync(FileStore.java:459)
at org.h2.store.PageStore.writeVariableHeader(PageStore.java:914)
at org.h2.store.PageStore.setLogFirstPage(PageStore.java:908)
at org.h2.store.PageLog.openForWriting(PageLog.java:188)
at org.h2.store.PageStore.openExisting(PageStore.java:352)
at org.h2.store.PageStore.open(PageStore.java:275)
at org.h2.engine.Database.getPageStore(Database.java:2040)
at org.h2.engine.Database.open(Database.java:547)
at org.h2.engine.Database.openDatabase(Database.java:218)
at org.h2.engine.Database.<init>(Database.java:213)
at org.h2.engine.Engine.openSession(Engine.java:55)
at org.h2.engine.Engine.openSession(Engine.java:158)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:120)
at org.h2.engine.Engine.createSession(Engine.java:28)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
289)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:265)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:
98)
at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:
162)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:
584)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:
228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:
369)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:
151)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:
207)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:
195)
.

---------------------------------------------------------------------------
Thanks in advance!


On 11 mrt, 16:08, Thomas Mueller <[email protected]> wrote:
> Hi,
>
> Is the problem still there if you don't use SSL? If yes, is it still
> there if you use an embedded database?
>
> I'm not sure what the problem could be, maybe it's a DNS lookup or
> something like that (I did see something similar some time ago, but it
> should be fixed now). Could you create a few full thread dumps on both
> the server and the client to find out what the problem is? Or use a
> profiling tool - a simple profiling tool is included in 
> H2:http://h2database.com/html/performance.html#application_profiling
>
> > why are conn6 and conn7 made?
>
> I don't know, maybe it's a connection pool? I don't really know how
> EclipseLink works, I'm sorry.
>
> Regards,
> Thomas

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to