Thursday, April 16, 2009

More JVM-dancing in the Google App Engine/J environment

Following up to my previous blog posts (#1, #2) about "JVM dancing patterns"/JVM-switching I've done some additional experimenting.

My latest round of testing included 118,679 successfully served requests during a period of roughly 48 hours.

The requests were served by a total of 54 distinct JVM:s (as identified by Runtime.getRuntime().hashCode()).

The longest period during which only one single JVM served all requests was 2.5 hours (8,995 seconds - a new record).

I tried altering the number of requests sent per second to see the impact on the number of JVM:s involved in serving the requests, and also the frequency of JVM-switching. As expected the number of JVM:s involved in serving requests rose quickly as the number of requests per second increased. Furthermore, the frequency of JVM-switching increased significantly as the number of JVM:s involved increased. When the number of requests per second was really high the requests seemed to be more or less randomly distributed among the participating JVM:s.

I'll keep tinkering and I'll report any results here! :-)

1 comments: