On Sat, Apr 17, 2010 at 7:27 PM, Tim Hoffman <zutes...@gmail.com> wrote:
> HI Darryl
> Here's a couple of quick tips and these where a big win for us.
> 1. Memcache page output heavily, and if possible serve the pages
> without even starting up or initialising bfg.
> We found we could do a cold startup and serve a page from cache in
> 200ms cached page from memcache in 30ms. In this scenario you don't
> want to import any thirdparty libraries, just use what comes out of
> the box from appengine. ( ie importing any module not part of the
> core gae env always seems to take longer.) Whereas just starting bfg
> before doing anything could take between 3-4 sec and on a bad day a
> lot longer. Then if its not in the cache start bfg and process the
> page request.
> 2. Defer loading/importing stuff where possible. For instance we use
> formish/schemaish for forms. But if no one is logged in
> then we don't need to do the formish/schema imports. If someone is
> logged in then we do import formish. That way we only incur import
> costs when we actually use things. This is hard to control with zcml
> and a lot easier to do if you are directly registering things in
> python. Also it means you don't have the cost of parsing zcml as
Thanks a million for sharing!
> On Sat, Apr 17, 2010 at 3:52 AM, Darryl Cousins
> <darryljcous...@gmail.com> wrote:
>> Hi Tim,
>> On Thu, Apr 15, 2010 at 1:55 PM, Tim Hoffman <zutes...@gmail.com> wrote:
>>> Hi Iain
>>> I have a number of projects on app engine. Some using repoze.bfg
>>> (www.polytechnic.wa.edu.au (paid work), www.fishandlily.com.au (my
>>> small business)) and others just using zope.component and bobo (not
>>> public yet).
>>> We are using app engines persistence model which is simple and
>>> straight forward. (http://code.google.com/p/bfg-pages/ has some
>>> examples of implementing a very simple cms on bfg and appengine, it
>>> implements traversal over entities in the datastore as folders and
>>> I think bfg is a good fit with appengine. A couple of pointers, you
>>> are basically using the view, traversal, component registry
>>> mechanisms and not zodb/persistence (which isn't really core to bfg).
>>> We are not currently using chameleon but straight zpt with a custom
>>> bindings see the link above. You need to watch startup times so I am
>>> moving away from using zcml and using python to register things.
>> Yes, start up time is something I've noticed too. Aside from not using
>> zcml for component registration do you have any other pointers to help
>> with that problem?
>> Thanks in advance,
>> Darryl Cousins
>>> The really big advantage of app engine as I see it, is not having to
>>> deal with the system platform (ie cpu's disk, memory, networks, etc..)
>>> app engine is purely a runtime and services. So if you have little in
>>> the way of IT admin support, it is a big win.
>>> You do have to make some concessions/design compromises to take into
>>> account the restrictions enforced by the platform.
>>> As for economics www.polytechnic.wa.edu.au gets about 7000 unique
>>> visitors a day, around 20,000-50,000 page views a day and
>>> we have billing enabled but rarely get over 50% of the free quota so
>>> it's currently not costing anything at the moment to run.
>>> On Thu, Apr 15, 2010 at 7:46 AM, Iain Duncan <iainduncanli...@gmail.com>
>>>> Hey all, I have an app that eventually is intended to be used as a
>>>> subscriber service. I'm totally new to the cloud thing, wondering if
>>>> experienced bfg'ers would like to weigh in with their experiences
>>>> - what is your preferred cloud deployment for bfg apps?
>>>> - what persistence mechanism gets used? Is there some kind of facade over
>>>> the bigtable? How do you handle it?
>>>> - what is your experience with using cloud deployment, do you think it's
>>>> even worth it?
>>>> Repoze-dev mailing list
>>> Repoze-dev mailing list
Repoze-dev mailing list