4 ms·
These ones, for starters: http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?resulttype=undefined&version=5%&currencyID=1 http://www.tpc.org/tpcc/res
by aphyr 13y ago
These ones, for starters: http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?resulttype=undefined&version=5%&currencyID=1 http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?result...
On good server hardware, Postgres will happily push 100-200K small transactions per second. Naturally the definition of "transaction" varies, and you'll see vastly different performance depending on contention, locality, indices, etc. I'd expect logging independent events in a single table to be a good deal faster than multi-table transactions, especially those involving contended rows.
On EC2, the story is (naturally) a good deal less heartening. I think you'd be hard-pressed to make it to 10K on TPC-B, given reports like http://www.palominodb.com/blog/2013/05/08/benchmarking-postgres-aws-4000-piops-ebs-instances http://www.palominodb.com/blog/2013/05/08/benchmarking-postg...
Granted, single-node performance may not be the question to ask here, because this problem is readily shardable by customer ID, and operations can also be buffered in local memory to some extent.
Remember: if it fits in Redis, the problem requires, at maximum, a single node's memory and a single core--and can tolerate network latencies.
- jessaustin 13y agoif it fits in Redis, the problem requires, at maximum, a single node's memory and a single core How many companies like Twilio are using an RDBMS for which this isn't the case? I mean, if people had enough money to buy an oracle cluster, they'd still probably buy something else?
- ironchef 13y ago"Remember: if it fits in Redis, the problem requires, at maximum, a single node's memory and a single core--and can tolerate network latencies." Not entirely true. A number of places out there use sharded redis. In which case, you're not limited by the memory or core in the same manner. A nit to pick, but hoping to keep the conversation on point (as you alluded to with the "shardable" comment)
- aphyr 13y agoIf you're using a sharded Redis, your problem is a collection of problems satisfying the above law. What I'm getting at is that if performance is seriously a problem, few things beat a dedicated service with concurrent, in-process memory--instead of pushing every operation to an external, fully serialized heap.