Slowdown of Whole Solution UI

I’m experiencing the exact same issues, have tried all the suggestions in this post and in the following post:

http://forum.servoy.com/viewtopic.php?f=5&t=11380

However, there is one distinct difference, essentially we freeze everyday. I have to restart the server in the middle of the day.

This has been going on almost since the first day we moved to 3.5.x which was almost seven weeks ago. The users are more than frustrated, to point where less and less of them are using Servoy everyday and more are reverting back to email and spreadsheets to get their work done.

I have 65 licenses and I’m lucky if I get 16 users on the system now.

This as to be fixed!

If moving back to 2.2.8 is going to give us relief yet limit our functionality, so be it, as soon I will be the only one left using the product.

Servoy 3.5.7
Java Version 6 Update 11

Here are the kinds of errors I’m getting:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.rmi.d$1.run(Unknown Source)
2009-01-07 14:02 ClientExportNotifyListner[74] ERROR com.servoy.j2db.util.Debug Signalling channel lost, removing ports: [3076]
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.rmi.d$1.run(Unknown Source)
2009-01-07 14:02 SocketAccepter[10] ERROR com.servoy.j2db.util.Debug SocketAcceptor failure for socket: 8ff982[SSL_NULL_WITH_NULL_NULL: Socket[addr=/10.1.1.19,port=4665,localport=1099]]
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.rmi.d$b.run(Unknown Source)
at com.servoy.j2db.util.as.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

HI Providence,

you don’t give much info here,

WHAT is exactly freezing? all clients? the server?
what are your memory settings? server specs?
windows server? works as services?

stuff like that, we are working for more than 4 months with servoy 3.5.7 and never seen these things.
(yeah I saw it, but that was tottally us screwing things up in for example, calculations ;-) )

And, because of the ssl socket error. Are you using ssl?
Is it checked in networksettings ‘SocketFactory.useSSL’?

Windows Server 2003 Service Pack 2
Standard Edition
3.00Ghz of ram

Java Additional Parameters

wrapper.java.additional.1=-Djava.awt.headless=true
wrapper.java.additional.2=-Duser.dir=“C:\Program Files\Servoy”
wrapper.java.additional.3=-XX:MaxPermSize=256m

Initial Java Heap Size (in MB)

wrapper.java.initmemory=32

Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=1024

Port which the native wrapper code will attempt to connect to

wrapper.port=1777

wrapper.on_exit.default=RESTART
wrapper.on_exit.0=SHUTDOWN
wrapper.jvm_exit.timeout=60

Network Settings
SocketFactory.useTwoWaySocket: checked
SocketFactory.useSSL: checked

Memory/Performance Settings
servoy.initialClientHeap: 256
servoy.maxClientHeap: 1024
servoy.vmClientArgs: -XX:SoftRefLRUPolicyMSPerMB=3600000
servoy.clientJarLoadOption: lazy
servoy.fastClientStartup: false
servoy.useObjectPool: false
servoy.disableDataChangeNotify: false
servoy.disableServersidePack: false

Client OS Integration
servoy.clientDesktopShortcutCreation: true
pushLnfToMac: false
useSystemPrintDialog: false
servoy.allowExistingClientActivate: true

Solution Settings
servoy.allowSolutionBrowsing: true

Network Settings
-ping delay?

Could be a network router dropping connections when to long idle (the errors you showing are network-connection drops), suggestion to set the ping delay to 30 (seconds)

and I’m curious what is hanging or stalling? ALL the clients? or just some? server?

please also look at your DB connections in the connection pool

My ping delay was set to 30. I forgot to mention this.

servoy.rmiStartPort: 1099
rmi.connection.timeout: 120
ApplicationServer.pingDelay: 30

server: contact_mgmt (sybase)
Maximum connections active: 50
Maximum connections idle: 10
Maximum prepared statements idle: 100
Query validation type: query validation
Validation query: select 1;

vam (mssql 2000)
Maximum connections active: 30
Maximum connections idle: 20
Maximum prepared statements idle: 100
Query validation type: exception validation
Validation query:

open_quote (sybase)
Maximum connections active: 20
Maximum connections idle: 10
Maximum prepared statements idle: 100
Query validation type: exception validation
Validation query:

repository_server (sybase)
Maximum connections active: 30
Maximum connections idle: 10
Maximum prepared statements idle: 100
Query validation type: exception validation
Validation query:

Oke, I’m not going to ask 3 times! ;-)

Shoot! Sorry, the clients hang, even if I’m running a client on the server.

It will start with a massive slow down across the board where forms take 15 to 42 seconds to load (yes, i’ve timed this). Searches on 36K record databases which took 1-2 seconds, take 5-6. Then a few clients will freeze, meaning if they are minimized they can’t maximize, or if they are using Servoy the screen will stop redrawing, either it will go grey or it will sit on the form they are currently on.

A few minutes later, after the freezes on what I can only believe are ports closing down, all the clients will stop working wherever they are at.

Make sense?

In short, all the clients are hanging eventually.

are you seeing also a A LOT of queries in the database perfomance tab in the servoy-admin??

The average time for a query is below 2 seconds and I don’t have a lot of queries, not like thousands and thousands. There one or two that are above 1000 and those are relation queries.

2 seconds is really long, don’t you mean 2 milliseconds??

you could also check, when the clients don’t react, how many, DB connections are in use, per server.
and at that time, look at CPU or memory on the server.

Harjo:

Are you talking about these settings:

Server: contact_mgmt

Status
Server status: Online
Active connections: 0/50
Idle connections: 10/10

I have never found those settings very accurate. I will monitor networking, ram performance on the server to see if I notice anything around the time that it takes a hit.

yes, those are accurate but are not client connections, but DB connections.

do you have all of them at a max of 50?

No, the smaller databases I have at a much lower max connection setting:

Server: contact_mgmt
Maximum connections active: 50
Maximum connections idle: 10

contact_mgmt_email
Maximum connections active: 50
Maximum connections idle: 10

Server: contact_mgmt_images
Maximum connections active: 10
Maximum connections idle: 5

Server: image_database
Maximum connections active: 20
Maximum connections idle: 10

Server: log_server
Maximum connections active: 10
Maximum connections idle: 10

Server: open_quotes
Maximum connections active: 20
Maximum connections idle: 10

Server: repository_server
Maximum connections active: 30
Maximum connections idle: 10

Server: vam
Maximum connections active: 30
Maximum connections idle: 20

vam_so_images
Maximum connections active: 20
Maximum connections idle: 10