Live data from Hacker News

Web Framework Benchmarks Round 5

techempower.com

51–58 of 58 posts

Re: Web Framework Benchmarks Round 5

#51
post #47
post #43

Earlier quoted context omitted.

Agreed, this would be interesting. It's under discussion: https://github.com/TechEmpower/FrameworkBenchmarks/issues/10...

Nice! I hope we will see it in next rounds. There is a big difference between "it serves 1200 rps" and "it serves 1200 rps and barely seen in top" actually

Yes, but to set expectations before we even implement the server statistics capture we have planned: we want the CPU to be fully utilized for most of these tests. If you barely see the server showing up in top, something is probably going wrong (or you've run into a different limit such as disk or network).

We're testing the maximum number of requests a server can handle per second, so the optimum is for the CPU to be fully utilized. A different test would measure how much CPU is used if I want to serve X requests per second.

Re: Web Framework Benchmarks Round 5

#53
post #32

It would be nice to add Beego [1], as I'm currently learning Go from an ebook written by the author of the framework [2][3], and it would be nice to see how it performs. Thanks for your hard work! [1] https://github.com/astaxie/beego [2] https://github.com/Unknwon/build-web-application-with-golang... English translation [3] https://github.com/astaxie/build-web-application-with-golang Original version in Chinese

I had not heard of Beego, but we'd love to accept a pull request with a Beego implementation of the tests. Perhaps you could put one together as an exercise while learning the language and framework? :) Sorry, I can't resist playing the "pull request" card.

You have a pull request :D

Re: Web Framework Benchmarks Round 5

#54
post #50

INB4 questions to the Go results: Nope, issues of round 4 not addressed yet. Like in round 4 (since the related code hasn't changed) the many concurrent spawned goroutines probably get in each others way, causing a high latency and low throughput. There was a reversion of the test without goroutines, which I think performed better. But I was told the goroutines version is more realistic... (I don't share this opinion…

Hi Julien, Thanks for the note. I'd like to get to the bottom of this and make the Go test representative of best practices. A previous decision may have been made to favor an implementation that was measured to be faster at the expense of best practices [1], but that is not irreversible. I am not a Go expert and I believe you are, and certainly @bradfitz is as well. If you two tell us definitively to change the Go i…

  I apologize if you feel we stepped on your opinions in any fashion.
I don't ;)

I'm just not so happy about making the queries this way: http://i.imgur.com/u9Nx5.png

Of course I will try to help solving this issue, but it is hard to contribute without testing, since I have no idle server or suitable spare computer around where I could run this tests properly. But my PC seems to have a somewhat similar configuration to your "dedicated i7 hardware". I hope I manage to set up the test environment in a dual-boot soon.

Re: Web Framework Benchmarks Round 5

#56

Just a heads up - I think this post has been flagged off the front page? Strange.

Yes, the score became red according to hnslapdown [1]. It has happened to the previous rounds, and we suspect those who can downvote stories don't feel these updates have merit. So be it. We do enjoy the feedback from readers that we receive from the brief time they appear on the home page, so as long as they will permit us to share the updates here, we will continue doing so.

If you want to participate in a longer-form discussion about the project, we invite you to join the Google Group [2].

[1] http://thomaspark.me/2012/10/the-hacker-news-slap/

[2] https://groups.google.com/forum/?fromgroups=#!forum/framewor...

Re: Web Framework Benchmarks Round 5

#57
post #50

Earlier quoted context omitted.

Hi Julien, Thanks for the note. I'd like to get to the bottom of this and make the Go test representative of best practices. A previous decision may have been made to favor an implementation that was measured to be faster at the expense of best practices [1], but that is not irreversible. I am not a Go expert and I believe you are, and certainly @bradfitz is as well. If you two tell us definitively to change the Go i…

I apologize if you feel we stepped on your opinions in any fashion. I don't ;) I'm just not so happy about making the queries this way: http://i.imgur.com/u9Nx5.png Of course I will try to help solving this issue, but it is hard to contribute without testing, since I have no idle server or suitable spare computer around where I could run this tests properly. But my PC seems to have a somewhat similar configuration to…

Thanks for clarifying! It's reassuring.

Please let us know if there is anything we can do to help ease the process. It is not strictly necessary to set up the whole benchmark platform. You can create the very simple database with the scripts. Then just run Go alongside a load generator such as Wrk in order to experiment with various approaches and do spot checks along the way.

Re: Web Framework Benchmarks Round 5

#58

so Java is fastest... then why does it seem that in the real world Java web apps are slowest?

Fast Java code that is smartly written is really fast. There are lots of real world Java apps out there that you might not realize are Java --- I've read somewhere that Google Adwords is in Java, for instance.

The problem is, there are lots and lots (and lots) of bad Java developers out there --- it's the "safest language" there is (to learn if you want to make a buck or to hire devs if you want to play it safe as a manager at BigCorp), so you often see badly done outsourced work written in Java. Also, lots of Java code out there lives in non-Agile environments (so it runs on very outdated stacks.)

That being said, if you used a purely modern Java stack (probably some Guice, Wicket, Resin, JDK 7, etc) with super smart people you will be highly performant.

(Note: I haven't done pure real Java dev since the Struts days and Java 1.5, so the tech stack above is just me guessing at what the latest/greatest is.)

Post reply on HN