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