8 ms·
Stack Overflow Architecture Update - Now At 95 Million Page Views A Month
- carson 16y agoFor those who aren't reading it the ServerFault blog http://blog.serverfault.com/ http://blog.serverfault.com/ is a treasure trove of information. The work they are doing and blogging about on the systems side is something a lot of people take for granted.
- nopal 16y agoHow did the code have to change to read from/write to Redis?
- gecko 16y agoI doubt very much. They're basically using Redis as a much more powerful memcached. SQL Server still is the ultimate owner of all StackOverflow data, last time I talked to the team.
- nopal 16y agoI guess I just haven't seen memcached integration in .NET. All of the caching examples I've seen use the framework caching components. I was also wondering if they'd developed any generic custom code to fetch from Redis or fetch from SQL/insert into Redis, and how it fits into their application logic. (e.g. does it happen before they make a LINQ to SQL query, or does it intercept LINQ to SQL queries and return results from Redis).
- mythz 16y agoIf you're interested, here is a C# Redis Client: https://github.com/ServiceStack/ServiceStack.Redis https://github.com/ServiceStack/ServiceStack.Redis With downloads for windows: https://github.com/dmajkic/redis/downloads https://github.com/dmajkic/redis/downloads Here's an example of an OSS 1-page mini-StackOverflow, written only using Redis: http://www.servicestack.net/RedisStackOverflow/ http://www.servicestack.net/RedisStackOverflow/ And this page has caching web services examples (at the bottom), with source code of non-non-invasively dropping in a Redis cache provider using an IOC. http://www.servicestack.net/ServiceStack.Northwind/ http://www.servicestack.net/ServiceStack.Northwind/ If you want to learn more about Redis, here is an article on how to build an application using only POCO's and Redis: https://github.com/ServiceStack/ServiceStack.Redis/wiki/DesigningNoSqlDatabase https://github.com/ServiceStack/ServiceStack.Redis/wiki/Desi... With more info on the wiki: https://github.com/ServiceStack/ServiceStack.Redis/wiki/DesigningNoSqlDatabase https://github.com/ServiceStack/ServiceStack.Redis/wiki/Desi...
- nopal 16y agoGreat, thanks!!
- citricsquid 16y agoI use stackoverflow as the benchmark for success on my own* sites, we're still winning. We did 145m for February!
- spoiledtechie 16y agowhats your website?
- ramidarigaz 16y agoI believe criticsquid runs the Minecraft wiki...
- citricsquid 16y agoIt's not even related, I feel bad now because it's irrelevant to the post, it just happens that the first time Stackoverflow announced their traffic I mentioned ours and Joel (I think?) said something about it, so now I always use them as a benchmark. Anyway, minecraftforum.net and minecraftwiki.net, I don't own them any more (reason for the * -- curse.com acquired them). http://www.quantcast.com/minecraftwiki.net http://www.quantcast.com/minecraftwiki.net & http://www.quantcast.com/minecraftforum.net http://www.quantcast.com/minecraftforum.net combined 145m for feb
- deleted 16y ago[deleted]
- rabc 16y agoReally cool to see how they moved from Windows-only to other technologies like Redis. They dind't jump into the hype at first version, they started using other things just now when they really needed that.
- btipling 16y agoInteresting on the switch from the Windows/MS stack. Is there not a decent No SQL option for a windows stack?
- michaelbuckbee 16y agoI'm not sure what switch you are referring to, they've been using HAProxy and Lucene for quite some time. Also, what would a No SQL data store give them (for central data storage - not caching) that they aren't already handling with SQL? Keep in mind that they also have relatively easily partionable data (if necessary they can break off any StackExchange site and database to their own dedicated hardware).
- deleted 16y ago[deleted]
- mattbriggs 16y agoredis is nosql, and they are using it on linux
- Athtar 16y agoRaven DB (http://ravendb.net/ http://ravendb.net/) is a pretty good NoSQL option for the .NET/Windows platform.
- vyrotek 16y agoWow, I had no idea this project existed. Thanks for the link! I was looking for something like this a while ago for my startup but we ended up going with Azure and using their Table Storage.
- Jamiecon 16y agoAppFabric Server is closer to Memcached than Redis. However since their persistence layer is SQL Server, they could have used AppFabric in place of Redis. I'm guessing they didn't want to use a technology that is so recently out of beta perhaps?
- grandalf 16y agoIt's fascinating that a MS loyalist like Joel would end up using so much linux/oss software. I wonder if Joel regrets not going 100% open source. I guess the cost of Microsoft licensing for all that is still very cheap if viewed as the price of being featured in Bing searches.
- mymex1 16y agoThe site states that they are using a WISC stack via BizSpark, which gives companies free use of a TON of tools and software for something like 4 years or once they make over $1 million in revenue. Sure, you could also do this for free using open source tools, but I would GLADLY pay a couple grand in licensing fees if my company was making over a $million in revenue using the Microsoft stack.I think the fact that StackOverflow uses a WISC stack is a testament to its reliability and robustness. Hey, whatever gets the job done.
- ig1 16y agoI'd presume that they've broken the million dollar bizspark limit or they're doing something very wrong...
- spolsky 16y agoThis might possibly be the most ridiculous comment I've ever seen on the internet, let alone Hacker News. * I am not a Microsoft Loyalist * I don't make the technical decisions. Why would I? I'm the person who knows the least * It is not necessary to use Microsoft licensing to be featured in Bing searches... that is possibly the most preposterous thing I have ever heard in my life * Microsoft licensing is a rounding error, with the possible exception of SQL Server licenses * Your bizarre personification of Stack Overflow as "Joel" is charming and quaint and completely obnoxious to the 20-odd people at Stack Overflow that actually do the work instead of sitting around browsing hacker news like I do
- deleted 16y ago[deleted]
- 16y ago
- razvan346 16y agoT9space.com up to 42 Million pageviews a month: http://i.imgur.com/Vggvl.png http://i.imgur.com/Vggvl.png 10 App servers dynamically converting websites to mobile versions + 1 MySQL DB + Haproxy LB + 1 Lucene Search
- moe 16y agoHm. I love Stack Overflow but architecture only starts to become interesting at 4-5 times their traffic. 95M/mo translates to a mere 36/sec avg. A single web- and db-server will handle that without breaking a sweat, although you of course want some more machines for peaks, redundancy and comfort.
- citricsquid 16y ago36/sec but then they're doing 800 http requests per second, not sure what could cause such a big difference (lots of ajax stuff?) but I think 800/sec is an interesting thing to see them deal with, that's something in the region of 1bn a month, which fits your requirement for interesting-ness :p
- icey 16y agoPerhaps the 800 req/second number is a peak figure? 36 requests a second average isn't meaningful when your traffic is spiky.
- jonknee 16y agoProbably a combination of other page resources (images, JS, stylesheets, etc), bots and peak access times.
- moe 16y agowhich fits your requirement for interesting-ness Sorry, the threshold of interestingness for serving static assets is even higher. ;) A single nginx on a moderate host will barely warm up before ~10k reqs/sec. The network tends to be the bottleneck here. Anyways, ~800/s should be doable from a $10 VPS.
- bluesnowmonkey 16y ago> All pages accessed by (and subsequently served to) annonymous users are cached via Output Caching. I'm surprised they don't cache output on logged-in pages as well, using ESI or some kind of client-side replacement. There's not that much personalization going on. Most page content is the same between users.
- Jamiecon 16y agoI would imagine that they calculated it would be cheaper to scale up their application servers and backend caching than pay for the development resource to facilitate this change.
- keyle 16y agoI question the truth in that article and whether they really use Razor already. It's barely out, so is MVC3 and I haven't noticed any changes that would suggest that they would have converted it all from MVC2 to MVC3. It's a major task. They might have some Razor in there because it is backwards compatible but to have it all razor is a stretch.
- Jamiecon 16y agoWe're using ASP.NET 4 and MVC 3 in production. New features in both made it very worthwhile to invest the time in conversion. We are not using Razor yet, but it's feasible they are. Take a look at this: https://github.com/telerik/razor-converter https://github.com/telerik/razor-converter
- ralphc 16y agoI understand the tradeoffs between Windows and Linux and choosing one or the other for a particular task, buy why run Ubuntu Server on one machine and CentOS on others? Are the tools that Linux specific that it's worth keeping track of two versions, two package managers, etc?