4 ms·
Here's the stats on Stackoverflow https://stackexchange.com/performance https://stackexchange.com/performance 1.3 billion page views per month, 9 web servers,
by codeulike 5y ago
Here's the stats on Stackoverflow
https://stackexchange.com/performance https://stackexchange.com/performance
1.3 billion page views per month, 9 web servers, 4 sql servers
Stackoverflow is notable because they went down the C#/MVC/SQL Server route from the start, which meant much better performance per server. Thats why they make an interesting counterexample to the usual way...
- sofixa 5y ago> Stackoverflow is notable because they went down the C#/MVC/SQL Server route from the start, which meant much better performance per server And also notable because everything is under an expensive license, so big performant servers is the cheaper option. Edit: everything = Windows servers for their .NET app ( apparently in the process of migrating to .NET Core) and SQL Server
- tester34 5y agowhat do you mean by saying "everything"? just SQL Server?
- foepys 5y agoTechnically Windows licences, too, but maybe they migrated to Linux with their switch to .NET (Core).
- tester34 5y agoIndeed, afaik they have been migrating long time ago 2018: >This is the query pattern that caused StackOverflow.com to go offline yesterday: https://github.com/dotnet/efcore/issues/13524 https://github.com/dotnet/efcore/issues/13524 but on the other hand their tech stack site says: C# + ASP.NET MVC instead of ASP.NET Core, but I don't think it is proof of anything.
- foepys 5y agoThey are definitely using ASP.NET Core, most likely version 3.1 LTS. EF Core (like ASP.NET Core) ran on .NET Framework until version 2.1. Everything after that requires .NET (Core).
- sofixa 5y agoUpdated my comment for clarity - yes, SQL Server and Windows for their .NET app. Maybe they've moved to Linux if they have finished their migration to .NET Core, but even if they did, it's a fairly recent thing.
- tester34 5y ago> Maybe they've moved to Linux if they have finished their migration to .NET Core, As far as I know they have been using .NET Core (or just EF Core? would be weird to go EF Core + .NET Framework, I guess?) on prod in 2018: >This is the query pattern that caused StackOverflow.com to go offline yesterday: https://github.com/dotnet/efcore/issues/13524 https://github.com/dotnet/efcore/issues/13524 So maybe they used some things on Linux and some things on Windows - those that couldnt be ported to .NET Core back in the days
- fabian2k 5y agoThey're using .NET Core, and I think even .NET 5 in the meantime though I couldn't find a clear confirmation for that. But they're still on Windows, looking at Linux and containers for potentially in the future.
- pjmlp 5y agoLicense costs are peanuts in traditional enterprise bugdgets, when mapped across the overall costs of developer salaries, contracting, designer agencies, travel expenses,....
- sofixa 5y agoIs StackOverflow a traditional enterprise for you? I don't think they have huge travel expenses...
- manigandham 5y agoYes, it's a typical large software/SaaS company. It's not about the travel specifically, it's that servers and licenses are the cheapest cost of any company when compared to salaries, especially for engineering and sales.
- manigandham 5y agoLicense costs are usually per-core, not per-server. It's the same whether you have a single large server or multiple small ones.
- sofixa 5y agoIt used to be per-socket for Windows Server before 2016, and StackOverflow's infrastructure and architecture predate that.
- actually_a_dog 5y agoYou left off 10 servers: 2 Redis servers, 3 tag engine servers, 3 Elasticsearch servers, and 2 HAProxy servers. So, that's 23 servers in total, which is not a trivial amount, but also not a huge number, either.
- gregoriol 5y agoWhat is really interesting to me is that they just have a very small number of each kind. It's not like they have 50 redis servers, it's just 2. 2 looks more like a smaller project ar first, but it's great proof that a lot can be achieved by doing engineering.
- Jnr 5y agoThey are probably able to do it with little because they understand what they are doing. There are too many developers and teams that don't understand the underlying principles and limitations of the technology they use. In a good case those developers get schooled by experienced engineers, but frequently they end up in an important position in some big enterprise software company and makes life miserable for many people.
- actually_a_dog 5y agoI agree. This also ties back to the whole "a junior developer could clone Stack Overflow," or "I could do that in a weekend" mentality. Sure, maybe a junior dev can make a simple forum, or you could make a web app that duplicates the functionality of SO at low loads in a weekend. But, when you're serving an average of 500 requests per second, you need to know what you're doing. And, IMO, this "knowing what you're doing" is the difference between knowing how to engineer a system and how to write an application.