7 ms·
Until they speed up the datastore by a factor of 10 the app engine just isn't a viable platform. They don't even use it internally for that very reason (this is
by axiom 17y ago
Until they speed up the datastore by a factor of 10 the app engine just isn't a viable platform. They don't even use it internally for that very reason (this is coming from colleagues who work there.)
- jeff18 17y agoHow do you reconcile that statement with the fact that tons of developers do actually use it? Myself included. ;)
- moe 17y agoWhat do the error rates on write operations look like these days? This ticket has held me back from giving appengine a try so far: http://code.google.com/p/googleappengine/issues/detail?id=764 http://code.google.com/p/googleappengine/issues/detail?id=76...
- jeff18 17y agoThis was largely solved in 1.3.1. I quote: Reduced error rate with Automatic Datastore Retries - We've heard a lot of feedback that you don't want to deal with the Datastore's sporadic errors. In response, App Engine now automatically retries all datastore calls (with the exception of transaction commits) when your applications encounters a datastore error caused by being unable to reach Bigtable. Datastore retries automatically builds in what many of you have been doing in your code already, and our tests have shown it drastically reduces the number of errors your application experiences (by up to 3-4x error reduction for puts, 10-30x for gets).
- axiom 17y agoWe use it too. That's why I can make that statement. A DB request takes over 100ms on the datastore. That's insane and unusable for about 90% of applications. Even their implementation of memcached is several orders of magnitude slower than actual memcached.
- jeff18 17y agoYou claim that about 90% of applications require sub-100ms latencies on datastore writes. Can you back this up? On the contrary, it seems to me that very few applications need to be blocked by writing to the datastore, let alone cases where 100 milliseconds make them unusable. Secondly, 3 millisecond memcached access is several orders of magnitude too slow? 3 nanosecond memcache access would be quite a physical achievement. ;)
- axiom 17y agoIf you're getting 3ms memcached access then you must be using a different app engine than I am. And it's 100ms reads not writes. Writes are slower. Much slower.
- jeff18 17y agoAccording to the independently verifiable health dashboard, the current memcache latency average for today is about 7ms[1]. The average datastore get() time is around 50ms[2]. The average datastore put() time is around 100ms[3]. Are you accusing Google of falsifying this trivially reproducible and abundant data? That would be quite an interesting story. ;) [1] http://code.google.com/status/appengine/detail/memcache/2010/04/07#ae-trust-detail-memcache-get-latency http://code.google.com/status/appengine/detail/memcache/2010... [2] http://code.google.com/status/appengine/detail/datastore/2010/04/07#ae-trust-detail-datastore-get-latency http://code.google.com/status/appengine/detail/datastore/201... [3] http://code.google.com/status/appengine/detail/datastore/2010/04/07#ae-trust-detail-datastore-put-latency http://code.google.com/status/appengine/detail/datastore/201...
- kalid 17y agoI don't think anyone would accuse google of falsifying data, but stats can be misleading. I might have missed it, but I didn't see a standard deviation for those numbers -- if you're doing several reads and they happen to be "above average" then you could see the random appearance of sluggishness. Just checking now (http://imgur.com/8Jb82 http://imgur.com/8Jb82) there are some really long requests (800ms!) which might get smoothed out in an average.
- alecthomas 17y agoAppEngine is used quite extensively internally.
- e98cuenc 17y agoIt depends a lot on each particular project. Panoramio and pubhubsubbub are two of the most well known Google projects built in AppEngine.
- arachnid 17y agoWe're constantly working on improving datastore performance, but asking for a factor of 10 improvement is outside the bounds of reasonableness: that would bring latencies well under that of a disk seek, so unless you're prepared to pay to have all your data stored in ram, it's effectively impossible for reads.