$60/m or $600/m? On Wednesday, August 8, 2012 10:10:43 AM UTC+8, Jeff Schnitzer wrote: > > If you've been reading various threads on this list you know that > Richard has been having trouble getting his mobile game to run > smoothly on GAE. It's a little unusual because timing is coordinated > precisely: > > * At T+0, all clients submit scores > * At T+5s, a reaper process aggregates the scores and builds a result set > * At T+10s, all clients fetch scores > > The question is: Where to submit the score data so that the reaper > can fetch and aggregate it? > > Here's some answers that didn't work: > > * The datastore. Eventual consistency is too eventual to query for > all the scores and get them. > * Pull queues. There's too much of a delay between task insertion > and when it appears for leasing. > * A single backend. One backend cannot handle more than ~80qps. > > He eventually got a system working reliably, sharded across ten B1 > instances, at a cost (beyond other charges) of ~$600/mo. It can > collect a couple thousand scores within the 5s deadline (barely). > > I thought this was insane, so I built a few experiments to see what > other technologies can do, using the exact program logic of Richard's > collector. Here are the results: > > The environment: 256MB Rackspacecloud VPS running Ubuntu 10.04.4 LTS > The cost: $11/mo > The command: ab -c 10000 -n 10000 -r http://theurl (that's 10k > requests, all concurrent). > > Node.js: ~2500 qps. Rock solid through multiple test runs, all > complete before the deadline. > Java SimpleHTTP: ~2100 qps. Had to bump heap up to 128MB. > Python Twisted: ~1600 qps. Failed a lot of requests on most test runs. > Python Tornado: ~1500 qps, but rock solid through multiple test runs. > > So basically, an $11/mo VPS server running Javascript vastly exceeds > the capabilities of 10 backends at $60/mo each. > > Jeff >
-- 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/-/BULdWAelwdQJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.