4 ms·
i don't really see the point of these micro-benchmarking articles at all. so what if nginx can serve a theoretically higher number of static files/second more
by unshift 15y ago
i don't really see the point of these micro-benchmarking articles at all.
so what if nginx can serve a theoretically higher number of static files/second more than something else. are you actually serving that much traffic with no headroom in terms of extra servers and load balancers? do microseconds of computational time per request really matter when your outbound packets can get delayed by milliseconds in the network or dropped completely?
there are plenty of reasons to like one server over another, but is .0000000001 seconds/request overhead really one of them? http servers can have wildly different behaviors regarding HTTP streaming, working models, extensions, etc. how about the fact that varnish is a caching proxy that doesn't really replace something like nginx, lighttpd, apache?
he's also backing varnish with a ramdisk that takes 25% of his memory (for a 100b file, no less!) when comparing it to the others. probably not the best designed test out there.
> Again, keep in mind that this benchmark compares only the servers locally (no networking is involved), and therefore the results might be misleading.
i don't know why anyone would publish "misleading" benchmarks
i know it's less fun and there are no numbers involved, but what about a real rundown of some of the subtle differences between the servers and some of their more unique features (besides async/threaded)? that's something i would find useful reading, but i guess it's not as easy as firing up ab.
- drtse4 15y agoAnd in the end, the only meaningful benchmark for you is the one performed on your deployment environment and with your application. These generic tests (if the conditions in which they were performed are clear) can only be used to skim through all the available options to identify those who clearly under-perform (agreed, identify why could be even more useful than the test itself).
- unshift 15y agothey're not even worth skimming. a while back when tornado (for python) came out, there was a whole slew of benchmarks comparing it to twisted. as a guy who uses twisted a lot, i was interested. all the benchmarks said tornado was faster by maybe a hundred or a couple hundred requests/sec and therefore was the superior framework. the big question is, what difference does it make? not a single article i read mentioned the fact that twisted has a really awesome streaming API, has great TCP and UDP level support, has support for a ton of other protocols (and writing your own), or is insanely useful for non-web projects. i never read about a single feature tornado had either or why one is worth investing time in than another. same thing for this "benchmark". i might as well write off varnish, since it serves fewer requests/sec than nginx, right? wrong! it's a different thing all together -- no mention of that anywhere in the article though. the author just says (in not so many words) it's a piece of crap compared to nginx.
- qjz 15y agoIf you're trying to identify and eliminate bottlenecks, benchmarks like this are tremendously helpful. If the theoretical limit of a component exceeds the practical limit of other resources, I know I can look elsewhere to improve performance.
- peterwwillis 15y agoyour non-webserver overhead is your non-webserver overhead. it'll be the same no matter what webserver you use, so it doesn't matter what the network is like. the whole point of micro-benchmarks is to show one single use case and which option comes out the fastest. now if you ever need to serve small static files really god damn fast you know which web server to use.
- unshift 15y agothey're all very fast. what do i do with the information presented by the article? what have i learned that will help me make better decisions about what to use for a given project? nothing, really.
- yid 15y agoMaybe you should read the title before clicking the link then?
- unshift 15y agoaccording to the title and article i should be using G-WAN for my static files, which i've never heard of before. i know nothing about it other than it apparently serves more files per second than nginx, lighttpd, and apache. but, i should be using it. do you really recommend operating like that?