Hi Servoy Crew.
We have a SaaS server in place and occasionally, in the last 2 months, the server has crawled to almost a standstill… if I check the app server, I see Java taking up most of the CPU and the CPU is running at 100%
If I restart the app server, things go back to normal.
We have an app server and a separate database server running on the Amazon Cloud. Both are running Linux CentOS 5.
I’m wondering how we might be able to better determine what might be happening or what are some things we can do to limit this occurrence.
Sometimes I wonder if our server is configured optimally. Other times, I wonder if we have some sort of bug in our code that is causing it.
Also, what experiences have any of you had with updating solutions while the server has clients in session. Does this open the door to issues?
Any ideas or information would be greatly appreciated.
Current stack and system info is below:
Current time: Mon Feb 22 16:30:38 CST 2010
Server Information
Servoy version 4.1.5 -build 687
Repository version 35
Uptime: 13 minutes 39 seconds
JDK Information
java.vm.name=Java HotSpot(TM) Client VM
java.version=1.6.0_02-b05
java.vm.info=mixed mode, sharing
java.vm.vendor=Sun Microsystems Inc.
Operating System Information
os.name=Linux
os.version=2.6.16-xenU
os.arch=i386
System Information
Heap memory: allocated=119980K, used=79501K, max=260160K
None Heap memory: allocated=63616K, used=56092K, max=184320K
Thread: RMI TCP Connection(72)-96.2.101.220, state: RUNNABLE, total cpu time: 0.0ms, total user time: 0.0ms
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1994)
com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2411)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1458)
sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.servoy.j2db.persistence.datasource.Ze.invoke(Ze.java:5)
$Proxy1.executeQuery(Unknown Source)
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:179)
com.servoy.j2db.dataprocessing.SQLEngine.performSelect(SQLEngine.java:487)
com.servoy.j2db.dataprocessing.SQLEngine.performQuery(SQLEngine.java:414)
com.servoy.j2db.dataprocessing.SQLEngine.performCustomQuery(SQLEngine.java:362)
sun.reflect.GeneratedMethodAccessor247.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)