Appearance
Recommended tech talk «Engineering Stack Overflow»
15.03.2023
Roberta Arcoverde (Director of Engineering at Stack Overflow), was invited to speak on Scott Hanselman‘s «The Hanselminutes Podcast» series. Roberta talks to Scott about architecture and philosophy at Stack Overflow
Performance Stack Exchange (Image: https://stackexchange.com/performance)
Architecture and philosophy
- It's a .Net based single multi-tenant monolithic application that powers 200 sites, pull across nine IIS web servers running on prem.
- The application single app pool on IIS is handling 6'000 requests per second, roughly 2 billion page views per month.
- The web servers run at 5 to 10% capacity. So in theory, the application could be running on a single web server.
- The application is designed for low allocations everywhere to avoid memory pressure.
- The code design is very much based on static service locators rather than object instances being injected into their dependencies.
- The SQL servers have 1.5 terabytes of RAM. So a third of the entire database can be very quickly access the in RAM.
- Caching the content was stopped four years ago because it didn't really make any measurable effects on the performance. The average time to render the page is around 20 milliseconds.
- The nine web servers are under an HAProxy front. Every time a new version is deployed they take a server out of rotation, updated them, put it back on rotation.
- Always start from asking the question, what problem are you trying to solve? A lot of new things like Kubernetes and the cloud, they are there to facilitate deploying new applications, but it was just not a problem that Stack Overflow had because they are not doing that all that often.
- First-line managers should be writing code on a daily basis. It helps to stay technical, to know how to better mentor engineers in the team. And it also helps to assess the impact of changes proposed by senior engineers, to ask the right questions and help to get to the best result.
Resources
- Engineering Stack Overflow with Roberta Arcoverde, The Hanselminutes Podcast