Experiment #2:  Bigger better faster frontends

Using JARed classes, with F2 frontends:

19409ms
18516ms
17125ms
18056ms
17152ms
18708ms
28104ms
16821ms
18074ms
16859ms
18311ms

Small but noticeable improvement, maybe 10%?

Same deployment, with F4 frontend:

12063ms
9070ms
10037ms
8617ms
10024ms
10656ms
8871ms
9330ms
9019ms
9253ms

Hot damn!

I'm not entirely sure how to interpret these results.  An F4 is about
twice as fast as an F1.  This suggests the problem is significantly
computational.  Except that an F2 is more or less the same speed as an
F1, which suggests the problem is almost entirely I/O.

Maybe F2 instances aren't actually twice the CPU power of an F1?
Maybe F4 instances get some special I/O priority?  Anyone want to
speculate?

Jeff

On Sun, Jun 24, 2012 at 5:00 PM, Jeff Schnitzer <[email protected]> wrote:
> Experiment #1:  JARing my classes.
>
> Times are measured by shutting down instance, hitting a URL, looking
> at request time in logs.  Repeat until bored.
>
> First, the "control".  My app (sandbox appid), normally deployed
> (classes in WEB-INF/classes):
>
> 21118ms
> 23849ms
> 35995ms
> 20556ms
> 21620ms
> 23718ms
> 34446ms
> 42948ms
> 22487ms
> 32722ms
> 34511ms
> 31883ms
>
> Redeployed, same code but with classes JARed instead of in WEB-INF/classes:
>
> 19240ms
> 19386ms
> 19912ms
> 27517ms
> 20400ms
> 20483ms
> 20186ms
> 19517ms
> 20352ms
> 19528ms
> 20856ms
>
> What's interesting is that this change didn't improve the best-case
> load times by much, but it almost eliminated the crazy variance.  This
> is a huge win.
>
> Conclusion:  Use this ant script for deployment:
>
>        <target name="deploy">
>                <delete dir="${staging.dir}" />
>                <mkdir dir="${staging.dir}" />
>
>                <copy todir="${staging.dir}">
>                        <fileset dir="war">
>                                <exclude name="WEB-INF/classes/**" />
>                                <exclude name="WEB-INF/appengine-generated/**" 
> />
>                        </fileset>
>                </copy>
>                <jar destfile="${staging.dir}/WEB-INF/lib/classes.jar"
> basedir="${classes.dir}" />
>
>                <appcfg action="update" war="${staging.dir}" />
>        </target>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to