Hi Toby,
The web app does not actually use any of the code in the additional
jars. I've created an issue here with the zipped webapp and links to
the deployed large and normal versions.
http://code.google.com/p/googleappengine/issues/detail?id=3378
On 22 Jun 2010, at 05:13, Toby Reyelts wrote:
Hey John,
Nice tests. For the apps where you added a lot of jars, are you
running any code at all from any of those jar files, or do they just
sit unused in your webapp? It's certainly not our intent that unused
jar files cause any extra delay in loading. If you can provide us
with the sample webapps that demonstrate this latency, then we might
be able to look into it further.
On Sun, Jun 20, 2010 at 4:09 AM, John Patterson
<[email protected]> wrote:
Hi All,
Just thought I would share some timings I have made to determine
what effect adding dependencies has on loading request time.
I made four apps using the Eclipse plugin and modified 3 of them to
add or remove jars from the war/WEB-INF/lib directory.
Normal - default jars (13.2 MB)
Small - removed all persistence related jars leaving two GAE API
jars (10.2 MB)
Large - added lots of jars from various projects (51MB)
Very basic testing procedure - I would just wait a few minutes and
reload the Hello world servlet. Normally one minute was long enough
to cause a loading request. However I did notice that waiting
longer (5 mins) seemed to cause a longer wall clock time - perhaps
there are several layers of caching for app resources that can expire.
Averages discard the highest timings:
Total ms CPU ms
Small 4079 501
514 501
598 535
541 552
617 518
664 535
_____________
587 528
Normal 739 585
656 535
636 585
595 552
598 535
621 552
1148 552
_____________
640 556
Large 2274 1372
1155 1171
2690 1422
4064 1255
1906 1272
1077 1188
2817 1355
______________
1986 1296
Some things to notice:
1 - Often the CPU ms (which comes off your quota) often has the same
value. e.g. 535ms and 552ms each appear four times. That seems to
indicate that some discreet function is used to calculate the cost
of loading your app.
2 - It seems that each 1MB of dependencies added takes about 35ms of
clock time to load and adds about 19ms to your CPU quota. However,
this figures will probably vary depending on if the file is already
loaded (by another app?) and possibly other factors. It is also
possible that the extra load time is related to the number of jars
rather than just their size.
3 - removing the standard persistence jars does seem to have some
effect
John
--
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 [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-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 [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-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 [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-java?hl=en.