4 ms·
What are your performance requirements?
by mholt 5y ago
What are your performance requirements?
- PragmaticPulp 5y ago> What are your performance requirements? If the requirements were such that web server performance didn’t matter, I wouldn’t care and wouldn’t be asking about it. But the problem is that it doesn’t make sense to hide the performance statistics and then debate each user’s performance requirements instead of just letting the performance be a known quantity so we can all decide for ourselves.
- mholt 5y agoWe aren't "hiding" any performance stats. They just don't exist. It's super hard to generate them in a way that applies perfectly to everyone's use case. I'm still waiting to hear your performance requirements btw.
- PragmaticPulp 5y ago> I'm still waiting to hear your performance requirements btw. I suppose this encapsulates why I get turned off of Caddy every time I look into it: Basic concerns (including questions about approximate performance) are met with suggestions that I don’t know what I want and therefore I’m not qualified to make such judgments.
- throwaway894345 5y agoYou're being unduly defensive. mholt is telling you that he can't provide meaningful general purpose performance numbers because the breadth of cases for Caddy vary too widely, so he's asking you for information about your specific use case so he can give you the very information you're complaining about not being able to access, but you're being cagey about sharing those requirements. You're certainly within your rights to not use Caddy, but it makes no sense to complain that you can't get the performance information you need when you won't share any information about your use case.
- PragmaticPulp 5y ago> but you're being cagey about sharing those requirements. I don’t have one single set of requirements for every location I use a web server. Nobody does. If Caddy is good for one thing but not so good for other things, why is it so hard to come out and say that? Also, the benchmark I was questioning in the opening comment came from mholt on the official community forum. It’s mind boggling that I’m getting attacked for questioning the benchmark result that they provided in the first place.
- joshmanders 5y agoNobody is attacking you. Calm down, yeesh. You want performance metrics, but can't even tell us what metrics matter to you, but expect Matt and Caddy team to have them just available... You understand that your responses here are directly proving his point on not having them, right?
- throwaway894345 5y ago> I don’t have one single set of requirements for every location I use a web server. Nobody does. Right, you have to analyze each case separately. There's no way to meaningfully quantify performance across all cases. > If Caddy is good for one thing but not so good for other things, why is it so hard to come out and say that? Perhaps because that doesn't tell you anything? You can post microbenchmarks for very specific use cases but almost everyone extrapolates way too much from microbenchmarks and the folks who don't will tell you that microbenchmarks are virtually useless. > It’s mind boggling that I’m getting attacked Oh grief, you're not being "attacked". You're being melodramatic. I don't have a dog in this fight, I was just trying to clarify the conversation. If you're bent on reacting to a distorted perception of the conversation, there's not much I can do about that.
- stronglikedan 5y ago> mholt is telling you It's not what he's saying, but how he's saying it. "I'm still waiting to hear your performance requirements btw.", is a condescending, dismissive tone that would put more people off than not. Especially considering it was a reply within just a couple minutes of his initial question.
- Zababa 5y agoOn the Caddy website (https://caddyserver.com/ https://caddyserver.com/) it says: > Caddy is both a flexible, efficient static file server and a powerful, scalable reverse proxy. > LIGHTWEIGHT For all its features, Caddy runs lightly and efficiently with relatively low memory footprint and high throughput. > STATIC FILES By default, Caddy will serve static files in the current working directory. It's so brilliantly simple and works fast. > Caddy's HTTP server has a wide array of modern features, high performance, and is easy to deploy. Emphasis with the italics being mine. All of these seem to hint at performance comparaisons being done in specific domains agaisnt other web servers. For example: - efficient static file server: I would assume that "efficient" here is compared to other file servers, though that could mean also that it doesn't use much resources - For all its features, Caddy runs lightly and efficiently with relatively low memory footprint and high throughput: That seem to imply that other servers with all these features are heavier and less efficient? Or that other servers just don't have those features? Relatively low memory footprint and high throughput? Relative to what? - It's so brilliantly simple and works fast: What does fast mean here? Fast relative to what? Apache? The standard Go static file server? Python SimpleHTTPServer? - high performance: High compared to what? My goal here isn't to be confrontational. My point is that if there are all those claims on the main page of Caddy, then you must at some point have measured performance, resource usage and things like that against other servers. I think what people are asking is to substantiate those claims with data. You're right that it's hard to generate data in a way that applies perfectly to everyone use case. But then on what do you base all these claims? Why is Caddy called "the ultimate server"? At least that's why I'm wondering.
- mholt 5y agoNot everything needs to be read as a comparison to other products. Adjectives have meaning without competition. They can be interpreted as ratios, for example requests / available memory, or load / latency. It's not always about putting down other products. Both can be fast. Both can be efficient. Both can be fast and light. Both can be "high" without one having to be low in order for it to be valid to call it "high" -- because it's not always about the other product. This discourse makes me exhausted, every time it comes up. I'm tired of everyone thinking I'm trying to outperform NGINX. Caddy's just fast and efficient, I don't care to defend that claim as much as people care to attack it.
- yjftsjthsd-h 5y agoThis is exactly what the original complaint was: Someone complains that Caddy is slower than the options, and the official response is not neither agreement nor giving data to show that Caddy is fast, but equivocating about whether it matters while avoiding commenting on whether the claim is true. If you want to ship a webserver that's slower but safer and easy to use, that's fine; I'm using Caddy to host my stuff because that's a reasonable trade off. It's just the dodging of the question that gets old fast.
- vxNsr 5y agojust fyi, based on the bio of the person you're replying to, they're the author of caddy. not sure if this was known or not
- mholt 5y agoYeah, it's hard for us to hit a performance target that is being kept hidden from the devs.
- qbasic_forever 5y agoThis shouldn't be downvoted--it's very true, what performance are you trying to optimize? Throughput of long connections? Time from connection to first bytes? There are dozens of dimensions to web performance.
- yjftsjthsd-h 5y agoThat's totally reasonable. Does Caddy actually win on any of those dimensions?
- withinboredom 5y agoThere are millions of configurations for Caddy (which modules you compile into the binary) so this is literally impossible to know unless your benchmark your particular configuration for your particular use case.