[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-F97FHLlyBRZC43OcLzvObcAKS0zR1LTP9JJlBpw0pOc":3,"sanity-dK7cvF3i7SLazoTEA407syRYirQtDmjAEZE3KG7t9ms":366},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":341},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"50f4509c-4f55-4f11-8adc-5556e821ea77","2026-06-30T07:40:00.000Z",{"_type":10,"current":11},"slug","why-intent-prediction-needs-more-than-an-llm",null,"Why intent prediction needs more than an LLM",[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":59,"comments":318,"dateUrl":319,"excerpt":264,"legacyBody":320,"product":12,"publishedAt":323,"slug":324,"sponsored":12,"tags":326,"title":340,"visible":318},"2023-05-25T09:36:57Z","wp-post-3349","07ZbrKPSUrjrV4wQ6fI9rD","blogPost","2023-07-13T14:54:20Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":54,"name":55,"role":56,"slug":57},"2023-05-23T16:27:18Z","wp-author-114","07ZbrKPSUrjrV4wQ6fam8u","blogAuthor","2023-08-29T11:49:01Z",{"_type":53},"image","former","Jeff Atwood","Co-founder",{"current":58},"jeffatwood",[60,83,91,104,123,131,150,165,181,200,219,250,258,265,273,278,294,302],{"_key":61,"_type":62,"children":63,"markDefs":78,"style":82},"31224630e58a","block",[64,69,74],{"_key":65,"_type":66,"marks":67,"text":68},"31224630e58a0","span",[],"We now have ",{"_key":70,"_type":66,"marks":71,"text":73},"31224630e58a1",[72],"c3f3a1fa80de","the new servers",{"_key":75,"_type":66,"marks":76,"text":77},"31224630e58a2",[]," set up in the data center, and configured with copies of the Stack Overflow website and database. We excitedly ran a few quick speed comparisons with the live site and found.. the new site was two times slower than the old one.",[79],{"_key":72,"_type":80,"href":81,"reference":12},"link","http://blog.stackoverflow.com/2009/01/new-stack-overflow-servers-ready/","normal",{"_key":84,"_type":62,"children":85,"markDefs":90,"style":82},"6327456e9168",[86],{"_key":87,"_type":66,"marks":88,"text":89},"6327456e91680",[],"(insert sound of analog record needle being ripped off a record, here.)",[],{"_key":92,"_type":62,"children":93,"markDefs":103,"style":82},"9d081ee22e69",[94,98],{"_key":95,"_type":66,"marks":96,"text":97},"9d081ee22e690",[],"Er.. ",{"_key":99,"_type":66,"marks":100,"text":102},"9d081ee22e691",[101],"em","what?",[],{"_key":105,"_type":62,"children":106,"markDefs":120,"style":82},"c3b2e4f94b4b",[107,111,116],{"_key":108,"_type":66,"marks":109,"text":110},"c3b2e4f94b4b0",[],"That was our reaction too. These servers have ",{"_key":112,"_type":66,"marks":113,"text":115},"c3b2e4f94b4b1",[114],"14f856f860e7","2 - 4x the memory, 1.5x the processing power, and faster drive arrays",{"_key":117,"_type":66,"marks":118,"text":119},"c3b2e4f94b4b2",[],". How could they possibly be slower?",[121],{"_key":114,"_type":80,"href":122,"reference":12},"http://blog.stackoverflow.com/2009/01/new-stack-overflow-server-glamour-shots/",{"_key":124,"_type":62,"children":125,"markDefs":130,"style":82},"ae0d13492f63",[126],{"_key":127,"_type":66,"marks":128,"text":129},"ae0d13492f630",[],"Through a process of elimination, we deduced the following:",[],{"_key":132,"_type":62,"children":133,"level":147,"listItem":148,"markDefs":149,"style":82},"27e17daf571e",[134,138,143],{"_key":135,"_type":66,"marks":136,"text":137},"27e17daf571e0",[],"Lightweight pages on the new site indeed load faster. This means the ",{"_key":139,"_type":66,"marks":140,"text":142},"27e17daf571e1",[141],"strong","web tier",{"_key":144,"_type":66,"marks":145,"text":146},"27e17daf571e2",[]," is probably OK.",1,"number",[],{"_key":151,"_type":62,"children":152,"level":147,"listItem":148,"markDefs":164,"style":82},"0327e517b20c",[153,157,161],{"_key":154,"_type":66,"marks":155,"text":156},"0327e517b20c0",[],"A long-ish running SQL query extracted from the old database server, runs faster when executed manually against the new database server. This means the ",{"_key":158,"_type":66,"marks":159,"text":160},"0327e517b20c1",[141],"database tier",{"_key":162,"_type":66,"marks":163,"text":146},"0327e517b20c2",[],[],{"_key":166,"_type":62,"children":167,"level":147,"listItem":148,"markDefs":180,"style":82},"bde5d3905594",[168,172,176],{"_key":169,"_type":66,"marks":170,"text":171},"bde5d39055940",[],"The more heavyweight the page, the more pronounced the slowdown. This led us to believe ",{"_key":173,"_type":66,"marks":174,"text":175},"bde5d39055941",[141],"the network",{"_key":177,"_type":66,"marks":178,"text":179},"bde5d39055942",[]," was the culprit.",[],{"_key":182,"_type":62,"children":183,"markDefs":197,"style":82},"0330f1d0024a",[184,188,193],{"_key":185,"_type":66,"marks":186,"text":187},"0330f1d0024a0",[],"We double and triple checked all our network settings, and verified our little ",{"_key":189,"_type":66,"marks":190,"text":192},"0330f1d0024a1",[191],"9abfaa838cfb","NetGear GS108T managed switch",{"_key":194,"_type":66,"marks":195,"text":196},"0330f1d0024a2",[]," was configured properly and had the latest firmware. We couldn't find a single thing wrong or misconfigured. This was turning into a real mystery. We were pondering whether we'd have to eliminate the switch and try a direct crossover ethernet connection between the web tier and database tier.",[198],{"_key":191,"_type":80,"href":199,"reference":12},"http://www.newegg.com/Product/Product.aspx?Item=N82E16833122203",{"_key":201,"_type":62,"children":202,"markDefs":216,"style":82},"30fdfcc30342",[203,207,212],{"_key":204,"_type":66,"marks":205,"text":206},"30fdfcc303420",[],"While we were discussing it, I figured I'd update the network drivers from the default provided with Windows to the ",{"_key":208,"_type":66,"marks":209,"text":211},"30fdfcc303421",[210],"d12d3f84de3e","latest versions from Broadcom's website",{"_key":213,"_type":66,"marks":214,"text":215},"30fdfcc303422",[],". It's a little risky when done remotely, but it worked.",[217],{"_key":210,"_type":80,"href":218,"reference":12},"http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php",{"_key":220,"_type":62,"children":221,"markDefs":247,"style":82},"564232fc7afa",[222,226,230,234,238,243],{"_key":223,"_type":66,"marks":224,"text":225},"564232fc7afa0",[],"To my utter amazement, ",{"_key":227,"_type":66,"marks":228,"text":229},"564232fc7afa1",[141],"once the network drivers were updated on both tiers, our performance magically went from 2x slower to 2x ",{"_key":231,"_type":66,"marks":232,"text":233},"564232fc7afa2",[141,101],"faster!",{"_key":235,"_type":66,"marks":236,"text":237},"564232fc7afa3",[]," Here's a ",{"_key":239,"_type":66,"marks":240,"text":242},"564232fc7afa4",[241],"5d9845752532","firebug",{"_key":244,"_type":66,"marks":245,"text":246},"564232fc7afa5",[]," network trace of me retrieving my user page on both servers.",[248],{"_key":241,"_type":80,"href":249,"reference":12},"http://getfirebug.com/",{"_key":251,"_type":62,"children":252,"markDefs":257,"style":82},"63b16912ecb5",[253],{"_key":254,"_type":66,"marks":255,"text":256},"63b16912ecb50",[],"Existing site:",[],{"_key":259,"_type":53,"alt":260,"asset":261,"caption":264,"markDefs":12},"665b9f46da77","stackoverflow-firebug-old-server",{"_ref":262,"_type":263},"image-aade65ce5b124443fb81b25f41e74eb5e258d10b-614x105-png","reference","",{"_key":266,"_type":62,"children":267,"markDefs":272,"style":82},"4ce126206059",[268],{"_key":269,"_type":66,"marks":270,"text":271},"4ce1262060590",[],"New site:",[],{"_key":274,"_type":53,"alt":275,"asset":276,"caption":264,"markDefs":12},"e146142125a7","stackoverflow-firebug-new-server",{"_ref":277,"_type":263},"image-9f0d682e7939c348d65223d227c6f287e08d5bd0-593x105-png",{"_key":279,"_type":62,"children":280,"markDefs":293,"style":82},"b54efc60a146",[281,285,289],{"_key":282,"_type":66,"marks":283,"text":284},"b54efc60a1460",[],"For context, prior to the network driver update, this page was taking over ",{"_key":286,"_type":66,"marks":287,"text":288},"b54efc60a1461",[101],"900 milliseconds",{"_key":290,"_type":66,"marks":291,"text":292},"b54efc60a1462",[]," to load on the new servers. Just the page itself, mind you, everything else was on top of that. The overall time was around 1.35 seconds average. Ouch!",[],{"_key":295,"_type":62,"children":296,"markDefs":301,"style":82},"109d33a213d0",[297],{"_key":298,"_type":66,"marks":299,"text":300},"109d33a213d00",[],"Going from 715ms to 560ms user page load time is the kind of performance increase we expected from the new hardware. Note that I cherry-picked the best page load time from the old server here, versus an average page load time from the new server. In the typical case it'd be even faster. We expect a lot of the heavier pages on Stack Overflow will load anywhere from 50% to 100% faster. We're planning to switch over to the new servers on Sunday, if everything goes as planned.",[],{"_key":303,"_type":62,"children":304,"markDefs":317,"style":82},"84e05a3a6343",[305,309,313],{"_key":306,"_type":66,"marks":307,"text":308},"84e05a3a63430",[],"I guess the lesson here is the same one I learned last time: ",{"_key":310,"_type":66,"marks":311,"text":312},"84e05a3a63431",[141],"always update your drivers to the absolute latest versions, or you'll be sorry. Really sorry!",{"_key":314,"_type":66,"marks":315,"text":316},"84e05a3a63432",[]," I had no idea out-of-date network drivers could cause such catastrophically bad performance. I guess I do now.",[],true,"2009/02/06",{"code":321,"language":322},"\u003Cp>We now have \u003Ca href=\"http://blog.stackoverflow.com/2009/01/new-stack-overflow-servers-ready/\">the new servers\u003C/a> set up in the data center, and configured with copies of the Stack Overflow website and database. We excitedly ran a few quick speed comparisons with the live site and found.. the new site was two times slower than the old one.\u003C/p>\n\u003Cp>(insert sound of analog record needle being ripped off a record, here.)\u003C/p>\n\u003Cp>Er.. \u003Cem>what?\u003C/em>\u003C/p>\n\u003Cp>That was our reaction too. These servers have \u003Ca href=\"http://blog.stackoverflow.com/2009/01/new-stack-overflow-server-glamour-shots/\">2 - 4x the memory, 1.5x the processing power, and faster drive arrays\u003C/a>. How could they possibly be slower?\u003C/p>\n\u003Cp>Through a process of elimination, we deduced the following:\u003C/p>\n\u003Col>\u003Cli>\n\u003Cp>Lightweight pages on the new site indeed load faster. This means the \u003Cstrong>web tier\u003C/strong> is probably OK.\u003C/p>\n\u003C/li>\n\u003Cli>\n\u003Cp>A long-ish running SQL query extracted from the old database server, runs faster when executed manually against the new database server. This means the \u003Cstrong>database tier\u003C/strong> is probably OK.\u003C/p>\n\u003C/li>\n\u003Cli>The more heavyweight the page, the more pronounced the slowdown. This led us to believe \u003Cstrong>the network\u003C/strong> was the culprit.\u003C/li>\n\u003C/ol>\u003Cp>We double and triple checked all our network settings, and verified our little \u003Ca href=\"http://www.newegg.com/Product/Product.aspx?Item=N82E16833122203\">NetGear GS108T managed switch\u003C/a> was configured properly and had the latest firmware. We couldn't find a single thing wrong or misconfigured. This was turning into a real mystery. We were pondering whether we'd have to eliminate the switch and try a direct crossover ethernet connection between the web tier and database tier.\u003C/p>\n\u003Cp>While we were discussing it, I figured I'd update the network drivers from the default provided with Windows to the \u003Ca href=\"http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php\">latest versions from Broadcom's website\u003C/a>. It's a little risky when done remotely, but it worked. \u003C/p>\n\u003Cp>To my utter amazement, \u003Cstrong>once the network drivers were updated on both tiers, our performance magically went from 2x slower to 2x \u003Cem>faster!\u003C/em>\u003C/strong> Here's a \u003Ca href=\"http://getfirebug.com/\">firebug\u003C/a> network trace of me retrieving my user page on both servers.\u003C/p>\n\u003Cp>Existing site:\u003C/p>\n\u003Cp>\u003Cimg src=\"http://stackoverflow.blog/wp-content/uploads/2017/02/stackoverflow-firebug-old-server.png\" alt=\"stackoverflow-firebug-old-server\">\u003C/p>\n\u003Cp>New site:\u003C/p>\n\u003Cp>\u003Cimg src=\"http://stackoverflow.blog/wp-content/uploads/2017/02/stackoverflow-firebug-new-server.png\" alt=\"stackoverflow-firebug-new-server\">\u003C/p>\n\u003Cp>For context, prior to the network driver update, this page was taking over \u003Cem>900 milliseconds\u003C/em> to load on the new servers. Just the page itself, mind you, everything else was on top of that. The overall time was around 1.35 seconds average. Ouch!\u003C/p>\n\u003Cp>Going from 715ms to 560ms user page load time is the kind of performance increase we expected from the new hardware. Note that I cherry-picked the best page load time from the old server here, versus an average page load time from the new server. In the typical case it'd be even faster. We expect a lot of the heavier pages on Stack Overflow will load anywhere from 50% to 100% faster. We're planning to switch over to the new servers on Sunday, if everything goes as planned.\u003C/p>\n\u003Cp>I guess the lesson here is the same one I learned last time: \u003Cstrong>always update your drivers to the absolute latest versions, or you'll be sorry. Really sorry!\u003C/strong> I had no idea out-of-date network drivers could cause such catastrophically bad performance. I guess I do now.\u003C/p>","html","2009-02-06T12:00:00.000Z",{"current":325},"server-speed-tests",[327,335],{"_createdAt":328,"_id":329,"_rev":330,"_type":331,"_updatedAt":328,"slug":332,"title":334},"2023-05-23T16:43:21Z","wp-tagcat-company","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":333},"company","Company",{"_createdAt":328,"_id":336,"_rev":330,"_type":331,"_updatedAt":328,"slug":337,"title":339},"wp-tagcat-server",{"current":338},"server","Server","Server Speed Tests",[342,348,354,360],{"_id":343,"publishedAt":344,"slug":345,"sponsored":12,"title":347},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":346},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":349,"publishedAt":350,"slug":351,"sponsored":12,"title":353},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":352},"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":355,"publishedAt":356,"slug":357,"sponsored":12,"title":359},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":358},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":361,"publishedAt":362,"slug":363,"sponsored":12,"title":365},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":364},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":367,"sourceMap":-1},{"count":368,"lastTimestamp":12},0]