As far as I understand, they run their own thing on the local server but on GAE is still deployed in the servlet container. The PlayGae plugin is not maintained by its original authors so it could be a risky choice. There are other active frameworks out there, here's one: http://www.ninjaframework.org/
Anyway. the big architectural problems with GAE won't be solved I'm afraid. Here's a rant... I've got a very low threshold for bullshit and I cannot stand arrogance. When they talk about the "google way", it's all bullshit. The "Google Way" IMHO is having a shitload of money and throwing tons of hardware at problems. It's ridiculous that an instance can barely service 3 reqs/s. If they want to really scale, they should learn from Node and its truly asynchronous interface. No matter what you say, when you talk to GAE fanboys it's always down to: "You should review your architecture", it's always down to the users, their fault for not getting "the Google Way" (Halleluja) We're paying customers (ok, nowhere as big as Snapchat) but still we're entitled to criticise the platform. We have to front both our employers and customers to justify embarrassing performances. If the Google Way is something that forces you develop in weird, unintuitive way that defeats good software engineering practices and at the end of the day makes you write code that's both ugly and non portable, well, I wouldn't recommend anyway to go down this way, really E On Friday, 21 February 2014 10:39:17 UTC+13, Rafael Sanches wrote: > > Have you tried playframework? They have optimizations to make your life > easier when developing. > > My life is living hell right now when developing with maven and appengine. > The play framework solves that by running their own thing. > > Read more: http://www.playframework.com/documentation/1.0/gae > > > > On Wed, Feb 19, 2014 at 7:24 PM, Tapir <[email protected] <javascript:>>wrote: > >> >> >> On Thursday, February 20, 2014 6:26:52 AM UTC+8, Emanuele Ziglioli wrote: >>> >>> Great stuff >>> >>> hope you don't move to Go too soon! >>> >> >> Why? >> It is a way of no ways. >> >> >>> >>> On Thursday, 20 February 2014 03:52:33 UTC+13, Tapir wrote: >>>> >>>> >>>> >>>> On Tuesday, February 18, 2014 6:43:56 PM UTC+8, Tapir wrote: >>>>> >>>>> >>>>> >>>>> On Tuesday, February 18, 2014 4:56:51 PM UTC+8, Rafael Sanches wrote: >>>>>> >>>>>> very interesting... >>>>>> >>>>>> can you tell me how you did that? in a maven build or only via >>>>>> eclipse? >>>>>> >>>>> >>>>> neither, I did it manually. >>>>> >>>>> ok, the new test result: >>>>> 1. if I remove all jar files from the war/WEB-INF/lib, the warmup time >>>>> is about 2.3 seconds. >>>>> 2. if I put the only the core app engine sdk jar file in >>>>> war/WEB-INF/lib, but doesn't reference it, the warmup time is about 2.9 >>>>> seconds. >>>>> 3. if I put "DatastoreService datastore = >>>>> DatastoreServiceFactory.getDatastoreService();" >>>>> in the jsp file but do nothing eslse, the warmup time is 3.5 seconds >>>>> 4. if I put a query in the default jsp file, the warmup time is 4.7 >>>>> seconds. >>>>> 5. if I convert query result as list, the warmup time is 6 seconds. >>>>> >>>> >>>> >>>> made some new tests today. The results are some different. >>>> >>>> ======================================= >>>> >>>> First, the impact of number of lib jar files: >>>> 1. no lib jar files, warm up time = 3 seconds (slower than yesterday) >>>> 2. one core lib jar file, no refs, warm up time = 5 seconds (slower >>>> than yesterday) >>>> 3. four core lib jar files (the ones under sdk user folder), no refs, >>>> warm up time = 5.7 seconds >>>> 4. fifty-four jar files (used in my projects) , no refs, warm up time >>>> = 6.2 seconds >>>> >>>> So, obviously, the core GAE SDK lib files have a big impact on the >>>> warm up time. >>>> >>>> ======================================== >>>> >>>> Second, number of references of core sdk lib. >>>> 1. no refs, 3.5 seconds >>>> 2. fewer refs, 4.4 seconds, by adding "DatastoreService datastore = >>>> DatastoreServiceFactory.getDatastoreService(); Key guestbookKey = >>>> KeyFactory.createKey("Guestbook", guestbookName);" >>>> 3. more refs, 5.5 seconds, by adding "Query query = new >>>> Query("Greeting", guestbookKey).addSort("date", >>>> Query.SortDirection.DESCENDING); >>>> List<Entity> greetings = datastore.prepare(query). >>>> asList(FetchOptions.Builder.withLimit(5));" >>>> >>>> So, the first references to core lib class will also increase the warm >>>> up time. In this example, only part of core classes are refed, if there >>>> are >>>> more, the warmup time would be longer. >>>> >>>> ======================================== >>>> >>>> The performance of GAE instances varies much in the tests. So the >>>> result may be not very accurate, but I think the conclusions are reliable. >>>> >>>> Final conclusion: using pure jsp/servlet will not save a GAE java >>>> project. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>> >>>>> so, I think it is very clear that the datastore API is main cause of >>>>> long warmup time. A simple datastoe calling will increase the warmup time >>>>> much. In above example, the total increased warmup caused by datastore >>>>> APIs >>>>> is more than 3 seconds. >>>>> >>>>> Otherwaise, scanning the core app engine sdk jar will cost 0.5 second. >>>>> >>>>> So, @GAE_team, please optimize your datastore APIs. Done! >>>>> >>>>> >>>>> >>>>>> >>>>>> On Tue, Feb 18, 2014 at 12:44 AM, Tapir <[email protected]> wrote: >>>>>> >>>>>>> Ok, I removed all core GAE jar files under SDK/lib/user >>>>>>> Now the warmup time dropped from 5-7 seconds to 3-4 seconds. >>>>>>> >>>>>>> What is appengine-api-labs-1.x.x.jar? is it essential? >>>>>>> And must the appengine-api-1.0-sdk-1.x.x.jar be included in the >>>>>>> project war directory? >>>>>>> >>>>>>> >>>>>>> On Tuesday, February 18, 2014 1:59:15 PM UTC+8, Tapir wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tuesday, February 18, 2014 4:33:16 AM UTC+8, Emanuele Ziglioli >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Not sure where my reply went. >>>>>>>>> >>>>>>>>> On Tuesday, February 18, 2014 3:57:37 AM UTC+8, Emanuele Ziglioli >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Our warmup time was 15 seconds, then I looked at the hello world >>>>>>>>>>> project that the GAE plugin generates with one servlet. >>>>>>>>>>> That took 2 seconds to startup (once the servlet was hit). >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On F2 instance? >>>>>>>>>> >>>>>>>>> >>>>>>>>> Haven't seen much difference between F1 and F2 when it comes to >>>>>>>>> warmup time. >>>>>>>>> Most time seems to be spent actually loading jars. Initialization >>>>>>>>> could be as little as 3s with our project, F2 would a bit better but >>>>>>>>> not so >>>>>>>>> much >>>>>>>>> >>>>>>>> >>>>>>>> why? looks not reasonable. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>>> My experience is the modules feature will spend your money. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I haven't seen many people using modules yet. Can't they be >>>>>>>>> configured to be F1 like non default versions? >>>>>>>>> >>>>>>>> >>>>>>>> should be. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Google App Engine" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/google-appengine. >>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>> >>>>>> >>>>>> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to >> [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/google-appengine. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
