[Ur] Framework Benchmarks Round 9 Preview

Adam Chlipala adamc at csail.mit.edu
Wed Feb 19 07:07:22 EST 2014


On 02/18/2014 11:19 PM, escalier at riseup.net wrote:
> Previews for Round 9 have been posted:
> http://www.techempower.com/benchmarks/previews/round9/
>    

There are also results for their older environment with fewer cores, but 
that run wound up with an older Ur/Web version installed that has a 
silly performance problem.  I expect that, when it's rerun with the 
proper version, Ur/Web will place substantially better than in the 
results linked directly above (where the server has 40 hardware threads).

The results on the beefy server are already pretty good, because they 
were run with the right version of Ur/Web.  There may be some debugging 
for concurrency scaling in Ur/Web's future, since apparently another 
entrant is able to achieve 10 times the HTTP throughput on tests with 
keepalive and pipelining.  However, in absolute terms, the results look 
pretty good.  I'll summarize them here:

Basic HTTP with no database access: hundreds of kRPS (thousands of 
requests per second), about 40% of the best entrant's throughput
Pipelined HTTP with no database access: a few more hundreds of kRPS than 
the last one, about 10% of best
Single database query per req.: about 100 kRPS, 40% or 60% of best (for 
two different benchmarks)
20 database queries per req.: about 10 kRPS, 75% of best
20 database queries & updates per req.: about 500 RPS, 10% of best

The update performance pays an especially big penalty for running inside 
bona fide serializable database transactions, which most entrants are 
not doing.  At the same time, 40 SQL calls in one request is way beyond 
usual real-world workloads, I think.

In the other tests that don't run afoul of this problem, Ur/Web never 
places worse than 23rd, out of about 100 entrants.  The best performance 
is on the test ("Fortunes") that does one database query and formats the 
results as HTML, which arguably comes closest to Ur/Web's intended use 
case.  Here Ur/Web places 4th out of 60 entrants for throughput, and it 
has the best latency average with a comfortable 0.1 ms lead. :)

I'll post an updated summary when the final results are out (I'm hoping 
with the right Ur/Web version used on the server with 8 hardware threads).



More information about the Ur mailing list