JVM Problems -- Client sessions being destroyed

We have been doing some stress testing of an internal app that we are

pushing through our Portal and have hit a bit of a performance wall. We

had around 900-950 clients with established sessions pretty equally

balanced between our 2 backend servers and for no explainable reason one

of the backends (the same one that is running the Profile services)

decided to fail and all the user sessions established to that one

machine are destroyed (this was consistent across all of our attempts).

Heres a snippet from the error log ...

[01/Aug/2001:18:41:00] info ( 3132): Aborting JVM

[01/Aug/2001:18:41:00] info ( 3132): Exiting JVM due to: jvm_abort ()

and jvm.exitOnAbort > 0

[01/Aug/2001:18:41:00] info ( 3132): JVM exit statistics:

AttachedThreads/Max=7/38, ActiveThreads/Max=13/38

This is the only error that appears in the logs.

I made a change to the jvm12.conf file to increase the available

heapsize for the JVM since originally we couldn't get past 350-450

client logins (I kept seeing a OutOfMemoryError being thrown to the

error logs). I don't think the changes made are the cause of the problem

since the second backend is handling the same number of connections fine

with the same changes made. Is it possible that the extra load from the

Profile server is the root of the problem? If so do you know of anyway

to split this service off that machine and onto a stand alone machine or

to even "turn off" handling of client sessions so that it will just do

the profile services? Or is there any more configuration changes that

can be made to avoid this problem allowing us to leave the current setup

the way it is? Or above all that does anyone at least have an

explanation for the above error message?

When the above error occurs the system remains active and clients

connected to the other backend are not effected but all the ones

connected to this machine die (which says to me that the Profile service

is not the one throwing the error). There is heavy CPU utilization and

high load (between 5 and 20), memory however does not seem to be an

issue. I've been holding off on the SP3 patch until it becomes a

*stable* patch release so we are still running with SP2 but if there is

anything other then the patch that can be done about this problem please

let me know.

Thanks,

Sean

--

Sean O'Grady

Information Technology - SS

Sheridan College

905-845-9430 x. 2166

sean.ogrady@sheridanc.on.ca

[2689 byte] By [SeanO'Grady] at [2007-11-25 4:28:53]
# 1

I can't remember which JVM version SP2 uses, but SP3 has 1.2.2_07 and

currently v1.2.2 is up to 1.2.2_09. First I'd check the OS has up to

date kernel/pthread patches to make sure this isn't the old garbage

collection/thread problem.

If you don't want to upgrade to SP3 yet, you could just try switching

the JVM for a later version and use the tuning suggestions in the SP3

release notes - Don't worry about changing the JVM heap size, it's

recommended anyway:

NameScopeDefault Recommended

jvm.min HeapSizejvm12.conf104857632768000

jvm.max HeapSizejvm12.conf16777216 805306368

For heavy accessed sites it is recommended to increase the max JVM heap

size to 768 MB in order to avoid a JVM abort problem due to a lack of

memory.

jvm.optionjvm12.conf-Xrunoii

JDK 1.2.2_07 provides better performance and scalability with the

following option: "-Xgenconfig:32m,32m,semispaces:32m,768m,markcompact

-Xoptimize"

Sean O'Grady wrote:

>

> We have been doing some stress testing of an internal app that we are

> pushing through our Portal and have hit a bit of a performance wall. We

> had around 900-950 clients with established sessions pretty equally

> balanced between our 2 backend servers and for no explainable reason one

> of the backends (the same one that is running the Profile services)

> decided to fail and all the user sessions established to that one

> machine are destroyed (this was consistent across all of our attempts).

> Heres a snippet from the error log ...

>

> [01/Aug/2001:18:41:00] info ( 3132): Aborting JVM

> [01/Aug/2001:18:41:00] info ( 3132): Exiting JVM due to: jvm_abort ()

> and jvm.exitOnAbort > 0

> [01/Aug/2001:18:41:00] info ( 3132): JVM exit statistics:

> AttachedThreads/Max=7/38, ActiveThreads/Max=13/38

>

> This is the only error that appears in the logs.

>

> I made a change to the jvm12.conf file to increase the available

> heapsize for the JVM since originally we couldn't get past 350-450

> client logins (I kept seeing a OutOfMemoryError being thrown to the

> error logs). I don't think the changes made are the cause of the problem

> since the second backend is handling the same number of connections fine

> with the same changes made. Is it possible that the extra load from the

> Profile server is the root of the problem? If so do you know of anyway

> to split this service off that machine and onto a stand alone machine or

> to even "turn off" handling of client sessions so that it will just do

> the profile services? Or is there any more configuration changes that

> can be made to avoid this problem allowing us to leave the current setup

> the way it is? Or above all that does anyone at least have an

> explanation for the above error message?

>

> When the above error occurs the system remains active and clients

> connected to the other backend are not effected but all the ones

> connected to this machine die (which says to me that the Profile service

> is not the one throwing the error). There is heavy CPU utilization and

> high load (between 5 and 20), memory however does not seem to be an

> issue. I've been holding off on the SP3 patch until it becomes a

> *stable* patch release so we are still running with SP2 but if there is

> anything other then the patch that can be done about this problem please

> let me know.

>

> Thanks,

> Sean

>

> --

> Sean O'Grady

> Information Technology - SS

> Sheridan College

> 905-845-9430 x. 2166

> sean.ogrady@sheridanc.on.ca

Sean O'Grady at 2007-6-29 2:31:22 > top of Java-index,Web & Directory Servers,Portal Servers...