Five days ago I run JMeter-Tests to check the performance of my application with and without "threadsafe=true". I'm in "no billing mode" and therefore just worked with one instance.
With concurrent requests I expected a better throughput/ performance with the threadsafe=true configuration. This was not the case. The result was the same with and without the threadsafe configuration. I tested between 10 and 100 concurrent requests, but no difference at all. I seems like the "threadsafe=true" configuration is broken currently. Cheers Mos On Tue, Feb 28, 2012 at 5:34 PM, Jeff Schnitzer <j...@infohazard.org> wrote: > There's been a lot of discussion of the scheduler behavior in Pythonland, > but not much about it's "eccentricities" in Javaland. > > I have a threadsafe=true Java app. Let's say every request completes in > exactly 1s. Settings are: idle instances min 1 max 1, latency auto/auto. > Here is what I expect: > > * Instance1 starts up and becomes permanently resident > * Instance1 serves concurrent requests up to some arbitrary CPU capcity > * When Instance1 exceeds capacity: > * Instance2 starts warming up > * All requests remain in the pending queue for Instance1, getting > processed at 1/s * concurrency > * Instance2 is ready and starts processing new requests, sharing the > load with Instance1 > > What I actually see (as far as I can determine): > > * Instance1 starts up and becomes permanently resident > * Instance1 supports almost no concurrency. At most it's 2. (no, my app > is not particularly compute intensive) > * A new request comes in which for some reason can't be handled by > Instance1: > * Instance2 starts warming up > * The new request is blocked on Instance2's pending queue, waiting > 10-20s for Instance2 to be ready > * In the mean time, Instance1 is actually idle > * Another new request comes in and starts up Instance3 > * Possibly this is while Instance2 is warming up > * AFAICT, Instance1 is taking a coffee break > > The net result is that I have an idle website with 1 user (me) clicking > around and I've already gotten multiple 20s pauses and three instances. > Something is seriously wrong here. Whether or not it's rational to have > so many instances started, pending requests shouldn't be shunted to > non-warmed-up servers, right? > > I've tried upping the min latency to a high value to see if this improves > the situation. If this works... shouldn't min latency *always* be as high > as the startup time for an instance? > > I know it's been said before, but it needs to be said again... the > guidance for scheduler configuration is really, really inadequate. > > Jeff > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-java@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.