Slashdot Mirror


Debugging Microsoft.com

teslatug writes "Channel 9 has an interesting video interview with Chris St.Amand and Jeff Stucky who test and debug Microsoft.com. They reveal some of the big problems they used to face such as recycling processes every 5 minutes due to memory leaks and 32 bit limitations, and being unable to push more than 10 Mbits of data to their datacenters due to Windows' networking stack limitations."

42 of 511 comments (clear)

  1. What the... by BrainInAJar · · Score: 5, Funny

    WMV? You serious?

    How the hell am I supposed to watch that?

    1. Re:What the... by cortana · · Score: 5, Insightful

      Maybe he isn't using i386.

    2. Re:What the... by Tackhead · · Score: 4, Funny
      > WMV? You serious?
      > How the hell am I supposed to watch that?

      Well, if you're not running Windows, how the hell else are you supposed to get memory leaks? They don't just grow on B-Trees, y'know!

    3. Re:What the... by tomhudson · · Score: 4, Insightful

      What do yu mean, he delibertely handicapped himself. Like there's only "One True Format".

      Hey, its not like they can't make the stuff available in multiple formats. Oh, right, this is Microsoft. They really can't handle multiple formats. Look at Word.

    4. Re:What the... by cortana · · Score: 4, Insightful
      Erm, I am perfectly capable of watching the video; it plays just fine in Totem; but only because I have an i386 system. I was merely pointing out out one reason why "just use w32codecs" is not an acceptable solution for many users.

      But since you mention it... you compare a content provider's decision to use HTML (an open standard which anyone may implement, and which even degrades gracefully to text, and so is usable on platforms without a web browser) with a decision to use Windows Media Video (a proprietry video codec that is only available on a single platform). Then you say,
      "If you're unable to get what you want out of content, thats your fault, not the content producers fault."
      Content provider can just as easily make their content available in an open format, one which anyone can implement. Their content will then be viewable on any conceivable platform. So why are content providers so determined to turn away the fraction of their potential customers that don't run Windows?
    5. Re:What the... by xQx · · Score: 4, Funny

      Yeah, seriously... No, Just let me get this straight, because I'm slow...

      You are complaining that a Video about Microsoft.com, featuring Microsoft employees, created by Microsoft is released in Microsoft's favorite media format which plays natively in Microsoft Windows Media Player.

      Umm yeah, okay, it's really a secret ploy to give you linux nuts another reason to re-compile your kernel with evil capitalist codecs in it (or some other bullshit rant).

  2. Missing info... by DaHat · · Score: 5, Informative

    The summary is missing the fact that many of their problems went away after upgrading to an early 64 bit version of Vista with its improved networking stack.

    1. Re:Missing info... by TCM · · Score: 5, Insightful

      Again, what a nice way to push people to 64bit and make everything look outdated that's been in use so far, when all you'd need is a non-sucking OS.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    2. Re:Missing info... by Swamii · · Score: 4, Informative

      Let's not forget that this limitation is a limitation of TCP itself as implemented in the 30 year old spec. See this /. post for more info.

      --
      Tech, life, family, faith: Give me a visit
    3. Re:Missing info... by ipb · · Score: 4, Informative
      No more so than windows.

      All that chimney does is provide a standard way for windows to offload the tcp-stack to a seperate processor running on the NIC.

      From the white paper: "TCP Chimney offloads the TCP protocol stack to a Network Interface Card (NIC) "
      This has been available for high-end systems for a decade or more.

      A quick google search for "linux tcp/ip accelerated" will find numerous examples of Linux cards that offload the stack.
    4. Re:Missing info... by CaymanIslandCarpedie · · Score: 4, Funny

      Yeah, in those cases they've broken from the official spec...those embace and extend OSS bastards!!!!!! ;-)

      --
      "reality has a well-known liberal bias" - Steven Colbert
    5. Re:Missing info... by ergo98 · · Score: 4, Informative

      That I am streaming video from Microsoft.com, on a story that is front page on slashdot right now? That's a lot of bandwidth ;-)

      The /. effect is grossly exaggerated. I've been Slashdotted, and truth be told I got more hits from a joelonsoftware.com mention than I did from Slashdot. Slashdot has a lot of readers, but very few of them follow the links to TFA.

      Nonetheless, Microsoft does have extraordinary bandwidth. On the day that Visual Studio was released to the MSDN, amid great fanfar, I downloaded that night at 650KB/second (the cap on my cable modem) for the entirity of the download.

  3. Easy. by wilymage · · Score: 4, Informative

    1. mplayer

    2. xine

    Not that tough, really, now is it?

    --
    The secret to creativity is knowing how to hide your sources. -- Albert Einstein
    1. Re:Easy. by AstroDrabb · · Score: 5, Insightful

      You listed *players* not codecs. I will assume you meant one of the players you listed with the binary win32 codecs that usually get installed under /usr/lib/win32. They do work well and I use them. However, they are basically 32-bit x86 only, so if you are not running 32-bit x86, you are SOL. Maybe the GP is running PPC Linux or a 64-bit Linux? Or maybe the GP doesn't want to run binary only win32 dll files on his computer?

      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
  4. Hmm.... by lord_sarpedon · · Score: 5, Funny

    I suppose that, transitively, it is due to a limitation in an archaic version of the BSD stack.

    --
    "Strangers have the best candy" -Me
  5. Re:There is a alternative.... by medazinol · · Score: 5, Insightful

    Hey, Microsoft has to eat their own dogfood if they want to keep some modicum of credibility no matter how bad the food tastes...

  6. Ironic? by heistgonewrong · · Score: 5, Funny

    Is that not one of the most ironic things you've ever heard? The limitations of the operating system made by the same company holding back another division? Shock and awe.

    1. Re:Ironic? by djward · · Score: 5, Funny

      Is that not one of the most ironic things you've ever heard?

      No.

  7. Not just Windows stack limitations by ThinkFr33ly · · Score: 4, Informative

    The limitations discussed in the video of the Windows TCP stack are not limited to Windows. These are limitations imposed by a to-the-spec implementation of TCP. TCP is 30+ years old, and it wasn't designed for the kinds of networks it runs on today.

    The new TCP stack in Vista effectively implements TCP is such a way that it removes these limitations while preserving compatibility with old stack implementations.

    1. Re:Not just Windows stack limitations by DonGar · · Score: 4, Interesting

      The article you point to is really interesting, but it talks about offloading the TCP stack handling to the NIC, not about changes to the wire protocol.

      This is an interesting and powerful technology, however the general concept isn't new. More importantly it's not overcoming limitations in TCP, only limitations in the PC architecture and in OS implementations of TCP.

      MS may be proposing changes to TCP to boost performance, but they don't seem to be covered by the article you are linking. In addition, TCP/IP implementations based on the improvements in various RFC's is perfectly capable of multi-gigabit throughput. I seem to remember reading a slashdot article about Internet 2 researchers seeing sustained long distance transfer rates over FTP (which is usually TCP based) that approached 100 Gb/s.

      --
      plus-good, double-plus-good
  8. Video transcribed below: by iamwoodyjones · · Score: 5, Funny

    Interviewer: "Hey dude."

    Chris St.Amand "What up bro"

    Interviewer: "So like what happened when you worked on microsoft.com? Oh but first...Did you get all the chicks at the bars when you mentioned your job or what?"

    Chris St.Amand "Oh totally. I'd just say, 'what up babe. I work on the microsoft.com web portal' and she'd degfrag my harddrive all night."

    Interviewer: "Sweet. So what was your biggest hurrdle writing all that HTML? After all that's a complicated langaguage to master."

    Chris St.Amand "It'd definelty have to be that F'ing page not found shit. You don't know how many times I'd go to microsoft.com after doing a big update and it'd just say four-oh something and the page just wouldn't show up. You know we tried to put up a 420 page not found but got in trouble with our boss."

    Interviewer: "Yea totally! That would have been cool. Oh ummm let's see here. So what other problems did you have?"

    Chris St.Amand: "Not being able to use FreeBSD to serve that shit. When I first heard I actually had to use Microsoft I was completely like, 'Not cool Bill. Not F'ing cool, Bill.'

    Interviewer: "Any thing else? Like was it hard to get up every day in the morning knowing that your existence was updating microsoft.com HTML?"

    Chris St.Amand: "Yea I tried sucicide a number of times. But then I discovered that I could just completely make up new HTML tags and that was a lot of fun."

    Interviewer: "Make up HTML?"

    Chris St.Amand: "Oh yea, we're microsoft. When I first started they told me that no other browsers exist other then that big blue F'ing E and that no other operating systems exist. And that I could do whatever I wanted to do. So I just started making up *ALL KINDS* of crazy ass HTML.

    Interviewer: "Cool dude. You rock. Anything else you want to mention?"

    Chris St.Amand: "Yea you know all that crazy F'ed up HTML that all of our products output? You know without indention and messed up question marks everywhere? That was me. I was all hung over the day I added that. And that's about it."

    Interviewer: Thanks Chris, I'm sure you'll go down in infamancy for such a piece of F'ing shit web page and end up in some lame ass 'Don't write web pages like this' hall of fame.

    Chris St.Amand: "Peace out and remeber to eat your greens not smoke 'em!"

  9. Design flows shoudln't get patched ... by GNUALMAFUERTE · · Score: 5, Interesting

    They should be redesigned.

    That's a big problem of software made by companys:

    1 - The company's cashflow is based arround selling new versions of the software
    2 - They can't sell to it's customers improvements that they customers can't see
    3 - There is a fixed time that can go by beetween one release and the next one
    4 - Resources are limited

    Because of this, a major redesign is something that won't be profitable, because only the advanced users will note the changes, but 99% of their customers won't, so the software won't sell well. Bug fixes also won't sell, because they are also unvisible to the naked eye of the majority of the userbase, and also customers expect those changes to be free.
    So, some companys only can expect revenue from a given software once a year, and they have to invest into that software, a given set of limited resources over, say, 6 months, when they have to freeze the featureset so they can start debugging. Seeing which things sell, they will obviously focus their atention on: New Features, and a nicer GUI.
    OTH, a project that doesn't have a company running it, can just get out lots of upgrades, when needed, and focus their time on making the software better, even if some of the changes made to the software won't be seen by most of it's users.

    With software prices dropping, and Free Software proving to be a better option, the budget of software companys will be even more limited, and we won't see this situation changing anytime soon.

    --
    WTF am I doing replying to an AC at 5 A.M on a Friday night?
  10. Err ... by ggvaidya · · Score: 5, Funny

    Am I the only one who looked at the title and thought: "debug microsoft.com? Who still uses .com files any more?"

    Yup, thought so. I suck.

  11. Re:Recycling processes is normal for windows by GNUALMAFUERTE · · Score: 4, Interesting

    Absolutely true. I used to work for a hosting company, we had GNU/Linux and Windows servers.
    The GNU/Linux servers were the ones with more hits, and the ones that required less atention. The windows servers were a pandora box of problems. IIS just can't hold up by itself, if you just serve static pages you are ok, but when people starts using that asp + odbc shit, you have to restart IIS every 5 fucking minutes. We used to receive a stupid "too many conections" from ODBC in our log, and restarting the stupid services woudln't do a damn thing, all you could do was restart the machine, Yes, restart a SERVER. That's about the worse thing a sysadmin can go through, the panic of not knowing if that crappy windows was going to come back up or not. OTH, our GNU/Linux machines with sites running a variety of CGI apps (PHP, Perl, etc), all using MySQL, supported 5 times the load on the windows machines without complaining, and i'm talking about 300 sites on simple x86 hardware, less powerfull than the one on the windows machines, that died with less than 100 sites ...

    --
    WTF am I doing replying to an AC at 5 A.M on a Friday night?
  12. Re:Vista? by SonicBurst · · Score: 4, Insightful

    Microsoft does this all the time. They call it eating their own dogfood. In a way, it's quite smart actually. One, it shows customers that they aren't afraid to run their own product. Two, it helps them learn how to use and support their products in a large network. And three, it helps them find defects in the software.

    --

    Geek used to be a four letter word. Now it's a six-figure one.
  13. An example of the advantages of the new windows... by rbarreira · · Score: 5, Interesting

    According to microsoft, the MSN messenger service (which serves to around 70 million people) used to run on 250 32-bit servers, and now it runs on just 25 or something like that... (apparently one of the big reasons was the limit on the number of tcp connections).

    It's quite amazing to think that a service as huge as messenger can run on just 25 servers!

    --

    The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  14. Remember Hotmail? by Anti-Trend · · Score: 4, Interesting
    That wasn't the only time that MS has had to eat humble pie about their server capabilities. Remember the whole Hotmail fiasco in late '97 when Microsoft acquired it? The whole thing was running on UNIX and ran just fine. They tried to replace it with NT servers, and it just couldn't stand up under the weight no matter how much hardware they threw at it. As a result, they had to stick with UNIX for quite a while until they could get Windows to the point where they could even pretend to make any real use of it.

    The following is just hearsay, as I've never actually worked for MS. But a couple of engineer buddies I used to work with did some subcontracting for MS, and they said they deployed a whole lot of internal-facing *nix servers during that period. I tend to believe it, because the MS security guys who taught some seminars I attended wouldn't confirm or deny that they used any Linux internally. If they could have denied it in clean conscience, wouldn't they have done so emphatically?

    --
    Working in a DevOps shop is like playing in a band made up entirely of keytarists.
  15. Re:Recycling processes is normal for windows by ThinkFr33ly · · Score: 5, Interesting

    IIS just can't hold up by itself, if you just serve static pages you are ok, but when people starts using that asp + odbc shit, you have to restart IIS every 5 fucking minutes.

    That's not because of IIS; it's because of the people writing the ASP apps and stupid admins not configuring IIS correctly. If you have stupid people writing applications, those applications have a tendency of doing stupid things. Combine that with admins who don't properly isolate that applications running on IIS and you've got a recipe for requiring an IIS restart "every 5 fucking minutes".

    Give me 5 minutes and I can write a nice app that takes down Apache no problem. A few infinite loops, perhaps each creating a dozen new database connections and allocating a massive string buffer in memory.

    IIS 6.0 has a lot of features built into it that allow for admins to configure application pools to more effectively isolate applications. You can configure those application pools to recycle automatically given certain criteria (like memory usage, CPU usage, # req/sec, @ req/total, etc.), and the pools are isolated from each other so that if one dies due to a misbehaving application, the other applications on the system are not affected.

    We used to receive a stupid "too many conections" from ODBC in our log, and restarting the stupid services woudln't do a damn thing, all you could do was restart the machine, Yes, restart a SERVER.

    Perhaps that's all you could do, but somebody who spent more than 10 minutes reading about administering IIS would know to recycle the ODBC COM+ application to clear out the connection pool. Then they would find the stupid people writing that crappy applications and fire them, or at least isolate their applications in a separate app pool or worker process. (Dllhost.exe.)

    Spare me the anecdotal stories of your LAMP solutions doing so much better than your Windows solutions. You have absolutely no credibility given your complete ignorance.

  16. Oh, now I get it! by Jonboy+X · · Score: 4, Funny

    Hmm, nearly-direct link to a 145-megabyte video file on the /. front page, posted right as the geeks of the world are getting home from work. What are you, crazy? Are you trying to Slashdot Microsoft?

    Don't answer that.

    --

    "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
  17. Re:Struggling beyond 10Mbit/s? by ThinkFr33ly · · Score: 4, Interesting

    Watch the video. That wasn't the problem.

    The problem was connecting two datacenters that were physically seperated by a long distance but connected with a high bandwidth pipe... the TCP protocol has problems with this because of latency issues.

    Read this to see how they solved it.

  18. Think you misread by everphilski · · Score: 4, Informative

    No, no, no... they can saturate a 10MB/s connection easily. What they had problems with was database connections over a long distance (a problem with TCP, not windows)... which they rectified (using a concept called CTCP), check this paper out: http://research.microsoft.com/research/pubs/view.a spx?type=Technical%20Report&id=940

    -everphilski-

  19. Reminds me of the old days by erroneus · · Score: 4, Interesting

    You could scan through all of my old posts for background if you like, but back when NT 4.0 was brand new, I helped to save a failing ISP (for at least the next 6 months or so) by setting up a new mail server to replace the one that was failing ever 2 to 10 minutes. I used a machine with less than half the power and resources of the machine already running... and loaded slackware. I think the kernel was jsut over 1.00 at the time.

    Yeah, "old technology" couldn't do anything better than new stuff like NT right? Come to think of it, there's not a LOT of difference between XP's kernel and NT's from what I understand... a few bug fixes here and there... but basically, it uses the same vulnerable messaging scheme and drivers running at ring-0 and all that. ...I guess I've repeated enough digs on microsoft for one posting...

  20. Obligatory security comment... by Kermit870 · · Score: 4, Funny

    After having this video playing in the background for awhile, one interview question caught my ear:
    "So is your security getting better?..."

    Aside, its funny to hear them concede that they're actually having to adjust for other browsers visiting their home page.
    "Use standard-compliant code? Heresy!..."

  21. Re:The Desk by Procyon101 · · Score: 4, Informative

    The one on the left is Coke, the other 3 are Red Talking Rain. Personally, I'm a Green Talking Rain programmer, but I can respect teh other side :) Talking rain (particularly green) is the nectar of the programmers here in Seattle.

    You see, Microsoft started the great thing a few years back where every floor was stocked with 2 giant refrigerators of free soda. The rest of the local software companies quickly moved to copy this ingenious move, so you can't program and not be in contact will all the free soda you can drink. This sounds pretty cool until you've done it for about 2 years. At that time, assuming you are not a natural soda addict, the last thing on earth you want to drink is any kind of beverage with sugar in it, because you are so unbelievably sugared out. In come Talking Rain. Talking Rain is a simple carbonated spring water, with just a hint of fruit oil added, and no sugar. Green Talking Rain adds lime oil, and Red Talking Rain adds Rasberry, I think, although being a Greener myself, I never really paid attention. The fact that only senior programmers have completed this Talking Rain pupation, allows you to easily glance at someone's trash can in their office and peg them for a Senior or Junior level developer. You will almost never see a Junior level developer drinking Talking Rain, and almost never see a Senior level NOT drink it. Kind of a free soda pecking order.

    Of course I may be reading to much into this, but my Greener roots run deep :)

  22. Re:10Mbits/s? really? by Jeff- · · Score: 5, Informative

    Latency and bandwidth are not orthogonal when you have flow control. Try looking up 'bandwidth delay product' and tcp windowing. To achieve 1gbp/s to mars you need to buffer all that data in case of packet loss. Available memory will throttle your throughput.

    A quick web search says round trip times to mars are between 10-50 minutes. Say 60 minutes * 60 seconds = 360 gigabits of window space to achieve full line rate. Now consider some minor packet loss and even with SACK you're buffering an unreasonable amount of data.

    Annoying that the parent got modded up with bad information and this post will likely be passed over.

  23. It's fascinating... by sheldon · · Score: 4, Funny

    Slashdot has turned from "Microsoft sucks" to waxing poetically about how Microsoft used to suck.

    How times change...

  24. I worked for an ISP that was hosting a M$ site ... by adventuregeek · · Score: 5, Informative

    It was one of there secondary sites, something like blah.microsoft.com. The ISP was supposed to be hosting it on a colo NT box as part of an outsourced hosting contract. Well the site crashed constantly and the support team got sick of the late night pager calls and moved it over to a BSDI box with Apache and spoofed the server headers to read IIS, never told the M$ guys.

  25. Re:An example of the advantages of the new windows by PitaBred · · Score: 4, Insightful

    And they still manage to have a service outage for at least a few minutes to a few hours a month. AIM and Yahoo! don't seem to do that to me.
    Administration, software issues, whatever. MSN isn't that amazing, especially compared to the other services.

  26. Re:An example of the advantages of the new windows by carguy84 · · Score: 5, Funny

    Heh, if you had to pay those MSFT licensing fees, I'm sure you'd find a way to reduce the number of Windows Servers you used too. ;)

  27. Kudos to microsoft by urlgrey · · Score: 4, Insightful

    Microsoft--and the two staffers shown in this video--deserve strong praise for the *unedited* candor, the self-depricating humor, and the absense of spin on this video.

    Maybe I've missed the comments, but what no one seems to mention here is that these guys--clearly both geeks at heart (in a good way)--really are peeling back a lot of the layers of MS's site. The candor about their security problems, the 2gb memory issues, and a variety of other things was refreshing.

    Heck, they even mention firefox. :-)

    Good work all. Good work.

    --
    Running 'Nix is like owning a Lightsaber. It's "a more elegant weapon for a more civilized time."
  28. Microsoft S-s-s-security by karups2 · · Score: 5, Funny

    At around 10:25 in the video Chris St. Amand, who runs Microsoft's website and data center, types in his password, which the camera recorded. And the video is hosted off of Microsoft's website...although I don't know how long that'll still be operational.

  29. Re:Recycling processes is normal for windows by ThinkFr33ly · · Score: 4, Insightful

    But Apache never crashed (and this was on a comparatively memory-poor box by today's standards - 256 meg), just took a second or two ... and nobody else connected to the box complained.

    Apache, like IIS, has a finite number of threads it uses to handle incoming requests. If you use up all those threads, Apache, and IIS, can't respond. You either must increase the number of threads or users will be denied access to the site. Eventually, you run out of system resources. In either case, you've prevent one (or likely a lot more) request from being fulfilled by the web server. End of story.

    Your example is a foolish one. You never caused Apache to run out of resources. If you had, it would have "crashed" as the originally posted meant it... it couldn't handle further requests. That wasn't because Apache is superior in some way to IIS, it's because your clicking didn't use up all the threads. Simple as that. That's what I was explaining... the same thing can happen to Apache as can happen to IIS. Just because Apache is open source doesn't make it invulnerable to resource exhaustion due to inept programmers.

    No, its Windows that pretty much has no credibility. The one thing it DOES have that nobody else has is the widest selection of trojans, viruses, worms, and idiot users.

    That and the majority of the fortune 500 companies running on it. Windows is a fully capable server platform, and there are countless examples to back that up... just as there are countless examples that show that Linux can be a capable server platform. My point was that IIS is not inherently flawed as the original poster suggested. In fact, IIS 6.0 is in my opinion the best web application server on the market if cost is not an issue. (Windows licenses can be too expensive for a small company.) It's had extremely few security holes (FAR fewer than Apache has in the same timeframe), it's very fast (thanks to advanced features like kernel mode listeners), it's extremely reliable thanks to application isolation, process recycling, and great management and monitoring tools, and it's host to many excellent development platforms from PHP to ASP.NET.

    IIS 7.0 is shaping up to be even better with some great ways to customize the web server to make it as bare metal as possible if that's what you want.... taking a hint from Apache in this case.

    But for you to sit there and question the intelligence of somebody who uses Windows as a server platform shows your ignorance. It shows you don't bother to really examine alternatives to what you're comfortable with. When choosing a platform for a project I make sure to consider as many things as possible... from portability requirements, to intellectual property issues, to performance, to cost, to ease of development. That's my job as a software architect. Sometimes I choose LAMP for its very low initial cost. (Basically free.) Sometimes I pick ASP.NET because of how robust the .NET framework is and how much bang for my buck I can get out of ASP.NET on IIS. Sometimes I pick Java for those rare cases one needs a server application to be portable.

    Regardless, there are lots of options out there and until you're able to pick the best one for the job at hand you're just going to be limiting yourself for no good reason. Both career wise and intellectually.