3 ms·
Admittedly, a queries per second measurement comes with a bunch of variables. Reads? Writes? Fetching by primary key, an indexed field, an unindexed field?
by bhauer 13y ago
Admittedly, a queries per second measurement comes with a bunch of variables. Reads? Writes? Fetching by primary key, an indexed field, an unindexed field? Joining? Does the data set being accessed fit in the memory of the database server?
In our benchmarks [1], the hot data set does fit in memory, rows are small (by design, to avoid saturating the Gigabit connection) and they are fetched by primary key. The results top out at ~145,000 queries per second (cpoll-cppsp shows 7,252 requests per second and this test exercises 20 queries per request). The database server's resources are not fully utilized by this test. That is, in this test, the web framework--even this blisteringly fast C++ framework with its optimized MySQL driver--is the bottleneck.
In the updates test [2], the same framework scores 1,963 requests per second and this test exercises 20 reads and 20 writes per request for a total of 39,260 select queries and 39,260 update queries per second.
Outside of the database server using a Samsung 840 Pro SSD, our benchmarks run on early-2011 vintage i7-2600K Sandy Bridge workstations.
This benchmark is not a database benchmark, however. We capture numbers with MySQL, Postgres, and Mongo but it is not our intent to measure the performance of databases.
Another benchmark is Databench [3], which is measuring the impact of ORMs on bank-transfer-like transactions. Again, not a benchmark focused specifically on measuring the database itself, but interesting nevertheless. On an hi1.4xlarge Amazon instance using the Prevayler library, that hardware achieves 84,860 transactions per second. Databench uses Postgres.
[1] http://www.techempower.com/benchmarks/#section=data-r6&hw=i7&test=query http://www.techempower.com/benchmarks/#section=data-r6&hw=i7...
[2] http://www.techempower.com/benchmarks/#section=data-r6&hw=i7&test=update http://www.techempower.com/benchmarks/#section=data-r6&hw=i7...
[3] http://databen.ch/ http://databen.ch/
- bhauer 13y agoCorrection: Now that I'm at home, I took a closer look at Prevayler since I wasn't familiar. It appears to be a persistence platform in its own right rather than an interface to the database. So disregard. I'm not precisely sure how to read the DataBench results, but presumably the rows that cite Postgres in the name are more relevant.