Peculiar JRE behaviour running RMI server under load, should I worry?
        Posted  
        
            by darri
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by darri
        
        
        
        Published on 2010-05-06T19:40:07Z
        Indexed on 
            2010/05/06
            19:58 UTC
        
        
        Read the original article
        Hit count: 219
        
I've been developing a minimalistic Java rich client CRUD application framework for the past few years, mostly as a hobby but also actively using it to write applications for my current employer.
The framework provides database access to clients either via a local JDBC based connection or a lightweight RMI server. Last night I started a load testing application, which ran 100 headless clients, bombarding the server with requests, each client waiting only 1 - 2 seconds between running simple use cases, consisting of selecting records along with associated detail records from a simple e-store database (Chinook).
This morning when I looked at the telemetry results from the server profiling session I noticed something which to me seemed strange (and made me keep the setup running for the remainder of the day), I don't really know what conclusions to draw from it.
Here are the results:
Memory
GC activity
Threads
CPU load
Interesting, right?
So the question is, is this normal or erratic? Is this simply the JRE (1.6.0_03 on Windows XP) doing it's thing (perhaps related to the JRE configuration) or is my framework design somehow causing this?
Running the server against MySQL as opposed to an embedded H2 database does not affect the pattern.
I am leaving out the details of my server design, but I'll be happy to elaborate if this behaviour is deemed erratic.
© Stack Overflow or respective owner