I could if memcache actually worked. But it does not. I originally tried to use it and found that I could not push the game state to memcache and then have the other instances pull it. They would get versions of it that were up to 5 minutes old. My timings are 5 second windows. 5 secs to submit all scores 5 secs to reap scores and calc leaderboards 5 secs to fan out results to clients
Experience shows that memcache is just broken for that sort of timing. As for using Go instead of Python. I am not sure I follow why Go should be better. The lag is not coming from CPU or queries. Right now I am running 50 instances to serve 500 game clients. $48 for the last 18 hours. 11% of my requests result in "Request was aborted". Yeah, that is 12 THOUSAND fails. Back in the year 1995, ftp.cdrom.com could serve 2000 clients simultaneously on a Pentium Pro 200MHz .... and I cannot serve 20 clients on a 500Mhz virtual box ? I still contend there is some internal throttling going on somewhere. -R On Sunday, July 8, 2012 6:23:02 PM UTC-4, Kyle Finley wrote: > > Richard, > > Another option would be to move the Game State request to a > Go<https://developers.google.com/appengine/docs/go/overview> instance, > either as a > backend<https://developers.google.com/appengine/docs/go/config/backends>or as > a separate version. I believe a single Go instance should be able the > handle 500 request / second. You could then share the Game State between > the Python version and the Go version through Memcache, cacheing to > instance memory every 5 sec. > > - Kyle > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/SZqwMIIOZREJ. 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.
