[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-_s0kkFj9QdNXQLKJlEV-ODLn2Xp6gATofI73Ux6QGF8":3,"sanity-MuO1cHXJdkMK9i3aVZv1qS98L1qWFULJLGR4SZJ6C54":387},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":362},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"f83eb5f0-1237-487f-84d8-f7abf2318c39","2026-06-25T07:40:00.000Z",{"_type":10,"current":11},"slug","code-isnt-causing-your-production-failures",null,"Code isn’t the only thing causing your production failures",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":58,"comments":339,"dateUrl":340,"excerpt":341,"image":342,"legacyBody":346,"product":12,"publishedAt":349,"slug":350,"sponsored":12,"tags":352,"title":361,"visible":339},"2023-05-25T09:39:09Z","wp-post-5229","dgl3SCUzppW3U2LvCoSN08","blogPost","2023-07-13T14:55:03Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":54,"name":55,"slug":56},"2023-05-23T16:27:18Z","wp-author-139","07ZbrKPSUrjrV4wQ6fampK","blogAuthor","2023-08-29T11:49:13Z",{"_type":53},"image","former","Nick Craver",{"current":57},"nickcraver",[59,82,97,109,121,133,145,157,169,181,193,205,217,229,241,253,265],{"_key":60,"_type":61,"children":62,"markDefs":77,"style":81},"3400beebe437","block",[63,68,73],{"_key":64,"_type":65,"marks":66,"text":67},"3400beebe4370","span",[],"To get an idea of what all of this stuff \"does,\" let me start off with an update on the average day at Stack Overflow. So you can compare to the ",{"_key":69,"_type":65,"marks":70,"text":72},"3400beebe4371",[71],"ae88fd8e1267","previous numbers from November 2013",{"_key":74,"_type":65,"marks":75,"text":76},"3400beebe4372",[],", here's a day of statistics from February 9th, 2016 with differences since November 12th, 2013:",[78],{"_key":71,"_type":79,"href":80,"reference":12},"link","https://nickcraver.com/blog/2013/11/22/what-it-takes-to-run-stack-overflow/%7D","normal",{"_key":83,"_type":61,"children":84,"level":94,"listItem":95,"markDefs":96,"style":81},"f73c96323895",[85,90],{"_key":86,"_type":65,"marks":87,"text":89},"f73c963238950",[88],"strong","209,420,973",{"_key":91,"_type":65,"marks":92,"text":93},"f73c963238951",[]," (+61,336,090) HTTP requests to our load balancer",1,"bullet",[],{"_key":98,"_type":61,"children":99,"level":94,"listItem":95,"markDefs":108,"style":81},"c5fb077ebe8b",[100,104],{"_key":101,"_type":65,"marks":102,"text":103},"c5fb077ebe8b0",[88],"66,294,789",{"_key":105,"_type":65,"marks":106,"text":107},"c5fb077ebe8b1",[]," (+30,199,477) of those were page loads",[],{"_key":110,"_type":61,"children":111,"level":94,"listItem":95,"markDefs":120,"style":81},"2d9ca860151c",[112,116],{"_key":113,"_type":65,"marks":114,"text":115},"2d9ca860151c0",[88],"1,240,266,346,053",{"_key":117,"_type":65,"marks":118,"text":119},"2d9ca860151c1",[]," (+406,273,363,426) bytes (1.24 TB) of HTTP traffic sent",[],{"_key":122,"_type":61,"children":123,"level":94,"listItem":95,"markDefs":132,"style":81},"a948ca16899b",[124,128],{"_key":125,"_type":65,"marks":126,"text":127},"a948ca16899b0",[88],"569,449,470,023",{"_key":129,"_type":65,"marks":130,"text":131},"a948ca16899b1",[]," (+282,874,825,991) bytes (569 GB) total received",[],{"_key":134,"_type":61,"children":135,"level":94,"listItem":95,"markDefs":144,"style":81},"1b883a4d208f",[136,140],{"_key":137,"_type":65,"marks":138,"text":139},"1b883a4d208f0",[88],"3,084,303,599,266",{"_key":141,"_type":65,"marks":142,"text":143},"1b883a4d208f1",[]," (+1,958,311,041,954) bytes (3.08 TB) total sent",[],{"_key":146,"_type":61,"children":147,"level":94,"listItem":95,"markDefs":156,"style":81},"483019173dca",[148,152],{"_key":149,"_type":65,"marks":150,"text":151},"483019173dca0",[88],"504,816,843",{"_key":153,"_type":65,"marks":154,"text":155},"483019173dca1",[]," (+170,244,740) SQL Queries (from HTTP requests alone)",[],{"_key":158,"_type":61,"children":159,"level":94,"listItem":95,"markDefs":168,"style":81},"642ad442bbe1",[160,164],{"_key":161,"_type":65,"marks":162,"text":163},"642ad442bbe10",[88],"5,831,683,114",{"_key":165,"_type":65,"marks":166,"text":167},"642ad442bbe11",[]," (+5,418,818,063) Redis hits",[],{"_key":170,"_type":61,"children":171,"level":94,"listItem":95,"markDefs":180,"style":81},"e6801c19c7ae",[172,176],{"_key":173,"_type":65,"marks":174,"text":175},"e6801c19c7ae0",[88],"17,158,874",{"_key":177,"_type":65,"marks":178,"text":179},"e6801c19c7ae1",[]," (not tracked in 2013) Elastic searches",[],{"_key":182,"_type":61,"children":183,"level":94,"listItem":95,"markDefs":192,"style":81},"ba3f2291d746",[184,188],{"_key":185,"_type":65,"marks":186,"text":187},"ba3f2291d7460",[88],"3,661,134",{"_key":189,"_type":65,"marks":190,"text":191},"ba3f2291d7461",[]," (+57,716) Tag Engine requests",[],{"_key":194,"_type":61,"children":195,"level":94,"listItem":95,"markDefs":204,"style":81},"ce481c7e9746",[196,200],{"_key":197,"_type":65,"marks":198,"text":199},"ce481c7e97460",[88],"607,073,066",{"_key":201,"_type":65,"marks":202,"text":203},"ce481c7e97461",[]," (+48,848,481) ms (168 hours) spent running SQL queries",[],{"_key":206,"_type":61,"children":207,"level":94,"listItem":95,"markDefs":216,"style":81},"c8a04196263b",[208,212],{"_key":209,"_type":65,"marks":210,"text":211},"c8a04196263b0",[88],"10,396,073",{"_key":213,"_type":65,"marks":214,"text":215},"c8a04196263b1",[]," (-88,950,843) ms (2.8 hours) spent on Redis hits",[],{"_key":218,"_type":61,"children":219,"level":94,"listItem":95,"markDefs":228,"style":81},"cfb2abf0fc5c",[220,224],{"_key":221,"_type":65,"marks":222,"text":223},"cfb2abf0fc5c0",[88],"147,018,571",{"_key":225,"_type":65,"marks":226,"text":227},"cfb2abf0fc5c1",[]," (+14,634,512) ms (40.8 hours) spent on Tag Engine requests",[],{"_key":230,"_type":61,"children":231,"level":94,"listItem":95,"markDefs":240,"style":81},"39c47fcb9e2d",[232,236],{"_key":233,"_type":65,"marks":234,"text":235},"39c47fcb9e2d0",[88],"1,609,944,301",{"_key":237,"_type":65,"marks":238,"text":239},"39c47fcb9e2d1",[]," (-1,118,232,744) ms (447 hours) spent processing in ASP.Net",[],{"_key":242,"_type":61,"children":243,"level":94,"listItem":95,"markDefs":252,"style":81},"5ebb5733673f",[244,248],{"_key":245,"_type":65,"marks":246,"text":247},"5ebb5733673f0",[88],"22.71",{"_key":249,"_type":65,"marks":250,"text":251},"5ebb5733673f1",[]," (-5.29) ms average (19.12 ms in ASP.Net) for 49,180,275 question page renders",[],{"_key":254,"_type":61,"children":255,"level":94,"listItem":95,"markDefs":264,"style":81},"a760a093f971",[256,260],{"_key":257,"_type":65,"marks":258,"text":259},"a760a093f9710",[88],"11.80",{"_key":261,"_type":65,"marks":262,"text":263},"a760a093f9711",[]," (-53.2) ms average (8.81 ms in ASP.Net) for 6,370,076 home page renders",[],{"_key":266,"_type":61,"children":267,"markDefs":326,"style":81},"7f799cba0cb9",[268,272,277,281,286,290,295,299,304,308,313,317,322],{"_key":269,"_type":65,"marks":270,"text":271},"7f799cba0cb90",[],"You may be wondering about the drastic ASP.Net reduction in processing time compared to 2013 (which was 757 hours) despite 61 million more requests a day. That's due to both ",{"_key":273,"_type":65,"marks":274,"text":276},"7f799cba0cb91",[275],"9a29f8a20d88","a hardware upgrade in early 2015",{"_key":278,"_type":65,"marks":279,"text":280},"7f799cba0cb92",[]," as well as a lot of performance tuning inside the applications themselves. Please don't forget: ",{"_key":282,"_type":65,"marks":283,"text":285},"7f799cba0cb93",[284],"31215ec491ea","performance is still a feature",{"_key":287,"_type":65,"marks":288,"text":289},"7f799cba0cb94",[],". If you're curious about more hardware specifics than I'm about to provide---fear not. The next post will be an appendix with detailed hardware specs for all of the servers that run the sites (I'll update this with a link when it's live). Read the rest of ",{"_key":291,"_type":65,"marks":292,"text":294},"7f799cba0cb95",[293],"3629ae895a76","Stack Overflow: The Architecture - 2016 Edition on Nick's blog here",{"_key":296,"_type":65,"marks":297,"text":298},"7f799cba0cb96",[],". It's the start of an ",{"_key":300,"_type":65,"marks":301,"text":303},"7f799cba0cb97",[302],"b3ef420cae42","extensive series",{"_key":305,"_type":65,"marks":306,"text":307},"7f799cba0cb98",[]," of blog posts on Stack Overflow’s technical architecture. Do you enjoy managing hardware? Then check out our ",{"_key":309,"_type":65,"marks":310,"text":312},"7f799cba0cb99",[311],"956388e7a0cb","network administrator",{"_key":314,"_type":65,"marks":315,"text":316},"7f799cba0cb910",[]," and ",{"_key":318,"_type":65,"marks":319,"text":321},"7f799cba0cb911",[320],"ac1d977b4485","database administrator",{"_key":323,"_type":65,"marks":324,"text":325},"7f799cba0cb912",[]," job listings.",[327,329,331,333,335,337],{"_key":275,"_type":79,"href":328,"reference":12},"http://blog.serverfault.com/2015/03/05/how-we-upgrade-a-live-data-center/",{"_key":284,"_type":79,"href":330,"reference":12},"http://www.codinghorror.com/blog/2011/06/performance-is-a-feature.html",{"_key":293,"_type":79,"href":332,"reference":12},"https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/",{"_key":302,"_type":79,"href":334,"reference":12},"https://nickcraver.com/blog/2016/02/03/stack-overflow-a-technical-deconstruction/",{"_key":311,"_type":79,"href":336,"reference":12},"https://stackoverflow.com/jobs/developer-jobs-using-networking?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link",{"_key":320,"_type":79,"href":338,"reference":12},"https://stackoverflow.com/jobs/database-administrator-jobs?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link",true,"2016/02/17","",{"_type":53,"asset":343},{"_ref":344,"_type":345},"image-c339c512898339537fd63c20a59d927ff4c64807-1920x1081-png","reference",{"code":347,"language":348},"To get an idea of what all of this stuff \"does,\" let me start off with an update on the average day at Stack Overflow. So you can compare to the \u003Ca href=\"https://nickcraver.com/blog/2013/11/22/what-it-takes-to-run-stack-overflow/%7D\">previous numbers from November 2013\u003C/a>, here's a day of statistics from February 9th, 2016 with differences since November 12th, 2013:\n\n\u003Cul>\n    \u003Cli>\u003Cstrong>209,420,973\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+61,336,090)\u003C/span> HTTP requests to our load balancer\u003C/li>\n    \u003Cli>\u003Cstrong>66,294,789\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+30,199,477)\u003C/span> of those were page loads\u003C/li>\n    \u003Cli>\u003Cstrong>1,240,266,346,053\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+406,273,363,426)\u003C/span> bytes (1.24 TB) of HTTP traffic sent\u003C/li>\n    \u003Cli>\u003Cstrong>569,449,470,023\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+282,874,825,991)\u003C/span> bytes (569 GB) total received\u003C/li>\n    \u003Cli>\u003Cstrong>3,084,303,599,266\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+1,958,311,041,954)\u003C/span> bytes (3.08 TB) total sent\u003C/li>\n    \u003Cli>\u003Cstrong>504,816,843\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+170,244,740)\u003C/span> SQL Queries (from HTTP requests alone)\u003C/li>\n    \u003Cli>\u003Cstrong>5,831,683,114\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+5,418,818,063)\u003C/span> Redis hits\u003C/li>\n    \u003Cli>\u003Cstrong>17,158,874\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(not tracked in 2013)\u003C/span> Elastic searches\u003C/li>\n    \u003Cli>\u003Cstrong>3,661,134\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+57,716)\u003C/span> Tag Engine requests\u003C/li>\n    \u003Cli>\u003Cstrong>607,073,066\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+48,848,481)\u003C/span> ms (168 hours) spent running SQL queries\u003C/li>\n    \u003Cli>\u003Cstrong>10,396,073\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(-88,950,843)\u003C/span> ms (2.8 hours) spent on Redis hits\u003C/li>\n    \u003Cli>\u003Cstrong>147,018,571\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(+14,634,512)\u003C/span> ms (40.8 hours) spent on Tag Engine requests\u003C/li>\n    \u003Cli>\u003Cstrong>1,609,944,301\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(-1,118,232,744)\u003C/span> ms (447 hours) spent processing in ASP.Net\u003C/li>\n    \u003Cli>\u003Cstrong>22.71\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(-5.29)\u003C/span> ms average (19.12 ms in ASP.Net) for 49,180,275 question page renders\u003C/li>\n    \u003Cli>\u003Cstrong>11.80\u003C/strong> \u003Cspan style=\"opacity: 0.8;\">(-53.2)\u003C/span> ms average (8.81 ms in ASP.Net) for 6,370,076 home page renders\u003C/li>\n\u003C/ul>\n\nYou may be wondering about the drastic ASP.Net reduction in processing time compared to 2013 (which was 757 hours) despite 61 million more requests a day. That's due to both \u003Ca href=\"http://blog.serverfault.com/2015/03/05/how-we-upgrade-a-live-data-center/\">a hardware upgrade in early 2015\u003C/a> as well as a lot of performance tuning inside the applications themselves. Please don't forget: \u003Ca href=\"http://www.codinghorror.com/blog/2011/06/performance-is-a-feature.html\">performance is still a feature\u003C/a>. If you're curious about more hardware specifics than I'm about to provide---fear not. The next post will be an appendix with detailed hardware specs for all of the servers that run the sites (I'll update this with a link when it's live).\n\nRead the rest of \u003Ca href=\"https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/\">Stack Overflow: The Architecture - 2016 Edition on Nick's blog here\u003C/a>. It's the start of an \u003Ca href=\"https://nickcraver.com/blog/2016/02/03/stack-overflow-a-technical-deconstruction/\">extensive series\u003C/a> of blog posts on Stack Overflow’s technical architecture.\n\nDo you enjoy managing hardware? Then check out our \u003Ca href=\"https://stackoverflow.com/jobs/developer-jobs-using-networking?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">network administrator\u003C/a> and \u003Ca href=\"https://stackoverflow.com/jobs/database-administrator-jobs?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">database administrator\u003C/a> job listings.","html","2016-02-17T12:00:00.000Z",{"current":351},"stack-overflow-the-architecture-2016-edition",[353],{"_createdAt":354,"_id":355,"_rev":356,"_type":357,"_updatedAt":354,"slug":358,"title":360},"2023-05-23T16:43:21Z","wp-tagcat-engineering","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":359},"engineering","Engineering","Stack Overflow: The Architecture - 2016 Edition",[363,369,375,381],{"_id":364,"publishedAt":365,"slug":366,"sponsored":12,"title":368},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":367},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":370,"publishedAt":371,"slug":372,"sponsored":12,"title":374},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":373},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":376,"publishedAt":377,"slug":378,"sponsored":12,"title":380},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":379},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":382,"publishedAt":383,"slug":384,"sponsored":12,"title":386},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":385},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":388,"sourceMap":-1},{"count":389,"lastTimestamp":390},2,"2024-02-08T17:56:57Z"]