<p>(I'll begin by making it clear, I am not a .NET developer and am not tied to any other environment.)</p>

<p>Recently, I heard that the London Stock Exchange went down for an entire day. I've also heard that the software was written in .NET. Up to this point they would experience performance hits on busy days. People seem to be blaming .NET. </p>

<p>I don't want to debate the story, but it brought to mind the question of just how does .NET scale? How big is too big for .NET?</p>

[{'answer_id': 54869, 'author': 'Brian Warshaw', 'author_id': 1344, 'author_profile': 'https://Stackoverflow.com/users/1344', 'pm_score': 4, 'selected': False, 'text': "<p>Unfortunately, there are so many other issues that could cause a project to go down as it scales, that you have a lot to wade through before you can get down to a framework to blame. And unless you can see and thoroughly analyze the source code, it would be difficult to say what the root cause was. I'd be willing to bet it wasn't the framework.</p>\n\n<p>And no, I don't work with .NET on a daily basis.</p>\n"}, {'answer_id': 54872, 'author': 'GEOCHET', 'author_id': 5640, 'author_profile': 'https://Stackoverflow.com/users/5640', 'pm_score': 0, 'selected': False, 'text': "<p>Why would .NET have any limitations on size that other platforms wouldn't have?\nI cannot imagine any situation where you are going to get 'too big' for .NET.\nHowever, you should really specify whether you are talking about a .NET winforms application or ASP.NET as well as other relevant factors. This question is just too vague to ever answer in detail.</p>\n\n<p>The fact your name is 'Dr Unix' does imply some bias, btw.</p>\n"}, {'answer_id': 54878, 'author': 'Gulzar Nazim', 'author_id': 4337, 'author_profile': 'https://Stackoverflow.com/users/4337', 'pm_score': 3, 'selected': False, 'text': '<p>Many big sites like <a href="http://highscalability.com/myspace-architecture" rel="noreferrer">MySpace</a>, Dell.com runs on asp.net. Also, check out this <a href="http://msdn.microsoft.com/en-us/magazine/cc500561.aspx" rel="noreferrer">MSDN article</a> which gives a good perspective from experts.</p>\n'}, {'answer_id': 54879, 'author': 'Allain Lalonde', 'author_id': 2443, 'author_profile': 'https://Stackoverflow.com/users/2443', 'pm_score': 0, 'selected': False, 'text': "<p>Done right, the architecture offloads most transient state onto the client which makes clustering easier, which makes it surprisingly scalable. So it's an issue of the System as  a whole as opposed to ASP.NET directly at that point.</p>\n\n<p>My 2 cents.</p>\n"}, {'answer_id': 54885, 'author': 'osp70', 'author_id': 2357, 'author_profile': 'https://Stackoverflow.com/users/2357', 'pm_score': 0, 'selected': False, 'text': '<p>Well I think this site is on a .net framework.  As well the Microsoft site(s) are built on it.  So I think that if done properly then a .net site will scale.  Look at some of the comments Jeff has made about this site and the issues tend to come to coding error or architecture problems.</p>\n'}, {'answer_id': 54899, 'author': 'Jon Limjap', 'author_id': 372, 'author_profile': 'https://Stackoverflow.com/users/372', 'pm_score': 5, 'selected': False, 'text': '<p>Honestly, I think it boils down to code optimization, apart from just the infrastructure.</p>\n<p>In <a href="https://blog.stackoverflow.com/2008/08/podcast-19/">StackOverflow Podcast 19</a>, Jeff discussed about how they had to tweak SQL Server to handle the kinds of loads StackOverflow has; notice that it was not .NET that needed tweaking here.</p>\n<p>One also has to note that <a href="http://weblogs.asp.net/scottgu/archive/2006/03/25/Handling-1.5-Billion-Page-Views-Per-Day-Using-ASP.NET-2.0.aspx" rel="nofollow noreferrer">MySpace.com, one of the most massive social networks out there, runs on ASP.NET</a>.</p>\n<p>The MySpace use of ASP.NET alone is a testament to its scalability. It will boil down to how developers will write their applications in such a way that best leverages that capability.</p>\n'}, {'answer_id': 54960, 'author': 'Mark Witczak', 'author_id': 1536194, 'author_profile': 'https://Stackoverflow.com/users/1536194', 'pm_score': 1, 'selected': False, 'text': '<p>Perhaps it was the transaction volume that brought down the exchange. </p>\n\n<p>While many examples given thus far are good, they are just large websites. (You hate me for saying "just") They dole out pages and the occasional application (ie. scrabulous) to users. A stock exchange processes buys/sells and matches buyers/sellers. That would be a few orders of magnitude more work for app servers.</p>\n\n<p>I could see the database(s) falling down though.</p>\n'}, {'answer_id': 55094, 'author': 'Guy', 'author_id': 1463, 'author_profile': 'https://Stackoverflow.com/users/1463', 'pm_score': 2, 'selected': False, 'text': '<p>Dot Net scales well. We have clusters of servers running IIS server and asp.net web sites and applications and when our user load increases we can add servers (easily) to increase capacity. This happens during certain events and the .net architecture scalability has not let us down.</p>\n\n<p>I would hazard a guess (as the others have) that this was not a .net issue.</p>\n'}, {'answer_id': 55109, 'author': 'Sameer Alibhai', 'author_id': 2343, 'author_profile': 'https://Stackoverflow.com/users/2343', 'pm_score': 3, 'selected': False, 'text': '<p>Here\'s a big fat book for you to read on this topic:</p>\n\n<p><a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" rel="noreferrer">Improving .NET Application Performance and Scalability</a> (Microsoft Press)</p>\n'}, {'answer_id': 55187, 'author': 'Keith', 'author_id': 905, 'author_profile': 'https://Stackoverflow.com/users/905', 'pm_score': 3, 'selected': False, 'text': '<p>You can write bad code that fails to scale in any language.</p>\n\n<p>.Net is quite capable at scaling to any size of system but, like with any other tech stack, you have to build the system with scaling in mind.</p>\n\n<p>The LSE went down on the worst possible day, but whatever the reason I doubt it was the underlying stack that was the issue. I suspect this is a case of poor workmen blaming their tools.</p>\n'}, {'answer_id': 55248, 'author': 'matt b', 'author_id': 4249, 'author_profile': 'https://Stackoverflow.com/users/4249', 'pm_score': 3, 'selected': False, 'text': '<p>Actually the downtime at the LSE had absolutely nothing to do with it\'s .NET trading platform:</p>\n\n<blockquote>\n  <p>The LSE said the system had been hit by a "connectivity issue" and insisted that the problem did not lie with its flagship TradElect trading platform.</p>\n</blockquote>\n\n<p><a href="http://www.itworld.com/networking/54760/london-stock-exchange-trading-stops-network-fails" rel="nofollow noreferrer">http://www.itworld.com/networking/54760/london-stock-exchange-trading-stops-network-fails</a></p>\n'}, {'answer_id': 357699, 'author': 'joeysim', 'author_id': 30741, 'author_profile': 'https://Stackoverflow.com/users/30741', 'pm_score': 1, 'selected': False, 'text': "<p>It all boils down to 3 things:</p>\n\n<ul>\n<li>How well is the application planned</li>\n<li>What was the initial scale goal of the person who built it</li>\n<li>Ongoing work in the pits to improve and scale a solution.</li>\n</ul>\n\n<p>MySpace was mentioned before, it is a know fact they've rewritten their application a few times when they hit a new scaling step (# of users / pageviews / etc). If they've chosen to build the last version to begin with, it would have been too expensive to maintain and wasn't cost effective - scalability should be based on current position and the next scale goal.</p>\n\n<p>One last thing - although it's often considered evasive, solid stress testing can give you a good picture on how your application deals with load you're aiming at before your users experience it and disaster strikes.</p>\n"}, {'answer_id': 357719, 'author': 'LeJeune', 'author_id': 37955, 'author_profile': 'https://Stackoverflow.com/users/37955', 'pm_score': 1, 'selected': False, 'text': '<p>As other people said -- it is not a matter of platform.</p>\n\n<p>What matters is architecture of your application - load balancing, state management, partitioning etc... These are not platform specific. </p>\n'}, {'answer_id': 1436155, 'author': 'John W', 'author_id': 174668, 'author_profile': 'https://Stackoverflow.com/users/174668', 'pm_score': -1, 'selected': False, 'text': "<p>It really bothers me when people say .NET is a platform of choice because 'its scalable', its no more or less scalable than any other platform: PHP, ColdFusion, JSP or native compiled apps with C++/Delphi etc...  Scalability isn't a feature of the framework, it's a feature of the application design.</p>\n\n<p>MySpace is certainly no advocate for scalability, instead look at the technology behind Google search, or the SETI@home project.</p>\n\n<p>.NET is actually my least favorite platform to work with because its gone too far in trying to simplify software, so much so that there are things that I want to do that it can't, and so trying to overcome .NET limitations wastes time where it would have been easily and quickly achieved with C++ or PHP.  .NET is to software development what duplo bricks are to mechanical engineering - no self respecting mechanical engineer would want to be constrained to using only inch wide square blocks.</p>\n\n<p>If an application needs to be scalable you need to think about what data needs to be shared between servers, and what is the minimum data required for the application to run and serve its purpose. The need to scale an application can often be avoided by having super-efficient code in the first place (eg. not .NET or Java), but this generally requires a basic understanding of assembly at least and how your chosen language is translated to machine code.</p>\n"}, {'answer_id': 1436230, 'author': 'ChickenMilkBomb', 'author_id': 118065, 'author_profile': 'https://Stackoverflow.com/users/118065', 'pm_score': 0, 'selected': False, 'text': "<p>I run a relatively large asp.net website, and have found it to scale excellently.  Of course much of this I attribute to having some great tools to diagnose and fix bottlenecks in the code.  I'd venture to guess that coding issues cause 99.99% of issues that people have in <em>any</em> framework.</p>\n"}, {'answer_id': 3762846, 'author': 'SteJav', 'author_id': 211833, 'author_profile': 'https://Stackoverflow.com/users/211833', 'pm_score': 1, 'selected': False, 'text': '<p>Later news...</p>\n\n<p>"TradElect, the group’s trading platform technology that is set to be replaced later this year by software developed by MillenniumIT, the Sri Lankan technology vendor owned by the LSE." ...</p>\n\n<p><a href="http://www.efinancialnews.com/story/2010-09-13/ex-lse-tech-chief-joins-green-investment-company" rel="nofollow noreferrer">http://www.efinancialnews.com/story/2010-09-13/ex-lse-tech-chief-joins-green-investment-company</a></p>\n\n<p>“This transaction enables the Group to implement a new, more agile, innovative and efficient IT capability for our future business development, as well as running a new cash trading platform which will provide substantially lower latency, significantly higher capacity and improved scalability.” ...</p>\n\n<p><a href="http://www.computerworlduk.com/news/it-business/16590/london-stock-exchange-buys-millennium-it-trading-platform-supplier/" rel="nofollow noreferrer">http://www.computerworlduk.com/news/it-business/16590/london-stock-exchange-buys-millennium-it-trading-platform-supplier/</a></p>\n'}]
['https://Stackoverflow.com/questions/54864', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1536194/']