Slashdot Mirror


Scaling Server Performance

An anonymous reader writes "When Ace's Hardware's article Hitchhiker's Guide to the Mainframe was posted on Slashdot, they got 590,000 hits and over 250,000 page requests during one day. This kind of traffic caused only a 21% average CPU load to their Java-based web server, which is powered by a single 550MHz UltraSparc-II CPU. In their newest article, Scaling Server Performance, Ace's Hardware explains how this was possible."

341 comments

  1. Guess... by DerOle · · Score: 1

    ...how many hits they will get this time ?

    1. Re:Guess... by jacquesm · · Score: 2, Interesting
      I don't get why this is such a big deal, really.


      If you limit yourself to static stuff then you can cram any amount of traffic out of very limited boxes.


      Even google does everything they can to cache stuff and turn dynamic requests into static ones, and they actually have a reason (lotsa traffic, complicated requests).


      The fact that you can use java to write speedy code doesn't prove a thing either, it only says that it is now no longer a bottleneck.


      You can probably saturate a decent sized pipe using -- aaarghh -- VB or something asinine like that as long as you do 'pictures and pages'.

    2. Re:Guess... by SpaceLifeForm · · Score: 1
      Apparently too many. Now over 40 minutes after your post, and 5 minutes after I clicked on the link, I'm still waiting. Previewing now, still waiting. Another minute, it finished. At least it didn't drop any packets.

      The stats from the article indicate not overloaded. Therefore, they must have slow bandwidth.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Guess... by ttfkam · · Score: 1

      The big deal is that there are still dozens of sites a year that haven't yet learned this lesson and are trounced by a Slashdotting.

      The language means nothing. They are talking about software architecture issues.

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
  2. 6 per second. by blair1q · · Score: 3, Insightful

    Are we supposed to be impressed with a computer that can serve 8 hits and 4 pages per second?

    1. Re:6 per second. by Anonymous Coward · · Score: 0

      If it's an UltraSparc 550mHz, then yes.

    2. Re:6 per second. by fussman · · Score: 0

      Are we supposed to be impressed with an average post that commonly downplays whatever article is being discussed?

      --
      Support Israeli punk bands. Man Alive.
    3. Re:6 per second. by insanecarbonbasedlif · · Score: 1

      Our traffic for the day totaled over 590,000 requests (hits), with over 250,000 of those being requests for pages. Requests peaked at 677 per minute, which of course includes everything (images, pages, files, etc.). The peak number strictly for article pages was 235 per minute.

      Technically, 11.28 per second. Post you site, let's see if it can handle the Slasher...

      --
      Just because I doubt myself does not mean I find your position compelling.
    4. Re:6 per second. by jj_johny · · Score: 1

      Or maybe you should look at it as they used an average of 21% of 550,000,000 cycles per second to serve 4 pages. = 115,500,000 cycles for 4 pages or 28,000,000 cycles per page. WOW! With performance like that I am worried.

    5. Re:6 per second. by BlueRibbon · · Score: 1

      It isn't just 8 hits per second, but about 12 at peak times.
      The impressive part of the article is the low CPU usage, but we all know that Java is big when it comes about scalability.
      I'm no expert, but 11 hits/s on a single UltraSparc-II@550 it's not a miracle, but it's quite good! It's useful to learn something from this when you're in need to manage resources, everyday.

      --
      KISS - Keep It Simple, Stupid!
    6. Re:6 per second. by tevman · · Score: 1

      Are we supposed to be impressed with a computer that can serve 8 hits and 4 pages per second?
      no, i wouldnt be impressed with that.

      however, i doubt that all the hits were spread out like that.

      More likely most of the hits came at once, and the rest was low use time.

      --
      sig is broken try again tomorrow
    7. Re:6 per second. by targo · · Score: 1

      Are we supposed to be impressed with a computer that can serve 8 hits and 4 pages per second?

      Sounds kinda weak to me too. I am currently working on a web server application that's supposed to serve highly dynamic, personalized pages (perhaps comparable to slashdot). Our perf goal is 200 pages/sec. Of course, it would be on bigger hardware but I think we could easily beat the number mentioned in the article on a 500Mhz PC.

    8. Re:6 per second. by mrtroy · · Score: 3, Interesting

      perhaps. perhaps id be impressed if their cpu could keep up with the hits IF THEIR BANDWIDTH COULD KEEP UP
      *REQUEST TIMED OUT*
      My 1ghz server with 3 terrabytes of ram can handle any traffic you can throw at it!!! Now to upgrade that 56k....

      Burning karma :(

      --
      [I can picture a world without war, without hate. I can picture us attacking that world, because they'd never expect it]
    9. Re:6 per second. by ParamonKreel · · Score: 1

      Take your average page size, about 14KB, that's 14,000 Bytes... take 28,000,000 / 14,000 bytes, that's about 2000 ops a byte if you just consider pushing the file from the disk out of the network pipe. Not put in context switchign overhead, network overhead, os overhead, that's not too bad at all. I mean it's not like there's a direct 1 instruction call to move 1 byte from my disk/database to your network card.

    10. Re:6 per second. by Bert64 · · Score: 1

      No, that graph looks pretty indicative of a slashdotting... an initial burst when the story is first posted, and then a steady stream of hits while the story is still on the front page.. which dies down once it`s been relegated to "yesterday`s news"

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    11. Re:6 per second. by Anonymous Coward · · Score: 0

      In the drawer behind me, I have a compaq contura notebook running Grey Cat Linux 3.0, and the thttpd server. The compaq has 8 mb ram, 33 mhz bus on a 486 processor. I use it for testing purposes, and run only dialup connection to the internet, with whatever IP address I get at the time. I run Netscape 3.04, xedit and thttpd all at once, so I can change the served page and view the results. Also, I run "top". The compaq was purchased for $20.00, but has no screen, so I use a monitor. Do have a couple of hard drives for it, however. To start the server, I cd to /home/user (that's all you get in GCL 3.0) Then, #thttpd -R -u user
      #ifconfig gets the IP address, to go to it in Netscape, or Links, to see the index.html in /home/user. Then I get in the car, go the the library, where the Gates Foundation has put in broadband, and I view my server's page. That's it.

    12. Re:6 per second. by Anonymous Coward · · Score: 0

      You think right.

      I work with web servers that can take a consistent 70 hits per second throughout the day (actually more but that's the current load)
      They are rather plain single pIII-500 running php on apache on freeBSD. And yes, they do backend calls to various databases.
      On the other side, the CPU doesn't get a whole lot of time to idle around.

      That said, I'm not familiar with Sparc stuff. Maybe an UltraSparc-II cpu is an horribly old thing, which puts their site in the same arena as the c64 web server, and makes their 11 hit/s peak number looks really impressive?

  3. Time to break the record? by FelixCat · · Score: 1, Funny

    Now if they could use the same technology to create a web surfing client which generates that many hits with the same CPU load. Then you could put them together on the same network, and ....

  4. More. by Anonymous Coward · · Score: 0

    More I'm sure. Just because people want to make them eat their words. I can see the script k1dd13z getting out their nuke programs now...

    1. Re:More. by Anonymous Coward · · Score: 1, Funny

      I'm on it

    2. Re:More. by John+Harrison · · Score: 1

      You seem to have accomplished your mission.

    3. Re:More. by Anonymous Coward · · Score: 0

      What is this, an open challenge to crash their server, or what?

      They should have posted this article at 10 PM on a Sunday.

  5. How they did it... by darkov · · Score: 4, Funny

    they got 590,000 hits and over 250,000 page requests during one day. This kind of traffic caused only a 21% average CPU load ... they didn't respond to any of them.

    1. Re:How they did it... by swordboy · · Score: 0

      No shit...

      They rec'd 590,000 hits, but only served 250,000 of them... I'm not sure why we should read their article on scaling.

      --

      Life is the leading cause of death in America.
    2. Re:How they did it... by Anonymous Coward · · Score: 2, Informative

      page request != hit

  6. oh, the possibilities by pummer · · Score: 1

    if they used this thing to host a pr0n server, it couldn't get farked! Oh, how this would help in the quest of kitten-killing.

  7. So the article on preventing the /. effect ... by burgburgburg · · Score: 5, Funny
    will be tested to see if it's meaningful. I like that. That is definitely putting your money where your mouth is.

    Of course, it is incumbent upon all of us to rush out and try to the link to the article. And some of us to actually read it as opposed to just reading the title.

    1. Re:So the article on preventing the /. effect ... by supremebob · · Score: 1

      Obviously, Slashdotters didn't visit the site enough to overload their server last time. By posting a cocky "Our servers can handle a slashdotting with ease!" article like this, however, they have pretty much guaranteed a MUCH larger response this time around.

      Also, considering that the site is down 30 minutes after the posting of this article, it seems that Ace's server configuration isn't as good as he thought it was.

    2. Re:So the article on preventing the /. effect ... by DLG · · Score: 1

      Ironically, I started reading the article, but it looks like it has been Slashdotted.:)

    3. Re:So the article on preventing the /. effect ... by Enigma2175 · · Score: 1
      So the article on preventing the /. effect ... will be tested to see if it's meaningful. I like that. That is definitely putting your money where your mouth is.

      Yep. Looks like they really put their money where there mouth is. When I try to access the page I receive the infamous "The document contains no data". They are already down and the article will be on the /. front page for another day. Reading an article on server scaling from these guys is like taking a class in conflict resolution from Saddam and GWB.

      --

      Enigma

    4. Re:So the article on preventing the /. effect ... by LilGuy · · Score: 1

      They may have kept this in mind before creating this new article. The first page should be the smallest if they took into account that slashdotters would be "reading" it. :P

      --

      You're nothing; like me.
    5. Re:So the article on preventing the /. effect ... by hondo77 · · Score: 3, Funny

      At least you got to start reading it. It wouldn't even come up for me. On the bright side, I now know I don't need to read it...

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    6. Re:So the article on preventing the /. effect ... by Anonymous Coward · · Score: 0

      Do one better - there are four links, open one up in a separate tab quickly. Four for the price of one!

  8. <blows horn> by Anonymous Coward · · Score: 5, Funny
    This kind of traffic caused only a 21% average CPU load to their Java-based web server, which is powered by a single 550MHz UltraSparc-II CPU. In their newest article, Scaling Server Performance, Ace's Hardware explains how this was possible.
    Battlestations!

    SLASHDOT THEM AGAIN!!!
  9. Most web admins are retards. by Anonymous Coward · · Score: 0

    It really, really isn't hard to build a server to scale up to a decent amount of requests so I tend to have little sympathy for sites that die thanks to the slashdot effect.

    What I wonder is, especially with those admins who use apache, if they have never heard of "ab"? How can many of these admins, who get paid for their work, not change a few options to make a server stable?

  10. /. server admins? by Anonymous Coward · · Score: 0

    Why not ask the /. server admins how? I mean /. is the portal to bringing web servers to their knees, so really isn't a slashdot what we should be modeling?
    Although, I will say that i don't know a whole lot about running a server, nor do i know anything about how /. is run, but it just seems that way to me :)

    1. Re:/. server admins? by stratjakt · · Score: 1

      /. is down or slow probably 5 or 6 hours out of the day lately. I don't think so.

      --
      I don't need no instructions to know how to rock!!!!
    2. Re:/. server admins? by r0gue_ · · Score: 1

      doesn't the faq still have the server info. A bunch of debian boxes and a couple of monkeys...

    3. Re:/. server admins? by Blimey85 · · Score: 1
      Hmm.. I thought it was just my crappy EarthLink dsl... it's been really slow off an on for me since they moved to servers a couple months ago. It used to be very fast ALL of the time... at least for me... now it's very slow ALL of the time. Damn it, damn it, son of a bitch.

      Maybe the /. team needs to study this article and learn a few things.

      --
      How is it that one careless match can start a forest fire, but it takes a whole box to start a campfire?
    4. Re:/. server admins? by k3v0 · · Score: 1

      dont neglect the gaggle of cracked out commando geese

    5. Re:/. server admins? by KDan · · Score: 1

      Just bringing my 2 cents - it's been real slow lately for me as well. I was thinking the first-posters must be gutted, waiting madly for the bloody comment box to load for a whole 2 minutes :-P

      Daniel

      --
      Carpe Diem
  11. only 600, 000 per day? by vanyel · · Score: 4, Informative

    When I was benchmarking web servers in *1994*, servers could handle 100,000/hr, which is only about 30/sec. You may need a T3 to handle the bandwidth, but any server that can't handle it today is misconfigured.

    1. Re:only 600, 000 per day? by drivers · · Score: 0
      but any server that can't handle it today is misconfigured


      You mean like kuro5hin? Man I miss being able to read k5.

    2. Re:only 600, 000 per day? by fdicostanzo · · Score: 1
      These were generally static, not dynamic pages/content.

      Serving Cache is like serving static pages (depending upon the degree of caching..).

      --
      Synergies are basically awesome, and they're even better when you leverage them. -PA
    3. Re:only 600, 000 per day? by stratjakt · · Score: 5, Insightful

      In 1994 websites were nothing more than text documents with perhaps a handful of small .gifs in them. They werent plastered with media-intensive-ads, java applets and shockwave whizbangers, background music, video clips streaming off the same server and blah blah blah innovation.

      The web-design and server world seems to be focused on quantity, not quality.

      And frankly, much of what /. links to are personal sites run off of a DSL line. I think the effect has more to do with bandwidth than server load.

      --
      I don't need no instructions to know how to rock!!!!
    4. Re:only 600, 000 per day? by damiam · · Score: 1

      K5 uses Scoop, which, while probably the nicest weblog engine in existance, is not known for its performance and scalability.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    5. Re:only 600, 000 per day? by vanyel · · Score: 4, Informative

      Yes, but each one of those wizbang annoyances is just another hit to the server. dynamic generation of pages is the real server killer, depending on how much hoop-de-loop you're going through to make them.

    6. Re:only 600, 000 per day? by stratjakt · · Score: 2, Interesting

      True enough, I meant to say that too.. Dynamic web pages are relatively 'new'.

      The difference between just showing a page and creating one is like the difference between a pre-rendered .avi file and rendering it realtime in hardware.

      I still figure bandwidth is the big killer. I mean you can only stuff watermelons through a garden hose so fast.

      --
      I don't need no instructions to know how to rock!!!!
    7. Re:only 600, 000 per day? by Chester+K · · Score: 2, Funny

      When I was benchmarking web servers in *1994*, servers could handle 100,000/hr, which is only about 30/sec.

      But this is a Java-based server we're talking about.

      --

      NO CARRIER
    8. Re:only 600, 000 per day? by calethix · · Score: 1

      Don't forget all the complicated, overdone html that stuff like frontpage spits out.. didn't have much of that back in '94 either. :)

    9. Re:only 600, 000 per day? by Anonymous Coward · · Score: 0

      So they got 1 out of two, not bad. The site does not serve content, but presumably processor is still quite idle.

      Their next article in the series will be titled "Scaling bandwidth of internet connection is even more important"...

    10. Re:only 600, 000 per day? by cristofer8 · · Score: 2, Insightful

      That could be true, but this article is talking about dynamic database based pages. There's a huge difference.

    11. Re:only 600, 000 per day? by mark_lybarger · · Score: 2, Funny

      yeah but the blink tag was right around the corner! didn't over load server much, but ensured the clints had a swell time viewing.

    12. Re:only 600, 000 per day? by FyRE666 · · Score: 3, Funny

      Yes, but each one of those wizbang annoyances is just another hit to the server. dynamic generation of pages is the real server killer, depending on how much hoop-de-loop you're going through to make them.

      Maybe it's just late, but I'm having a problem following all this technical jargon ;-)

    13. Re:only 600, 000 per day? by epiphani · · Score: 1

      I ran a porn webserver that was doing over 7 million hits a day, spread over 50+ virtualhosts. I'd bet my life that there wasnt a single site that had over 100KB of text, and less than 50MB of images/movies. And that machine was nothing more than a well configured single CPU 550Mhz Xeon running freebsd. Mind you, it did have 1.5 gigs of ram.

      --
      .
    14. Re:only 600, 000 per day? by Bert64 · · Score: 1

      Exactly, static content, plenty of cache.. no problem.
      It`s dynamic content that causes the load, and worse.. the excessive use people make of dynamic content and databases.. for instance i have seen many sites where things which should be static, such as images, downloadable files, etc... are served from a database, this just causes totally unnecessary load on the server.. It`s harder to cache, consumes more ram when doing so, and requires more processor time to process the request.
      We had a similar pornsite, one stats server running various cgi scripts designed to record hits and referrers so we knew which of our affiliates was sending us the most traffic etc, and setting cookies on the visitors so that our affiliates can see when were sending content to them. The other simply served static content, the main index pages, the porn images themselves. The static server was a P2/400 and spent most of its time idle, the dynamic server was a dual P3/800 and was usually pretty heavily loaded, despite generating about 0.5% of the network traffic the static server did.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    15. Re:only 600, 000 per day? by derF024 · · Score: 1


      I still figure bandwidth is the big killer. I mean you can only stuff watermelons through a garden hose so fast.


      As someone who's had a few sites get "slashdotted" this is exactly the problem. one of our servers in particular has been slashdotted more often then others (we even had a site mentioned on howard stern once, which puts slashdot to shame) and has always taken the hits in stride. Not because it's some huge bohemith of a machine (twin athlon 1.1 Ghz's, 2 GB of RAM) but because it's got two t3's stuck on the back of it.

    16. Re:only 600, 000 per day? by MSBob · · Score: 1

      I don't think they are doing all that well either. I'm pruning bottlenecks in a java app my company designed and I can currently get it to serve around 2 new sessions every second (approx. 7200 unique user sessions per hour) AND they are all dynamic flows with LOTS of DB activity (aruond 70 SQL queries in every session). All this uses a single 450Mhz sparc CPU to host both the app server and the database. The box is around 20% idle under that load.... And I'm not done pruning yet.

      --
      Your pizza just the way you ought to have it.
  12. Slash Bench by larry2k · · Score: 1, Insightful

    Is the /. effect a benchmark test for web sites?, since when?

    --

    The package said "Windows XP or better. Pentium Class Processor or better"... So I got a Mac with OS X

    1. Re:Slash Bench by tarzan353 · · Score: 0

      It's not. It's just what slashdot fanboys like to believe.

  13. yes. by krog · · Score: 5, Funny

    seeing as it took Slashdot 35 seconds to serve me up this comments.pl?op-Reply page, yes, i think we are supposed to be impressed.

    1. Re:yes. by AKnightCowboy · · Score: 1
      seeing as it took Slashdot 35 seconds to serve me up this comments.pl?op-Reply page, yes, i think we are supposed to be impressed.

      Served it up to me in under 2 seconds. Sounds more like congestion of the network somewhere instead of the server.

    2. Re:yes. by Anonymous Coward · · Score: 0

      Slashdot has been widely unavailable to me ever since they switched to Exodus West or whatever it was. Front page only loads roughly half the time, comments rarely go through...and it's only on Slashdot.

    3. Re:yes. by Anonymous Coward · · Score: 0

      You mean you haven't noticed that slashdot has been very unreliable lately? I know other people have commented on it. It would also seem odd that hundreds of other sites fly by on my machine but slashdot chokes.

    4. Re:yes. by DarkZero · · Score: 1

      seeing as it took Slashdot 35 seconds to serve me up this comments.pl?op-Reply page, yes, i think we are supposed to be impressed.

      I think that you must be having a problem on your end, since it loaded in under two seconds for someone else and loaded instantaneously for me.

    5. Re:yes. by Spotless+Tiger · · Score: 1
      Slashdot has been widely unavailable to me ever since they switched to Exodus West or whatever it was. Front page only loads roughly half the time, comments rarely go through...and it's only on Slashdot.
      Blame SPEWS. They've been blacklisting cw.net, through which Exodus gets its connectivity, for the last six months.
      --
      Racists should be sent back to where they came from
    6. Re:yes. by truesaer · · Score: 1

      I get that all the time as well. Pages on slashdot either load very fast, or very very slowly. this only happens to me on slashdot, so I assume it is their problem.

    7. Re:yes. by AKnightCowboy · · Score: 1

      Oh, I'm not saying Slashdot doesn't suck, it's just that when I loaded the page it took 2 seconds. At other times I just get dumped to a front page and every single story has the same huge quarter page slashvertisement next to it or other random weirdness. Since I've been reading the site for years though I've come to expect them to break the site on a regular basis. I mean, come on, it's not like this is CNN or Microsoft.com or something. So what if it's down or broke? A couple thousand geeks get pissed off? (600k accounts == 10k "real" accounts and 590k troll accounts that never got deleted. :-)

    8. Re:yes. by Bert64 · · Score: 1

      35 seconds to load on your dialup? 35 seconds to render on your 486? 35 seconds to transfer from the other side of the world over a congested backbone? there could be many reasons why it takes so long to load... in my case the content is downloaded much quicker than the machine (a humble 250mhz) can render it.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    9. Re:yes. by charon_on_acheron · · Score: 1

      "(600k accounts == 10k "real" accounts and 590k troll accounts that never got deleted. :-) "

      I was wondering about this lately. How many of the 600,000+ accounts are people who actively read and post comments, how many are old accounts from people who have stopped reading /., and how many are just troll accounts? I've looked at pages for some users, and they have only posted 8 comments since 1998, or somesuch. Who really does that? and why?

    10. Re:yes. by Phroggy · · Score: 1

      seeing as it took Slashdot 35 seconds to serve me up this comments.pl?op-Reply page, yes, i think we are supposed to be impressed.

      Yeah, what's up with Slashdot lately? Lately it's been occasionally slow. Anyone know the reason?

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  14. But the ad server is slashdotted by ites · · Score: 4, Insightful

    Which is very funny: this is an article explaining how a web site survived the /. effect, thus trying to catch the /. readers back for a second round, and getting lots of advertising hits at the same time. If only that server could keep up.
    Now, a while back on /. I saw a report about a 200Mhz (?) PC running Windows 95 and with about 30 hard disks, that also seemed to do very well under the /. effect.

    --
    Sig for sale or rent. One previous user. Inquire within.
  15. jeez by tps12 · · Score: 1, Funny

    Can you say dry? 290,000 whatever, 21% something, 550 MHz, blah blah blah....

    I'm not a computer, I'm a person. Give me graphs or don't bother.

    --

    Karma: Good (despite my invention of the Karma: sig)
    1. Re:jeez by peterpi · · Score: 1
      *bite*

      urrr, if you RTFA you'll see plenty of graphs.

    2. Re:jeez by Anonymous Coward · · Score: 0

      RTFA, please.

    3. Re:jeez by Anonymous Coward · · Score: 0

      I'm not a computer, I'm a person. Give me graphs or don't bother.

      You sound like an I.T. manager to me.

    4. Re:jeez by ka9dgx · · Score: 1
      If I could read the article... I'd probably be impressed... right now it's been about 4 minutes, and it's still not loaded.

      --Mike--

    5. Re:jeez by Anonymous Coward · · Score: 0

      I'm not a computer, I'm a person. Give me graphs or don't bother. So why bother reading /.?

  16. Maybe by Jack+Wagner · · Score: 0, Troll
    This looks to be very Sparc specific to me. It's a well known fact that Intel proc's use a low grade silicon wafer for their on-board caches and Sparcs use the same commercial grade chip, which is why you'll always see better performance on a UltraSparc chip than an X86 chip. Plus Sparcs can handle bandwidth caching better because they follow the IEET network layer specs and X86 boxii don't.


    Of course you would need to have two X86 boxii in order to handle a load like that anyways simply because of the horrendous implementation of Java on X86, but that's another story for another day.

    Garth Brooks covers this in his famous book "The Mythical Man Month" where he proves in a controled lab environment that Java under X86 runs on the order of Olog(n) slower than it does on a RISC chip like an UltraSparc.

    Warmest regards,
    --Jack

    --


    Wagner LLC Consulting Co. - Getting it right the first time
    1. Re:Maybe by AssFace · · Score: 1

      I agree with you - Garth Brooks is an amazing writer.

      I think the best actor is Martin Lawrence in The Great Escape.

      ( I think you meant Frederick P. Brooks - but perhaps you were in jest and I'm retarded...)

      --

      There are some odd things afoot now, in the Villa Straylight.
    2. Re:Maybe by Enry · · Score: 3, Funny

      I prefer reading "The Mythical Man Month" in the original latin. Brooks' translation leaves much to be desired.

    3. Re:Maybe by Maeryk · · Score: 1

      Loved your work on the soap opera. Love your album, too! I listen to it every day!

      Do me a favor, fax me a copy of your signature, so I can tape it to the album and sell pirates of it and photocopies of the cover on Ebay as "signed collectibles" okay?

      Thanks!

      ta!

      Maeryk

      --
      Feminine Protection? What is that? A chartreuse flame thrower?
  17. Re: x per second. by Servants · · Score: 1

    Are we supposed to be impressed with a computer that can serve 8 [actually 11] hits and 4 pages per second?

    If that's what a slashdotting consists of, then probably yes.

  18. Big deal by Amsterdam+Vallon · · Score: 1

    There are plenty of Web server machines that rarely crash, if ever. Many of these sites rely on the work on only one machine, just like Aces Hardware. If they have more than one Web machine, they split each up for each category (e.g. Google has a machine each for their "catalogs", "search", and "images" utilities)

    Academic: MIT.edu, Stanford.edu, Maryland.edu
    Business: Amazon.com, CDNow.com, Slashdot.com, Google.com
    Pleasure: TheHun.net, Playboy.com, Napster.com

    --

    Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
    1. Re:Big deal by benwb · · Score: 1

      you do realize that google has literally hundreds, if not thousands of machines serving web pages, right?

    2. Re:Big deal by Anonymous Coward · · Score: 0

      Well according to their website, it is thousands of low cost PC's.

    3. Re:Big deal by malfunct · · Score: 1
      Its actually not that hard to partition web load over a number of machines. Most websites of any major size already do this. You stick a virtual IP up at the outside that round robins between a bunch of backend web servers that do the real work.

      To me the harder part of it is partitioning load across servers that hold data. Figuring a way to split up your data so all important data is available to all front end machines while still keeping the backend machines within a resonable load level is difficult at best.

      --

      "You can now flame me, I am full of love,"

    4. Re:Big deal by merger · · Score: 1

      Last average I heard for google was around 10,000 low cost servers. Therefore it isn't that big of deal if 100 or so servers go down. There is a really good .mp3 interview with Jim Reese, the Chief Operations Engineer available. It may be a little old but still a good listen.

    5. Re:Big deal by 21mhz · · Score: 1
      Business: Amazon.com, CDNow.com, Slashdot.com, Google.com
      Pleasure: TheHun.net, Playboy.com, Napster.com

      I object -- Slashdot belongs to Pleasure. Probably, even ahead of TheHun.net, though I'm not completely sure.
      --
      My exception safety is -fno-exceptions.
  19. Ones that crashs by MCMLXXVI · · Score: 5, Interesting

    I would be more interested in stats on a webserver that took a puke. It would be interesting to see what started the dominos falling and what ultimatly brought it down. It would be as good a learning experiance as this article is.

    1. Re:Ones that crashs by sean23007 · · Score: 1

      Yeah, but anyone who has compiled data like that would not be too eager to submit another link to Slashdot. After all, they don't really want to get smoked again...

      --

      Lack of eloquence does not denote lack of intelligence, though they often coincide.
    2. Re:Ones that crashs by vasah20 · · Score: 1

      True. But you'd sorta hope the admin(s) of the server would change their configuration around to handle that kind of stressload, so they don't get /.-ed again, right? Wouldn't submitting that data be the perfect test to see if their new configuration really worked?

    3. Re:Ones that crashs by joshuac · · Score: 1

      They will get their chance; how we _didn't_ survive a slashdotting. :)

    4. Re:Ones that crashs by /dev/trash · · Score: 0, Troll

      50% mySQL is the cause.
      50% 56k dialup as web hosting deal.

  20. can do by jacquesm · · Score: 0, Redundant
    http://www.camarades.com


    150 hits / second on a bad day

  21. I wish I understood/knew more about this... by rindeee · · Score: 1

    ...so I could implement it on my PHProjekt server! I have become so dependent upon it that it's almost scary. I'd love to speed it up a bit though. Time to start reading I suppose.

  22. Not to be cynical... by Xunker · · Score: 2, Interesting

    Not to be cynical, but serving (nearly) static pages shouldn't be a huge load by any standard. Even with dynamic (fully dynamic) pages, 250,000 isn't a huge number.

    As an example, I run a pretty popular site that pumps out about 250,000 as well, all CGI-created and database fed pages. This is being served by two 1ghz web heads and a 1ghz db server. Granted that those three machine run at 100% load during peak hours, it's still not a huge deal (this is because I haven't finished the local caching mechanism yet). Did I mention that the two webservers also toss 1 million images a day too?

    Of course, I don't wan to belittle the article that much -- If anything, it shows the preformance gains one gets when you use efficient hardware (I have no doubt that their 550 mhz Ultrasparc II has nearly the same horsepower as a 1 ghz x86) and efficient caching (caching data in RAM and serving from there, avoiding disk access penalties, is a huge performance increase).

    --
    Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
    1. Re:Not to be cynical... by BlueRibbon · · Score: 1

      it shows the preformance gains one gets when you use efficient hardware (I have no doubt that their 550 mhz Ultrasparc II has nearly the same horsepower as a 1 ghz x86) and efficient caching (caching data in RAM and serving from there, avoiding disk access penalties, is a huge performance increase)
      Yes, but that's what this article is all about! Showing that with good hardware and good administration you can save money, time and even the hardware's lifetime.

      --
      KISS - Keep It Simple, Stupid!
    2. Re:Not to be cynical... by RajivSLK · · Score: 1

      I run a pretty popular site that pumps out about 250,000 ... Did I mention that the two webservers also toss 1 million images a day too?

      Care to post a link? I'm in the mood for a little pr0n action right now.

      ** The pr0n industry, always on the cutting edge **

    3. Re:Not to be cynical... by Xunker · · Score: 1

      Sorry, it's not pr0n. Strict policy against showing boobies.

      --
      Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
    4. Re:Not to be cynical... by buysse · · Score: 2, Insightful
      Incorrect. The 550 Mhz USII mentioned is in a Blade 100 or 150, which means that it's fucking slow. It's a IIe, not a II. A PIII/550 would smoke it for web serving.

      256K of cache on die, ALI chipset board that's a lot like a PC, slow PC133 (with very high latency) memory, dog-fucking-slow disk, unless they're using SCSI.

      This is not your father's E450.

      --
      -30-
    5. Re:Not to be cynical... by Xunker · · Score: 1

      ...and faster servers, bigger pipes, raid arrays...

      It's amazing how slow something can become when you don't plan on it getting popular :)

      --
      Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
  23. Oh the Irony by Alf+Alpha · · Score: 1

    Post an article about surving a Slashdot attack only to get slashdotted the second time around.

    1. Re:Oh the Irony by Anonymous Coward · · Score: 0

      yeah, pages unavailable, pics not loading. i'm really gonna wanna read it now. they know what they're talking about.

  24. That's hardly impressive by shoppa · · Score: 5, Informative
    When one of the sites that I serve, The Computer History Simulation Project, was slashdotted, I was serving 40-50 pages per second (which is nearly ten times the rate attributed to Ace's Hardware) on a 4-year-old webserver (a K6II-500) that cost about $200 to put together. And the server itself was ticking along with only a few percent CPU usage.

    OTOH, my puny little SDSL connection was seriously maxed out.

    Even old hardware can happily serve up hundreds of documents a second, if the pages are static.

    1. Re:That's hardly impressive by linuxbaby · · Score: 1

      Well then shoppa... tell us how you did it! The point is not to brag, but to help show others what you've learned in tuning your own box.

    2. Re:That's hardly impressive by alannon · · Score: 1

      A quick look at your web site reveals that it is not a database-backed web site with a lot of scripts running. Serving up dynamic content is much more challenging to do.

    3. Re:That's hardly impressive by shoppa · · Score: 4, Interesting
      I agree, dynamic content is very much more challenging - but is it wise for Ace's (or any of the other sites) who are serving up static stories to do so through dynamic methods?

      I am familiar with serving dynamic content of very high information density, and let me tell you, Ace's doesn't compare. The data I serve from work is updated every second; the stories on Ace's (and most other hardware-review sites) change every couple of days.

    4. Re:That's hardly impressive by Anonymous Coward · · Score: 0

      your site does 4.3 million a day on a K611-500? You're full of CRAP.

    5. Re:That's hardly impressive by Anonymous Coward · · Score: 0

      He runs it all on a 30-year-old DECSYSTEM-10 running TOPS-20 ...the original TCP/IP machine!!

      Ha ha...just kidding
      (Thomas Dzubin)

    6. Re:That's hardly impressive by shoppa · · Score: 1
      your site does 4.3 million a day on a K611-500?

      It did, when slashdotted. It's since been updated to a VIA C3 at 800 MHz.

      You're full of CRAP.

      No, it's a high-content site without all those frilly graphics and doesn't use dynamic methods to serve up static data. Just dumb-obvious things.

    7. Re:That's hardly impressive by shoppa · · Score: 1
      tell us how you did it!

      The steps:

      1. Install Linux
      2. Connect to the 'net
      3. Install Apache, configure.
      4. Set up documents to serve
      The only limit when serving static documents to the 'net at large is network bandwidth.
    8. Re:That's hardly impressive by Bytenik · · Score: 1

      I believe you shoppa.

      What I can't figure out is why anyone would be surprised that a computer capable of many millions of instructions per second is able to handle a paltry 50 static requests per second.

      --

      "Scientists prove we were never here."
      -- Devo

    9. Re:That's hardly impressive by Blaskowicz · · Score: 1

      It did, when slashdotted. It's since been updated to a VIA C3 at 800 MHz [mini-itx.com].

      Isn't that a down-grade?

  25. Getting it right the first time? by ites · · Score: 4, Funny
    >Wagner LLC Consulting Co. - Getting it right the first time
    >Garth Brooks covers this in his famous book "The Mythical Man Month" where he proves in a controled lab environment that Java under X86 runs on the order of Olog(n) slower than it does on a RISC chip like an UltraSparc.

    WTF? Fred Brooks wrote this book, and I don't seem to remember RISC or UltraSparc chips, not to mention Java, in 1974. Garth Brooks is (AFAIK) a country music singer. Try again.

    --
    Sig for sale or rent. One previous user. Inquire within.
    1. Re:Getting it right the first time? by Dirtside · · Score: 1
      WTF? Fred Brooks wrote this book, and I don't seem to remember RISC or UltraSparc chips, not to mention Java, in 1974. Garth Brooks is (AFAIK) a country music singer. Try again.
      I'm not sure if this is worse, but yesterday someone claimed that "The Mythical Man Month" was written by Mel Brooks.
      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
  26. Mod Moron Down by Anonymous Coward · · Score: 0

    Look at his previous posts and this post. They're all bullshit.

  27. What a joke! by Anonymous Coward · · Score: 0

    I can take as many hits as you can give.

    Thank you sir, may I have another!

    1. Re:What a joke! by rindeee · · Score: 1

      And that's why you're already slashdotted???

    2. Re:What a joke! by Anonymous Coward · · Score: 0

      And that's why you're already slashdotted???

      are you talking about the article page or Pajonet?

  28. Isnt the real problem BANDwidth? by Kevin+Stevens · · Score: 4, Insightful

    I never really thought that the problem lied with the server's hardware, but in the bandwidth to the host. Shouldn't an article be written about how to conserve bandwidth during a slashdot effect? Even older servers should be able to handle 100 requests per second. I think most FPS's are alot more taxing than that.

    1. Re:Isnt the real problem BANDwidth? by delta407 · · Score: 1

      One word: mod_gzip.

    2. Re:Isnt the real problem BANDwidth? by doofusclam · · Score: 1

      It should be the case, because then all you need to do is shell out bucks to increase the bandwidth and everything is fine.

      Thinking about this, are there any websites that 'degrade' content depending on the cpu load, i.e. maybe sending lower-resolution jpegs while the server is stressed? Slashdot did something similar to this on 9/11, the front page was changed to reflect but this event. I don't think it was an automated process though.

      seany

    3. Re:Isnt the real problem BANDwidth? by Salden · · Score: 1

      Hm, but there goes more server overhead, this of course is with dynamic content. The solution is to have balance. Most slashdottings are not bandwidth problems but load problems. Most sites that survive slashdottings use cache servers.

    4. Re:Isnt the real problem BANDwidth? by pjrc · · Score: 3, Informative
      One word: mod_gzip.

      Yes, mod_gzip is great and I use it on my own server, but for any "normal" website the main advantage is an interactive speed-up for dialup users. It really doesn't save huge amounts of bandwidth (in this case, enough to matter for withstanding the slashdot effect).

      As an example, the page slashdot linked to is 22443 bytes of compressable html, and approx 84287 bytes of images (not including the ads and two images that didn't load because they're not handling the slashdot effect so well as they thing they can). At -9, the slowest and best compression (remember, this is a dynamic JSP site, not static content you can compress ahead of time), the html compresses to 5758 bytes, thereby reducing the total content from 106730 bytes to 90045.

      That's only a 15.6% reduction in bandwidth.

      Also, a typical HTTP response header, which can't be compressed, is about 300 bytes (not including TCP/IP packet overhead, which we'll ignore hoping that HTTP/1.1 keepalives are putting it all in one connection...). There were 18 images (actually 20, but junkbuster filtered 2 out for me). That's 19 HTTP headers, at 300 bytes each, all uncompressable. Adding in HTTP overhead we're at (approx) 112430 without compression and 95745 with mod_gzip. So the uncompressability of the headers reduces the bandwidth savings to 14.8%.

      The big advantage that makes mod_gzip really worthwhile for a site like that is the a dialup user can get all the html in about 2 seconds, rather than 5-6 (assuming the modem's compression is on). Then they can start reading, while the remaining 82k of images slowly appear over the next 20-30 seconds.

      Now in some cases, like slashdot's comments pages, mod_gzip makes a massive difference. But for most sites, the majority of the bandwidth is images that are already compressed. That 10% to 20% reduction in bandwidth from simply installing mod_gzip is pretty small compared to a bit of effort redesigning pages to trim the fatty images.

    5. Re:Isnt the real problem BANDwidth? by Isao · · Score: 1

      The article DOES talk about this. Third or fourth page.

    6. Re:Isnt the real problem BANDwidth? by ParamonKreel · · Score: 1

      It could be interesting to cache the GZipped version of large text pages such as the slashdot comment page. That would save cache space and server overhead of caching.

    7. Re:Isnt the real problem BANDwidth? by Large+Green+Mallard · · Score: 1

      My issue with mod_gzip is that squid up until very recently cached the page in gzipped format and sent it back to anyone who wanted it.. even if they couldn't accept gzipped. Which shat me off no end given that my previous ISP used transparent proxying...

      The problem is fixed in squid now, thanks to the fact one of the squid developers lives across the road from my work.. but my ISP wouldn't upgrade, citing security reasons (??),... so I left them :)

    8. Re:Isnt the real problem BANDwidth? by Anonymous Coward · · Score: 0

      Also, a typical HTTP response header, which can't be compressed, is about 300 bytes (not including TCP/IP packet overhead, which we'll ignore hoping that HTTP/1.1 keepalives are putting it all in one connection...). There were 18 images (actually 20, but junkbuster filtered 2 out for me).
      Last I heard, Junkbuster doesn't support HTTP/1.1.
  29. boxii? by chegosaurus · · Score: 0

    boxii? Oh for *FUCK's* sake...

    1. Re:boxii? by loraksus · · Score: 1

      lol. +5, so true though.

      --
      1q2w3e4r5t6y7u8i9o0pqawsedrftgthyjukilo;p'azsxdcfv gbhnjmk,l.;/
  30. Re:Big deal (goodbye karma) by kahei · · Score: 1

    Ah, but this is a *java* webserver with okay performance. And *that's* quite a big deal :)

    (This space left blank for Java evangelists to
    rage in).

    --
    Whence? Hence. Whither? Thither.
  31. Just in case by sameerd · · Score: 1

    Where Performance is Concerned, Optimization is Key

    When our Hitchhiker's Guide to the Mainframe article caught the attention of Slashdot last month, quite a few people were curious to know about how our server handled the traffic. This is a topic we have discussed previously in Building a Better Webserver in the 21st Century and SPECmine - A Case Study on Optimization, but since there was so much interest in some more in-depth information on the topic, I decided to spend some time explaining how the data object caching in our web application can do so much for performance without sacrificing the ability to serve true dynamic content. I'll start with some statistics gathered on December 4th.

    Our traffic for the day totaled over 590,000 requests (hits), with over 250,000 of those being requests for pages. Requests peaked at 677 per minute, which of course includes everything (images, pages, files, etc.). The peak number strictly for article pages was 235 per minute. Perhaps the most impressive statistic is that during these peaks, our web application running in Java (including the HTTP server) was only consuming 20% of available CPU time, and all article requests were served in 4 milliseconds or less. Furthermore, our database was only at 7.5% CPU utilization. So, when the system was serving roughly 11 requests per second, the CPU was nearly 75% idle. Let's take a look at the traffic for the day, graphed on a per-minute basis:

    In the graph above, we have two different sets of data. The first is requests, which is essentially anything requested from the server -- images, dynamic pages, static pages, etc. The second is article pages, like this one. As you can see, the initial spike in traffic from Slashdot occurs around 1:30 AM. There is other dynamic content, such as the front page or the message board, that is not accounted for in this data, but nevertheless, the graph gives you a good idea of the ratio between article pages (text) and everything else. Traditionally, dynamic content is often one of the most intensive types of content for a webserver, but as you will see in the next graph, that doesn't always have to be the case.

    In this graph we see the CPU utilization of both the Java web application and the database, sampled each minute, relative to the article requests per minute. Here you can clearly see the peaks I mentioned earlier happening roughly between 9:30 and 10:00 AM. You can also see that the average CPU utilization of both the web application and the database is rather low: 14% for Java and 6.9% for the database. The Java CPU utilization peaks at 51% for a very short time early on, as it is caching content on demand as traffic begins to spike. You can also see occasional spikes in the database CPU utilization, as cached data is periodically updated. When you consider that there are servers out there that will fall over and die when faced with this kind of traffic, an overall average CPU utilization of 21% for a modest 550 MHz uniprocessor machine is not too shabby.
    Advertisement:

    Overview

    Before we begin, let's take a quick look at what's covered in this review:

    * Page 1: Introduction
    * Page 2: Scaling with Larger Workloads Effectively
    * Page 3: Inside the Web Server Application
    * Page 4: Benchmarking with ApacheBench
    * Page 5: Benchmarking Web Server Scalability with AutoBench
    * Page 6: Static HTTP Performance
    * Page 7: Dynamic Cached vs Uncached Article Performance and Conclusion

    Let's start by considering some of the bottlenecks present in many web servers and how to manage them...

  32. huh? by Dman33 · · Score: 1

    Sorry, you lost me at Garth Brooks...

    1. Re:huh? by stratjakt · · Score: 1

      I think he meant Garth Vader.

      --
      I don't need no instructions to know how to rock!!!!
  33. Bottlenecks by guacamolefoo · · Score: 1

    I think that the main thrust of the article was essentially that size doesn't matter -- it's how you use what you've got.

    One thing that sort of made me think though, was the focus on being able to deliver massive numbers of "pages" and "hits". For most sites, this is not an issue -- their bandwidth would be hosed before the server would be. You can only stuff eight great tomatoes into that itty-bitty can. It doesn't take much to saturate a T-1.

    If you have nearly unlimited bandwidth, then these server-tuning issues start to become important. I think it is a good idea to focus on how applications are built and used when thinking about performance of servers. Too often, the sole focus is "can I do task X" and not "what is the most-efficient way I can do task X".

    A nifty article, all in all.

    GF.

    1. Re:Bottlenecks by Anonymous Coward · · Score: 0

      I think that the main thrust of the article was essentially that size doesn't matter -- it's how you use what you've got.

      That's just what I keep telling my girlfriend.

    2. Re:Bottlenecks by Anonymous Coward · · Score: 0

      You can only stuff eight great tomatoes into that itty-bitty can.

      Funny, that's what I keep telling my girlfriend.

  34. Strange what they're saying about the CPU by peterpi · · Score: 1
    Mad propz for surviving a slashdotting and everything, but:

    "an overall average CPU utilization of 21% for a modest 550 MHz uniprocessor machine is not too shabby."

    Firstly, when said CPU is an UltraSparc II, then 550Mhz is anything but modest. Secondly, I would not expect the CPU to be busy during a slashdotting; it would be hanging around waiting for the disk drives and network card to come up with something useful.

    1. Re:Strange what they're saying about the CPU by doofusclam · · Score: 1

      Yeah but maybe this is part of their point: us x86 crowd tend to get all hungup on mhz battles, like with intel vs amd etc.

    2. Re:Strange what they're saying about the CPU by swordgeek · · Score: 2, Interesting

      Unfortunately, the comment on the processor isn't quite right.

      The UltraSparc II only goes up to 480MHz, and the UltraIII starts at 750. In between is the grey area of the IIe and IIi, and the ONLY Sun box with a 550MHz processor is the SunBlade 100/150.

      If that's their web server, then the CPU is the least of their worries--the thing has internal IDE drives, two (only) 33MHz narrow PCI slots, and not much else. Assuming that one of the PCI slots is used for a faster and/or redundant network connection (QFE card most likely), then the other one is the only connection to SCSI disks. That CPU, low-end as it is (for Sun), is definitely going to spend its time waiting for the rest of the system.

      (And yes, I know that was your second point--I just wanted to back it up with some detail)

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    3. Re:Strange what they're saying about the CPU by blargster · · Score: 1

      My company currently deploying Sun Fire V120s with single 650MHz Ultra IIe procs. They are also available with 550MHz Ultra IIe's. This last version is probably what is used as a webserver in the example. Sun usually uses specific processors across a variety of product types.

    4. Re:Strange what they're saying about the CPU by gerbache · · Score: 1

      A quick scan of the low end servers on Sun's website reveals that they sell the Sun Fire 100, which uses the UltraSPARQ IIi. Certainly not high end equipment for Sun, but it's also not one of the super low end Blade machines.

    5. Re:Strange what they're saying about the CPU by Anonymous Coward · · Score: 0

      The picture gives it away; it's a Sun Blade box. I have one on my desk in front of me, and let me tell you, those machines are dog-ass slow, especially compared with the hardware that most people have dedicated to web serving these days.

      It's got an incredibly slow bus (don't have the details handy), what must be a surplus 1800RPM disk from back in the RLL days (which I can only assume they have ditched for something more reliable and faster)...

      It takes PC133 RAM and that's it, so you can adjust your idea of machine speed accordingly. Put it this way -- I wouldn't use it for a webserver. Kudos to them for getting tolerable performance out of the thing. I'm still pining for a new Linux workstation.

      -m

  35. I hope that this isn't that much unusual. by Anonymous Coward · · Score: 0

    Our own web application (active server pages with all dynamic data) runs around 100 requests per second, per server. Of course, the servers we tested on were more like 700-800mhz ranges rather than the 550's from the article.

    Unfortunately, our app isn't the only one on our web servers.

  36. Oh Yeah? by Xaleth+Nuada · · Score: 1

    Gateway Timeout
    The following error occurred:
    Server unreachable

    ----
    Please contact the administrator

    --

    I read Slashdot for the .sigs
  37. We've got them this time! by artificial-intellect · · Score: 1

    It's just a shame that I can't access either of those articles now!

  38. Hi there by SweetAndSourJesus · · Score: 1

    You should know that your use of the word "farked" and your reference to the inane "kitten killing" meme reveal that you are a moron of the lowest grade. It's especially bad since you're not on fark, and we have our own verb for that here.

    Please go back to fark.com, where you can post your mindless drivel with impunity. Here there be bastards.

    --

    --
    the strongest word is still the word "free"
    1. Re:Hi there by Anonymous Coward · · Score: 0

      I concur.

    2. Re:Hi there by Vadim+the+Conqueror · · Score: 1

      although, he DOES have a point.

  39. I'm immortal by utdpenguin · · Score: 0

    You cant kill me. I'm here forever. And I _like_ purple, you moron.

    --
    In Soviet Russia you dant have to put up with these crappy jokes
  40. We Win! by PhoenxHwk · · Score: 3, Funny

    "The page cannot be displayed".

    The lesson here is: put your money where your mouth is and you may end up eating it.

    1. Re:We Win! by evilviper · · Score: 1
      Connect failed

      Your request for http://www.aceshardware.com/read.jsp?id=45000241 could not be fulfilled, because the connection to www.aceshardware.com (216.87.214.213) could not be established.

      This is often a temporary failure, so you might just try again.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:We Win! by joshuac · · Score: 1

      And if you do get a page, not many of the images are loading. They think they are hot for surviving a slashdotting with a peak at 1:30a, and the article telling the rest of us how to do it gets slashdotted :)

  41. Oops!! by rimhoffd · · Score: 1

    Looks like they are slashdotted this time!!!

    1. Re:Oops!! by Anonymous Coward · · Score: 0



      Actually I bookmarked the last article on mainframes because I kept timing out on it. It's kind of odd to see all these graphs and stuff saying that the server handled it so well blah blah blah. Net conditions may vary and whatever, but on average I had to reload every other page and the server took between 10 and 20 secs to deliver the pages. I hardly ever get anything that takes that long from a major commercial server. Not that I am not at all impressed by one computer doing all that.

  42. you're thinking of static pages by Kunta+Kinte · · Score: 3, Interesting
    Those guys are using persistant server-side applications. Try getting those numbers from a reasonably complex PHP script, even with an opcode cache on such a small box( see my sig. for more info)

    Lots of people could use this type performance. I only had a chance to use JSP on one project, a while back. Tomcat was notoriously difficult to install back then. But when it was up, the difference between JSP application server and PHP become apparent. Application servers can make quite the difference.

    Just having an application scope for variables saved us a trip the the ldap server per request. PostNUKE, squirellmail, and lots of other large PHP apps could be sped up drastically if some of those features were available in the PHP engine.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
    1. Re:you're thinking of static pages by vanyel · · Score: 1
      Those guys are using persistant server-side applications. Try getting those numbers from a reasonably complex PHP script, even with an opcode cache on such a small box

      Like I said, misconfigured ;-)

      (yes, I'm joking)

    2. Re:you're thinking of static pages by Eric+Savage · · Score: 2, Insightful

      It is SO frustrating for people to say "well I had trouble w/Tomcat blah blah blah". Listen up people, Tomcat is a REFERENCE IMPLEMENTATION. Simply put, this means they are more concerned with features than with performance/stability/scability. Yes this is a good thing, because it lets us try out the new specs before the real products adopt them. If you don't believe me, look how many "WORKSFORME" resolutions there are in Bugzilla, far too many to justify a real product. Sure its on Jakarta and sure it is fine for developing/testing apps but it is totally unsuitable for a large/medium scale deployment. I refuse to deploy tomcat for anything other than an intranet application. Resin (and others) are rock solid performance demons that blow away pretty much any other comparable dynamic server pages out there (Java and not)

      As far as PHP, of course its not going to handle the numbers, its a weak design. If you don't believe me, look at the list of upcoming features in PHP, nearly all of which have been in Java for years.

      --

      This is not the greatest sig in the world, this is just a tribute.
  43. maybe not? by silicongodcom · · Score: 1

    i clicked the URL to read the article, but it took 5 seconds to load the page and the images still haven't rendered. oops.

  44. Not Impressed. (Like everyone else) by RajivSLK · · Score: 1

    I have to agree with the above comments. I'm not impressed at all. 11 requests/sec is *nothing* to brag about.

    Currently *one* of our servers is serving up 114 request / sec (and these are dynamic page requests -- all requiring extensive DB interaction). The entire system is serving well over 3,000 requests / sec.

    We achieved this level of performance by using the right tools for the job, always. (OT Rant:) **and by hacking**. hacking hardware and software. Where have all the good hackers gone, anyway?

    Today I see more and more people willing to shell out $$$ to companies for expensive *solutions*. arrgh.
    (/OT Rant)

    For the record - our setup:
    22 cheap lite weight servers managed by LVS + Heartbeat + Mon. 5 MySQL DB servers (using replication) and C / PHP / JAVA. (all extensively hacked)

    1. Re:Not Impressed. (Like everyone else) by Anonymous Coward · · Score: 0

      Um, they do this on one
      Sunblade 100. This was
      a bottom of the line
      $1000 machine years ago.

      They run their
      http/java app/database
      all on that one machine!

  45. not that much by k3v0 · · Score: 1

    this is upreme irony. your server gets /. ed becasue of your thorough and informative look at the scalability of your servers.

    1. Re:not that much by LilGuy · · Score: 1

      I'll not take into account your spelling...

      But it appears to be working just fine for me. If it could handle the last slashdot posting, with ease none the less, what makes you think it won't be able to this time? I mean really you can only hit refresh so many times before it's just boring and time to move on...

      --

      You're nothing; like me.
    2. Re:not that much by Anonymous Coward · · Score: 0
      If it could handle the last slashdot posting, with ease none the less, what makes you think it won't be able to this time?
      The way I got a timeout error back instead of the page?
    3. Re:not that much by LilGuy · · Score: 1

      I ceed defeat. It was working just fine when I was first reading the article about 13 minutes ago, and was still going while everyone else was complaining, but it seems my golden connection has been lost within the past couple minutes. Slashdot wins again.

      --

      You're nothing; like me.
  46. Not too impressive by twfry · · Score: 1

    250,000 hits/day / 24hours / 3600 secs per hour = 2.89 hits per second. Is this really that impressive. I've heard about other web servers handling thousands of pages per second.

  47. Updating Cache data by andawyr · · Score: 2, Interesting
    But here's the rub, and he mentions it at the end of the article:

    Of course, there are more complex applications where data caching can be implementing, such as discussion forums where multiple users can be adding, editing, and deleting messages simultaneously. But that's a topic for another article.

    Most of the applications I write involve updating data almost as often as fetching it from the database. In an environment like Apache where you have individual processes serving content (and database connections are process-centric), implementing caches that are updatable becomes a very complex excercise, without implementing an additional layer.

    eToys used a b-tree (Sleepycat?) database layer situated in front of the database layer - they would store objects in the b-tree, and fetch them from there if they had not expired. Once cache amongst all the servers made this worth doing; a Java web server can do something similar, since the objects are stored in memory shared between the various serving threads. The end result is similar to what Ace's Hardware has done.

    What have other people done? Since I use Apache, I'm leaning towards a disk-based caching system.

    1. Re:Updating Cache data by Xerithane · · Score: 1

      eToys used a b-tree (Sleepycat?) database layer situated in front of the database layer - they would store objects in the b-tree, and fetch them from there if they had not expired.

      You can actually read all about eToys and their implementations at perl.apache.org.

      --
      Dacels Jewelers can't be trusted.
  48. Nicely done by Anonymous Coward · · Score: 0

    The vitriolic responses are the natural result of people feeling silly after readying a long, fervent rebuttal only to then realize that they have been masterfully trolled. Beautiful.

  49. This just in... by Slashed+Otter · · Score: 1

    ...caching what are essentially static pages stored in the database to eliminate duplicate database queries dramatically increases performance...film at 11. *yawn*...call me when they start having to deal with user interaction.

  50. So what? by nathanz · · Score: 1
    I was excited to see an article about how to architect a website to combat the Slashdot effect... but I was soon dissappointed. They could have made it easier on me and reduced the article to a single sentence: "We use object caching and database connection pooling".

    Do they think this is revolutionary or even noteworthy? Anyone who builds dynamic websites of any size does these things!

  51. Okay team. by be-fan · · Score: 1

    We didn't get them the first time, but that's okay. Just buck up and let's give them another shot! If they don't go down the first time, just keep hitting 'em until they do go down. You've got to give it a full 150%, you hear me? Now get out there and click some links!

    Go team /. go!

    --
    A deep unwavering belief is a sure sign you're missing something...
  52. /.'ed - even more experience! by MoobY · · Score: 1

    I hope they share the information on how and why their server trashed this time one of their stories appeared on slashdot. That would give us both success and failure, excellent edutainment!

    --
    --- Sigmentation Fault - Comments Dumped
  53. When in rome.... by rimhoffd · · Score: 1

    Many pages get "slashdotted" but obvously slashdot itself *usually* is not affected by this! Maybe they should follow slashdot's lead, yeah?

  54. looks like they spoke too soon... by pjrc · · Score: 4, Interesting
    To point out the obvious, it looks like they're slashdotted.

    Reloading their page a couple times (2nd page of the article, not the one slashdot linked to), I'm getting occasional 503 errors, and the rest are taking a very long time to load. Usually the page comes up with some "broken" images that didn't load.

    At the bottom of each page, there's a number that seems to indicate the time they believe their server spent serving the page. Usually is says something like "2 ms" or "3 ms"... That may be how long their code spent creating the html, but the real world performance I see (via a 1.5 Mbit/sec DSL line) is many seconds for the html and many more for the images, some of which never show up, and sometimes a 503 error instead of anything useful at all.

    So, Brian, if you're reading this comment (which will probably be worthy of "redundant" moderation by the time I hit the Submit button)... it ain't workin' as well as you think. Maybe the next article will be an explaination of what went wrong this time, and you can try again???

    1. Re:looks like they spoke too soon... by Anonymous Coward · · Score: 0

      Moderators on drugs again? A ignorant comment about one of their advertisers gets moderatored to a +5? That error was in an iframe populated by one of their advertisors. What does their advertisor have to do with them? Are you that clueless or are a clever troll?

    2. Re:looks like they spoke too soon... by juicy_pants · · Score: 1

      Actually, I can get to the site without errors. The first page I loaded took a good 4 minutes to show up, but after that page loaded, each page request has been loaded almost as fast as normal.

    3. Re:looks like they spoke too soon... by evilviper · · Score: 1
      An even better sequel:

      http://www.tomshardware.com/
      Article 3: Why We Hate Slashdot
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    4. Re:looks like they spoke too soon... by WDemon · · Score: 1

      At the bottom of each page, there's a number that seems to indicate the time they believe their server spent serving the page. Usually is says something like "2 ms" or "3 ms"...

      This time i've got "23331 ms" for the main page.

      If you look at the graf of distribution of hits from last time there were two maximums (possibly because of the time of posting). I would guess that today hits distribution has only one maximum and peaks much higher (though the total number of hits - distribution integral - might not be substantialy higher). That's killing them.

      I am *really* looking forward to their next article about server scalability. :)

    5. Re:looks like they spoke too soon... by Anonymous Coward · · Score: 0
      This time i've got "23331 ms" for the main page.

      That nothing. I got "247779 ms" for the home page!

  55. Re:6 per second.l by amd-core · · Score: 1

    /me hopes it will fall this time ;)) let's /. :)

  56. Flunking basic math might be one reason... by LilGuy · · Score: 1
    The stats could be a bit skewed.. it appears that they can't do basic math...

    our web application running in Java (including the HTTP server) was only consuming 20% of available CPU time, and all article requests were served in 4 milliseconds or less. Furthermore, our database was only at 7.5% CPU utilization. So, when the system was serving roughly 11 requests per second, the CPU was nearly 75% idle.

    According to my calculations it would be closer to 72.5% idle. Of course for you stat heads you always gotta allow for 3% give or take, so it works out for you, but come on, if you're going to post some stats, why not be as accurate as possible?

    Maybe I'm just crabby today I don't know.

    --

    You're nothing; like me.
    1. Re:Flunking basic math might be one reason... by Anonymous Coward · · Score: 0

      Maybe you missed the word "nearly."

  57. um... and now it's slashdotted? by redcup · · Score: 1

    can we say irony?

    --

    RC
    1. Re:um... and now it's slashdotted? by csguy314 · · Score: 1

      can we say irony?

      'the ironing is delicious.'
      - bart simpson

      --
      This is left as an exercise for the reader.
  58. Where's the dynamic content? by TClevenger · · Score: 1

    Tom's is bragging about their speed at serving "dynamic" content. The only dynamic content I see is the advertisements. If you have data that doesn't change for 10 or 15 minutes, of course you can cache it all on the web server side.

    Try to apply that to a site where content has to change constantly (DYNAMIC content, one would say), and see how caching speeds things up.

  59. Re:Time to break the record?-OR make it BURRRN! by cybercomm · · Score: 1

    only a 21% average

    Aaaah, the one that got away :)

    --
    Live for the present, learn from the past, and dream of the future!
  60. funny... by idioMac · · Score: 0

    Now that this article has hit, I can't access Ace's site...

  61. Note the time in the lower left corner of the page by Anonymous Coward · · Score: 0

    I clicked on the third page of the article and it was taking some time to load so I walked away and came back later. The page was loaded and the load time was "272790 ms". Can anyone beat that?

  62. repost by carpe_noctem · · Score: 1

    I would paste the contents of the page in this post, because their page is slashdotted at the moment...I think that would be a bit ironic, though. ;)

    --
    "Quoting famous computer scientists out of context is the root of all evil (or at least most of it) in programming." - K
  63. What performance? by Tar-Palantir · · Score: 1

    Scaling Server Performance my foot. They post an article about how they survived a Slashdotting and now the article is Slashdotted.

  64. Better get back to work ... by codepunk · · Score: 1

    It is not off line yet but it was not ready for the slashdotting. That box is slow as helllllll...

    --


    Got Code?
  65. How Long? by dakers27 · · Score: 1, Redundant

    until Ace's Hardware gets sued by Ace Hardware for trademark infringement?

  66. That performance is supposed to be impressive? by backtick · · Score: 2, Informative

    We have OLD Cobalt Raq3's (300 MHz AMD K6, 128 MB Ram, single IDE drive) running the latest Cobalt OS, and we JUST had one of these boxes get hammered this week; in a 12 hour period, it handled 625,000 hits (mostly CGI's, but it had a reasonable amount of static content), and at the same time handled 35,000 POP requests, sent 4,500 emails, and did some other random functions (and things like hostname lookups are enabled for weblogs, FTP uploads are happening for weather-wite webcams that were associated with the heavy traffic, etc, so there's obviously not a huge amount of "tune it till it's ONLY gonna do one thing" going on here). Now, the box was taking a whipping compared to it's normal load, but c'mon. I can't say the "Poor little 550 MHz UltraSPARC story" makes me tear up :-)

  67. muahhaha by Anonymous Coward · · Score: 0

    muahahaahaha ./'ed already!!

  68. The problem is dynamic content by ergo98 · · Score: 1

    Pretty much any server can serve hundreds, or even thousands of pages per second (I benchmark a basic PC IIS 5 server serving 17,000+ pages per second), but the problem comes with people turn what should be a static page into a dynamic page. The thought process usually goes like this "I'd like my news to all be dynamically driven so that I don't have to modify my files, but rather just add a new document as a CGI/ISAPI/Script served dynamic page!". This can bring even the largest server to its knees. Another poster mentioned GZIPping, and again this relates to dynamic content: If you have static content any half-decent compression module will cache the gzipped output until the source file changes. The solution, of course, is to find the perfect balance between them: Dynamic content that is statically cached for interval or on-demand periods, allowing your server to effectively server static content to the majority of hits while expensive page regenerations are minimized. Voila- Easy versatility and programmable functionality, but without the massive server requirements.

    I say this as a interested party as I design and implemented, and sell, a interval dynamic caching and automatic compression system.

    1. Re:The problem is dynamic content by pjrc · · Score: 2, Informative
      Pretty much any server can serve hundreds, or even thousands of pages per second (I benchmark a basic PC IIS 5 server serving 17,000+ pages per second),

      Have you ever tried a test where the clients kept their connections open for a reasonable length of time??

      In the real world, virtually all clients are connected via links ranging from slow dialup to 1.5 Mbit/sec. They hold connections open and tie up server memory resources for a lot longer than a fast-as-possible benchmark running on the same machine or over fast ethernet.

      Any server running on a single box is probably going to have trouble with 17000+ pages per seconds to modem users, who require many seconds to transfer the page. If the average connection open time is 2 seconds, that's 34000 open connections. Even if the server used only 32k of RAM per connection (barely enough to buffer a few packets and allocate "window" inside the TCP layer in the OS, and maintain OS-level info and buffering for the open file), that'd be over 1 gigabyte of memory. I suspect a combination of Windows (TCP/IP & file I/O), IIS, and ASP.NET uses a lot more than 32k per connection.

  69. OLD ARTICLE by mgkimsal2 · · Score: 2, Informative

    Tuesday, November 27, 2001 8:07 AM EST
    ------
    It was published over a year ago, and undoubtedly was based on their spring/summer 2001 trials. Even then this info wasn't revolutionary, and is even less so now.

  70. He's dead Jim. by rusty+spoon · · Score: 1

    Oh yeah, now it's burning. Burn baby burn.

    Seriously though, when we were testing our server components it happily handled 200 requests for dynamic content per second (not static images or HTML) without flinching.

    So I guess this is special because they used the wrong tool (java) to get a mediocre performance, woohoo! ... they deserve another taste of slashdot.

    I think they are just publicity whores looking for a bit more limelight.

  71. Stop the Presses... by CrayzyJ · · Score: 1

    ...they used this brand new technique called caching to improve throughput.

    Gawd, there are tons of papers about Web Caching and database caching. There are papers comparing the caches. This is hardly new or exciting.

    Heirachical Internet Object Cache. Danzig et al.

    World Wide Web Caching: Trends and Techniques. Barish et al

    High-Performance Memory-Based Web Servers: Kernel and User-Space Performance. Joubert et al.

    A Scalable System for Consistently Caching Dynamic Web Data. Challenger et al.

    --
    Holy s-, it's Jesus!
  72. HE IS RIGHT! by cybercomm · · Score: 1

    The page cannot be displayed
    There is a problem with the page you are trying to reach and it cannot be displayed.
    </I>

    Ummm did tey get their article shlashdotted? That is what you get when you brag! /. r00lz!

    On the more serious note i find it very interesting that the other article gave an average load of 21% whereas now they are somewhere in oblivion. Could this have anything to do with the timr that the article is posted? (IE: If they post it 9:00 PST or when majority os slahdotters are online and the first article they saw was this one?)

    --
    Live for the present, learn from the past, and dream of the future!
  73. Re:In Soviet Russia by calethix · · Score: 0, Offtopic

    Really? I thought that's what happened in the Matrix, not Soviet Russia. ;)
    You power 550MHz UltraSparc-II CPU

  74. different meanings of "dynamic" pages by Confuse+Ed · · Score: 4, Informative

    They've really simply discovered that dynamically generating essentially static content is a bad idea : the 'dynamic' pages they are talking of are just articles which once written stay the same, and so are serving identical pages to each user.

    Using scripting with database look ups to create such pages is obviously not good - much better is to compile your data in to static pages and serve those. I have done this for my own website using XSLT to generate the html pages with consistant links and menu's etc. - but you do have to remember to re-build it after making any changes or adding new content (I use gnu make to handle the dependancies of one page upon another so it doesn't rebuild the entire site everytime.)

    They've taken the alternative approach of still using a database for the requests, but then caching future requests for the same page-id's, which has the advantage of being compatible with their original dynamic generation system, but they don't mention how they handle the dependancy / cascading alterations problem if they change the content (though they could always flush the entire cache of course....).

    Neither of these approaches can help you though if you have real dynamic pages where every request is unique or there are are too many possible pages for caching to be feasible (for example amazon or google).

    1. Re:different meanings of "dynamic" pages by mark_lybarger · · Score: 1

      google i'll take, but i think that even amazon has a cachable amount of data. theirs probably changes once every day, though stock on hand could change more often. Vignette takes a similar caching approach, where each dynamic page can be cached on the webserver. you can have certain modules that are always dynamic or have everything static. once it's served up once, it saves the html and can reserve that same page again static.

    2. Re:different meanings of "dynamic" pages by greg_barton · · Score: 1

      They do change the content, and they do explain how.

      Read this page in the article.

      Specifically:
      The real beauty of these types of caches is that they maximize performance while sacrificing none of the site's dynamic nature. More traditional caching solutions implemented by HTTP servers might cache the full output of a given request, but this approach would be impractical where we need to customize the output to the user's specifications.

    3. Re:different meanings of "dynamic" pages by martindp · · Score: 1

      Another and perhaps better example would be, eBay
      Here caching of the e.g. last bid value etc. is a really bad idea.
      Sure they have lots of other content that is cacheable. Still their main feature is lists of 'products' and prices. Prices that are subject to change any moment.
      Sure one could argue that the page would be invalid the very second it is viewed in the browser, and any cash transaction needs to be reconfirmed anyway. But still it would be annoying/unuseable if invalid prices where more common than uncommon
      If you want to cache this kind of data, you can not cache it on the webserver (closest to the client). The (standard) webserver have no clue as to when data has changed. You'll need to cache them in the database (closest to the data). Here you will be able to build some sort of trigger event scheme to invalidate the pages, and force a rebuild of the specific page.
      This I guess is a bit more complex than keeping a hashtable of keys associated with pre-generated pages and a timestamp for when it was generated.

    4. Re:different meanings of "dynamic" pages by tshak · · Score: 1

      I've always implemented DB request caching by utilizing a cacheKey for that specific content. When that content is updated, only that single cached item needs to be updated.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    5. Re:different meanings of "dynamic" pages by radish · · Score: 1

      Amazon pages are personalised - my page is not the same as your page. Therefore, you can't cache (usefully) entire pages. What you can cache is individual pieces of content (the contents of some of the boxes on the page for example) - you still then have to assemble the overall page on the fly.

      This is what I do for a living, so believe me when I say it is less than straightforward ;)

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  75. yeah, its toast by andih8u · · Score: 1

    Can't get the page boasting about their server's performance during high traffic loads to pull up. Ironic or moronic?

    --


    slashdot, news for crazed liberal socialist zealots
  76. big difference between 1am and 2pm! by ledbetter · · Score: 4, Interesting

    I remember reading that original article, and yes, I was impressed at the responsiveness of the server. But before they are congratulated so much, consider this. The original story was posted on slashdot at 1AM.. so the initial spike of activity resulting from the linking being in the top few on Slashdot was directly proportional to the number of people on Slashdot at the time. As you can see from their graphs (if they're showing up for you) that traffic spiked, then continued on during the day.

    This time around, the link got posted at 2PM not 1AM, and so far as I can see, they handle this flurry of hits much less gracefully than the previous ones! There are a lot more people online at 2PM than 1AM (all arguments of nocturnal nighthawks and people in other time zones aside).

  77. Server performance in 1994 by Simon+Spero · · Score: 1

    By 1994 servers were capable of handing quite a bit more than 30/sec. Back in the old SunSITE days, my experimental Multithreaded Daemon For Multimedia Access (MDMA) could handle over 50/sec (exponentially distributed) even on an IPX running 2.3, and Netscape's server with pre-forking could easily cope with high sustained loads on appropriate hardware.

    Simon

    1. Re:Server performance in 1994 by LilGuy · · Score: 2, Funny

      I remember back in 1986 my Web-Enabled Elmo Daemon (WEED) was pretty lazy. But he sure could take hits. I think somewhere along the lines of 500 a day.

      --

      You're nothing; like me.
    2. Re:Server performance in 1994 by cpeterso · · Score: 1


      I remember back in '95 when my Accelerated Content Internet Daemon (ACID) was cool, but most people recommended that you not handle more than 1-2 hits every 8-12 hours.

  78. Not just slow but gone by abcxyz · · Score: 1

    Looks like they're gone completely -- All I'm getting are can't find server or DNS errors now. Looks like the web server is completely offline.

    1. Re:Not just slow but gone by Anonymous Coward · · Score: 0

      Perhaps they will get slashdotted for going offline from the excess load. How scalable!!! Java rules! NOT

  79. Wicked Irony by Yonder+Way · · Score: 0

    It is taking several minutes per page to get anything off of Ace's Hardware right now. Guess that server wasn't built so well after all.

    The sort of performance figures they are posting aren't very impressive at all, as evidenced by the current poor availability of their server.

    If you're going to do something, do it right. Go to eBay and get a Sun E3500 for cheap and quit dicking around with bottom end workstations and feeding us a line of crap that it is somehow able to withstand the /. effect.

  80. Hit != Page Request? by dietlein · · Score: 1

    Quote from article:
    Our traffic for the day totaled over 590,000 requests (hits), with over 250,000 of those being requests for pages.

    Since when does a "hit" not count as a "page request"? When I go to http://slashdot.org/, that is both a hit and a page request (for index.pl).

    Just wondering.

    1. Re:Hit != Page Request? by iggymanz · · Score: 1

      If you have a page with embedded images, calls to cgi programs, etc. the browser will make a request for each one....so one page might generate a dozen requests to the web server, for example. I'm surprised their ratio was so *low*...

  81. This site was /. for me by Anonymous Coward · · Score: 0

    Don't they read the feedback they get on /.? Their servers got nailed the first time. This has to be a troll.

  82. They seem to be having problems today by codeguy007 · · Score: 1

    I am reading the article but am having lots of trouble going from one page to the next (several minutes of time outs). I guess that just a little ironic. Are people trying to give them problems this time?

  83. I always wondered the rough numbers would be by iggymanz · · Score: 1

    for the "slashdot effect"....if nothing else, this article gives me a good idea of number hits / time period. My little domain's web server runs on a 70MHz sparc 5, and I wondered what it could take if only serving *static* pages (which most of mine are)........so if I put an article on there with a 100k or less page and submitted to slashdot...hmmmmmm, maybe

  84. dynamic content by g4dget · · Score: 1
    Reply pages are dynamically generated (as are many other pages on Slashdot). News content on a site like Aceshardware would be static.

    Even for dynamic content, it seems any reasonable web server should easily be able to generate half a dozen pages per second. Of course, it won't be able to if you do something stupid like put all your content into a database.

  85. Re: by Anonymous Coward · · Score: 0

    Oh wait on /. an hour or so, the same story will appear in time...

  86. web serving has become bloated by Jahf · · Score: 3, Informative

    Seriously ... the numbers aren't that great. I used to admin a DEC Alpha Digital Unix server running at a whopping 300Mhz and it routinely served over 1.5M hits per day along with email, authentication and accounting for over 5,000 people and we rarely if ever saw it over a 0.5 load average. This was 4 years ago.

    It's not apples to apples, since we weren't serving the same set of pages (we had around 500 personal homepages, each with a varied combination of static HTML, images and CGI programs) but honestly, if the numbers in this article are supposed to be impressive, we've grown too accustomed to web server feature bloat.

    --
    It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
    1. Re:web serving has become bloated by Anonymous Coward · · Score: 0

      Perhaps you should write a web performance article. I'd be interested.

  87. Thread-per-request model is a bottleneck by mmcshane · · Score: 3, Informative

    Queuing approaches have proven to be much more scalable in other areas - no reason to think it wouldn't work for web servers. Check out SEDA: An Architecture for Highly Concurrent Server Applications for a working implementation in Java that outperformed Apache [insert benchmark caveat here].

    More on event-driven servers that minimize data copies and context-switching here.

  88. Morale of the story by peterpi · · Score: 1

    If you have a really really boring story, it doesn't even matter if you put it on slashdot; your webserver still won't die.

  89. Who cares how long it takes for static pages? by pcraven · · Score: 4, Insightful

    Some static story pages? Who cares?

    It all depends if you are actually doing something of interest.

    Like the comments in Slashcode, most apps go from static, to dynamic, to static caching of dynamic pages.

    At DTN we served up customized portal pages to people with commodity and equity quotes, news, graphs, etc. Since they didn't have any money we had to use a load balanced Pentium Pro and a Pentium II. The app had no problem serving the load, and it was fast.

    Now that I work for companies that have money, our apps run really slow. Developers get expensive machines and don't know how to optimize any more.

    1. Re:Who cares how long it takes for static pages? by greg_barton · · Score: 1

      Obviously, you didn't read the article.

      Try reading this page

  90. Second this. by FreeLinux · · Score: 1

    I've complained about a *major* degradation in performance since the move but, all I get is modded to -1. Seems that it is unacceptable to question the Slashdot admins.

  91. 11 hits per second by thepler · · Score: 1
    I haven't read the whole article yet, but I saw this:
    So, when the system was serving roughly 11 requests per second, the CPU was nearly 75% idle.
    No offense, but 11 hits (or even page views) per second is literally nothing. I'm surprised that the box even broke a sweat.
    1. Re:11 hits per second by Anonymous Coward · · Score: 0

      Hear hear.

      11 page views a second is hardly an impressive "peak load". My paranoid "disaster recovery" mindset would kick in immediately if I saw our traffic dip to that -- especially last month during the holiday shopping frenzy.

      Our site also has a strict disadvantage compared to Ace's in that ours is very dynamic and database driven (ecommerce). A single page view at our site can trigger anywhere from 20 to 150 DB queries. We are able to employ multi-stage caching to greatly reduce the work our servers have to do for a lot of the content of the site. But you can't really cache much in the way of shopping carts, order checkout, etc.

      Even the content we do cache can only be partially cached, and that cache has to be refreshed frequently. For instance, a product's description doesn't change very often, but our layout/UI people may decide to push through new templates. Pricing information and in/out-stock have to be up-to-the-millisecond accurate.

      Special promotions that are time-restricted and/or alter content, and recommendations are not global things. We can't just pull out "product-X sale" content globally and slap it on a page. It may only be available to certain customers, or some customers may have other promotions that override those.

      And that doesn't even get in to the work that goes into account authentication, credit card processing, inventory management, statistical analysis/reporting, order fulfillment and so on. In addition to all the customers browsing and shopping at our site, we also have a tremendous number of automated jobs that work in the background around the clock to ensure that the humans have manageable workloads and that the company operates smoothly (and accurately on the financial side).

      So, not only do we have to deal with a significantly higher amount of traffic, but we have to do a large portion of it dynamically and that we do it without any downtime at all. More specifically, without any performance problems at all. If our site loaded as slowly as Ace's just was when I tried to read the article (it did actually load for me, but it took over 10 minutes before the first page and the graphics finished loading), we wouldn't have any customers. No customers == No money. No money == No job.

      Oh, and don't even get me started on the security and pin-point accuracy that is required, since we deal with other people's money.

  92. Hmm... by Anonymous Coward · · Score: 0

    Well, it too 45 second to pull up their site when I went to read it.

    Yack!

  93. Can you say... by Anonymous Coward · · Score: 0

    Karma whore?

    The fucking article is about how the server in question SURVIVED a Slashdot with no problem. Posting this is nothing more than an attempt to gain karma.

    I hope it fails.

  94. big freaking deal... by Anonymous Coward · · Score: 0

    big talk...but where's the proof? The server is totally /.ed.

  95. Wow, their magical scaling powers are rad by JasonUCF · · Score: 1

    The page cannot be displayed
    The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings.

    YHBT. YHL. HAND.

  96. Re:Jet Plane by Anonymous Coward · · Score: 0

    Oh man, that was funny :D Pity it'll get modded down by the time I've finished typing.

  97. Re:THE CRAPBOX SUN SHIT ISNT WORKING NOW by Anonymous Coward · · Score: 0

    Not hackable?!? If so, then why the hell do I get on average 1,500 request errors for "/htdocs/scripts/..%5c../winnt/system32/cmd.exe" on my "insecure" Apache install? Are you serious?

    Honestly, check your facts before you rant FOR Micro$oft....

  98. Masters of the obvious by Anonymous Coward · · Score: 0

    Ace's - A 500MHz processor is faster than four 125Mhz ones.

    Well, DUH. Its called Context Switching, idiot.

    Ace's - Oh, and web tier caching helps.

    Damn right it does - nothing slows a web site down like a network round trip to a database, not to mention the query itself, and I don't care what query you run, either, its going to take forever (in terms of web server response timescales)

    Boring. Wake me up when they actually have some interesting scalability discoveries.

    Perhaps they should wait until they have an infrastructure serving up one million mostly dynamic pages views per server per day for more than the odd day or two - how 'bout every day.

    Been there, done that, but you don't see me jumping up and down telling everyone how impressive it is to have a single server serve a quarter million mostly cached page views for a single day.

  99. Re: by Anonymous Coward · · Score: 0

    One ping only.

  100. The benefits of caching, not the headaches by Anonymous Coward · · Score: 0

    FWIW, the article shows you the possible benefits of caching, but totally avoided the headaches of cache management.

    For example, conherency of dynamic content. Sure you can cache it, but what if some of the database fields are changed while it is cached? A cache isn't really a cache in the strict sense of it, if entries are not somehow selected for discard when they are not as value-added as other entries could be. But these are more advanced topics that have already been solved and explained somewhere, someplace.

  101. This guy is funny by Anonymous Coward · · Score: 0

    First, his server couldn't handle the /.'ing this time, he even tries to sell us the pdf version of the text for 2 USD. I mean, wtf??

  102. Pshh.. I smoke more hits a day then that web serve by cp5i6 · · Score: 1

    though this one would be alot harder to beat :-P

  103. Not so impressive by autocracy · · Score: 1

    Notice that on their site the graph indicates that the page was linked on Slashdot at around 1:30 AM. Their actual peak traffic wasn't until 8 hours later. So instead of being truly hammered by the /. effect, they were able to watch it trail off through the day, probably with a lower number of hits than they would have had if, say, the referring article were posted mid-day. I suspect that if the refering link was posted in /.'s front page during a peak traffic time things would have been far heavier. Basically, as far as Slashdotting is concerned, this was probably a best-case scenario. How many people actually scroll down more than a fold's worth when reading /.? They probably missed out on a huge Slashdotting because of that. Lucky them.

    --
    SIG: HUP
  104. lol by Anonymous Coward · · Score: 0

    139692 ms load time at mainpage.. Otherwise i get dns errors :)

  105. static verus dynamic by Twillerror · · Score: 1

    Well I can't read the article because it has been slashdoted, but I wanted to bring up a point about generated pages versus static pages.

    Slashdot is db driven, but I believe that a static page is generated on an interval to deliver better performance. I'd like to see how
    well any site could perform if they regenerated every page each and everytime.

    I develop and support and large internal application that is highly database driven, in some cases we can cahce queries, but we always have to generate the page on the fly, just by the nature of the system.

    In this case the ways to improve performace is to cut back on the html outputed ( sometimes by limiting views of data ), have a cluster of servers to reduce requests per box ), and then optimize the crap out of every db request.

    On a side note it would be interesting to see how mySQL and Postgres compare to Oracle, DB2, and SQL Server under real world high stress sitatuions, my gut as a DB is that they wouldn't come anywhere close.

    I like Anadtech, but I just feel this is them touting themselves and really has no impact on most web developers. When you are serving mainly static content without any kind of real logic ( meaning you have to query a database, scroll though results, add numbers, determine who the user is, and generate all kinds of thing dynamically ) you don't really have any room to brag.

    Plus, why the hell are they using one ultra expensive Ultra sparc machine. You could get one box doing load balancing, get a bunch of cheap 1 ghz pIII boxes and smoke you ultra sparc.

  106. Thats a hit! by Anonymous Coward · · Score: 0

    ...completely destroyed.

  107. I have always wondered by Anonymous Coward · · Score: 0

    If a load-balanced site like this would survive a slashdotting. Anyone care to try?

  108. Hmmm, "Timeout on server" by Anonymous Coward · · Score: 0

    An error occured while loading http://www.aceshardware.com/read.jsp?id=50000347:

    Timeout on server
    www.aceshardware.com

    De Kameel

  109. Just caching queries? by dzeanah · · Score: 1

    I can't get the article to load past the second page, but it sounds like they've just got their web server configured to cache queries to the database so that it can respond without hitting the disk.

    Sounds like the same thing MySQL 4.x does. I'm running a site that generates all the content on the fly from a MySQL database, and the upgrade from 3.23.54 to 4.0.9 resulted in a situation where half of the queries that come in are anwered by the query cache, and I saw my server utilization drop from 1.5-2.5 to .3-.8.

    Significant and worth doing, but I don't know if their solution is all that special. Just upgrade MySQL. ;)

  110. Page two timed out for me. by paynter · · Score: 1
  111. this is all pretty obvious by consumer · · Score: 1

    He says you should avoid tying up database connections in processes that aren't using them. With mod_perl we do this by using a reverse proxy. You could do the same with PHP. He also says you should cache. Well, duh. It just seems odd how he puts this in terms of "Java saved us" when in fact these techniques are universal and any experienced developer would be using them by now.

  112. Nice Graphs! by Anonymous Coward · · Score: 0

    Does anyone know what piece of software was used to generate those graphs? I've tried five different open-source libraries and none looked that good. If I don't find something better, the boss is going to make us do our graphs by hand with Excel then upload them. Please help!

    1. Re:Nice Graphs! by Anonymous Coward · · Score: 0

      I can't be something open source, because they look good. Notice no one on slashdot had an answer in the seven hours since you posted. It's because good looking and open source don't go together.

    2. Re:Nice Graphs! by Anonymous Coward · · Score: 0

      good looking and open source? ha. youve come to the wrong place punk.

  113. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  114. hahaha!!!... sure dude... by Anonymous Coward · · Score: 0

    A windows95 comp with 30 HDs!??!.. Yeeeaaah.. riiiight!!...

    1. Re:hahaha!!!... sure dude... by Bert64 · · Score: 1

      But what would the drives after number 24 (Z) be called?

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    2. Re:hahaha!!!... sure dude... by Blaskowicz · · Score: 1

      did your hear about RAID?

    3. Re:hahaha!!!... sure dude... by Bert64 · · Score: 1

      Sure i did, and last i checked windows 95 didnt have very comprehensive support for raid hardware and no software-raid atall.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  115. Good Article by licketyspit · · Score: 1

    the only thing that bothered me about it was that they didn't bother to touch on any of the methods for speeding up access to the database when the queries actually need to be run every time, such as when the ResultSet isn't so static. Perhaps a method that was relatively inexpensive for determining if a resultset had changed since it was cached. I'm impressed with the stats, I'd really like to see how linux/sparc would compare to solaris on the same machine.

  116. How else? by yerricde · · Score: 1

    Of course, it won't be able to if you do something stupid like put all your content into a database.

    How is a developer supposed to design a Slash/Scoop/Nuke style board without storing the comments in a database?

    --
    Will I retire or break 10K?
    1. Re:How else? by g4dget · · Score: 1

      Store them in the file system, in a DBM file, in memory, or in an object database. Relational databases are overkill for most web applications and were never designed for that kind of use.

  117. The secret revealed by Anonymous Coward · · Score: 0

    Connection refused
    Just refuse excessive connections

  118. Their server is dead now... by gardol · · Score: 1

    lol...
    I love the /. effect.

  119. That's great, but it's down now by digitalgimpus · · Score: 1

    That's great that they handled being /.'d that well... but I can't reach them now...

    Back to the drawing board.

  120. Too Funny.... by ISPTech · · Score: 1

    "The operation timed out when attempting to contact www.aceshardware.com"

    --
    This space intentionally left blank.
  121. Ecstasy? by yerricde · · Score: 1

    Multithreaded Daemon For Multimedia Access (MDMA)

    First of all, did your "MDMA" web server support dynamic content at those rates?

    In addition, I always thought MDMA stood for 3,4 Methylenedioxy-methamphetamine, or "Ecstasy" for short. Was ecstasy around back in 1994 when you named your server?

    --
    Will I retire or break 10K?
  122. Yes, but we are back, stronger than ever! by Openadvocate · · Score: 1

    but we are back, stronger than ever!
    It's nice to see a article like that, just what I was looking for

    --
    my sig
  123. bandwidth by Anonymous Coward · · Score: 0

    Seems to me like bandwidth is the real issue. Not how fast a computer is. A relatively weak system can handle hundreds of hits per minute, but the bandwidth will be saturated long before the server reaches it's limits.

  124. Bandwidth? by gypsyx · · Score: 1

    They must have lousy bandwidth then. I can't get the page to ever finish loading. Just getting the initial HTML into my browser seems to take forever. I'm not impressed at all with their Java web server. I can serve pages faster with my NeXT Cube (M68040 CPU).

  125. They have a Sunblade 100. (nt) by Anonymous Coward · · Score: 0

    I said, no text.

  126. Dynamic web applications by Anonymous Coward · · Score: 0

    An excessive amount of PERL interpreters invoking simultaneously, for instance, can render a machine unstable. As thirty processes are attempting to interpret a script, countless others invoke simultaneously as queries are processed by the httpd. Meanwhile, a database server could be disconnecting the local clients as they "time out." The invariable result would be a poorly configured web server unsuccessfully attempting to process thousands of queries simultaneously. Upon logging in, a process requiring several minutes, the administrator would discover load averages of perhaps 100.00 to 150.00.

    Of course, one could theoretically employ mod_perl and optimize the httpd to minimize undesirable effects.

  127. Ace HW needs a clue by LunaticLeo · · Score: 3, Informative

    Ace's Hardware needs to research real servers before talking about their "scalable" servers. Their numbers are really saying that their box performs like a dog.

    For those of you interested in this topic here is a few pointers and words of wisdom.

    Server scalabilty and performance has three basic metrics, thruput (urls/sec), simultaneous connections, and performance while overloaded. Of course, you could add latensy but I'd argue that with the correct design latency is directly proportional to the real work you are doing, bad design insertes arbitrary waits.

    I know of a HTTP Proxy by a large ISP that does user authentications & URL authorization (re: database), header manipulation, and on-the-fly text compression at 3000 urls/sec for 2000-4000 simultaneous connections and maintains that performance under load by sheding connections, all this on a dual 1GHz Intel PIII box running a Open Source OS that starts with "L". That is a maximum of 260 Million URL/day, three orders of magnitude greater performance than Ace's Hardware stats.

    The simple answer to the question "How do I create a scalable fast network server?" is Event-driven GOOD & Threads BAD. Event driven network communication is two to three orders of magnitude better performing than thread/thread-pool based network communications. See Dan Kegel's C10K web page. That means you must use non-blocking IO to client sockets and databases. Once you accomplish that small feat, dynamic content just consumes CPU; with 2.8 Ghz Xeon processors you have plenty of cycles for parsing HTML markup or whatever. Threads cause cache thrashing, and context switching. While thread programmers don't see the cost in their code, just read the kernel code and you'll see how much work HAS TO BE DONE to switch threads. Event driven programming just takes some state lookups (array manipulation) and a callback (push some pointers onto the stack and jump to a function pointer).

    Desgin is FAR MORE IMPORTANT than which runtime you use (execution tree, byte code, or straight assembly). I have done some very high load network programming with Perl using POE.

    Python has Twisted Python

    Java has the java.nio and the brilliant event/thread hybrid library SEDA by Matt Welsch.

    I am also looking into the programming language Erlang which builds concurrancy and event driven programming into the language. Further, Erlang is used by some big telco manufacturers to great effect (high performance and claimed 99.9999999% nine-nines reliability on a big app).

    --
    -- I am not a fanatic, I am a true believer.
    1. Re:Ace HW needs a clue by PureFiction · · Score: 1

      Event-driven GOOD & Threads BAD

      But you failed to mention that for N-way SMP servers Event-driven + few threads == BEST.

      If you want to utilize the performance available in a multiprocessor high performance network server you actually need to use threads, although in this case each thread is handling a set of events. 2 threads per CPU max is a nice rough measure.

      This is the nasty little secret you fail to mention with the twisted python implementation - SMP will be underutilized.

      SEDA is very cool, but forces a particular granularity of messaging via the queues that I fidn annoying and can cause unnecessary work when it is hard to break processing of events into discrete stages.

      At any rate, threaded programming is here to stay. We just need to use it correctly (thread per connection is DEAD BEEF)

    2. Re:Ace HW needs a clue by LunaticLeo · · Score: 1

      But you failed to mention that for N-way SMP servers Event-driven + few threads == BEST.

      Agreed. My defense is two fold:
      1) Event-driven IO + a few worker threads is still requires the fundemental paradigm shift (ugh...yes I said it) to an event-driven state maintaining framework.
      2) In my post, I had already written alot and I just wanted to make a point about the fundemental design choice that leads to performance.

      SEDA is very cool, but forces a particular granularity of messaging via the queues that I fidn annoying and can cause unnecessary work when it is hard to break processing of events into discrete stages.

      I think you are misreading the SEDA design. Breaking a pipeline into logical stages is good design, but it doesn't need to be a deep pipeline and the stages don't need to be broken into even chunks (in terms of CPU usage). As an example, Apache is broken into approx 7 stages. They are something like url parsing, authentication, authorization, content handling, logging, and send response. The content handling stage is by far the biggest. In SEDA this fat stage would potentially accumulate more threads in it's thread pool.

      I think you've pronouced the death of thread-per-connection badness to early. Java just recently got the ability to do asyncronous IO in ver 1.4 . An nearly every book on C++ and Java teaches handling concurant sockets with "Just create a thread and ...".

      BTW, to utilize the performance available in a multiprocessor high performance network server with a single threaded event-loop program is not that hard. First, you start two event-loop programs. If you want to have only one TCP listen socket, instead of using and external IP load balancer, you can have one of the processes do the listening and pass accepted connections to the other process via a Unix Domain Socket. BTW, Apache does this. However, I still concider symetric multiple processes a variation on a single mult-threaded process (or vice versa).

      --
      -- I am not a fanatic, I am a true believer.
  128. Slashdot Handles It Better... by suwain_2 · · Score: 1

    What I find much more interesting than this article is the way Slashdot handles the massive load. I might be a little off, but I believe Slashdot essentially has the main page updated every minute (five minutes?), so if you just load the main page, you're getting a static document, which is *much* faster.

    I've always thought more sites should do this. Why not have the pages you can get away with be static (updated every couple minutes for a 'real-time' feel), and only have the pages that need to be dynamic be generated on the fly? I was playing with ab (the Apache benchmark tool) on one of my computers, and I couldn't believe the difference -- loading a static page, I got something like 100,000 hits (I don't remember the time period); PHP got about 5,000 (unknown, but same as previous, time period). My numbers could be off, but assuming they're not, it would be 20x more effective to have the page generated every few minutes and saved as a static page, at least for high traffic sites. (For low traffic sites, this could probably consume *more* resources...)

    --
    ________________________________________________
    suwain_2 :: quality slashdot p
    1. Re:Slashdot Handles It Better... by vanguard · · Score: 1

      I'm also interested in /. but I don't think they serve to much purely static content. I know that my home page is customized for me. I know that a lot of people choose which topics they are interested in.

      Yeah, there's something static about it and they aren't doing a select count(*) from whatever to display how many comments people posted for each page hit but to call it a static page would be off target.

      Vanguard

      --
      That which does not kill me only makes me whinier
  129. Can you run, say slashdot or ebay with static? by ParamonKreel · · Score: 1

    You could read in your comment file everytime and then push out a new comment html file each time a comment is made. That woudl be static, but that would be a pain in the ass to write when databases alread exists, and it won't scale as well as a database either.

    They're showing how to make DYNAMIC content scale. Who cares if you can read from disk faster than you can push it down a pipe, that's just a different version of NFS. What they're talking about is how to make somthign worthwile scale, such as say how ebay makes their dynamic auction information scale by caching the listings and keeping the actual auction pages updated realtime. Dynamic is much more powerful and interesing and thus is a good topic for examniation and discussion, i.e. "Stuff that matters."

  130. 4 ms? by suwain_2 · · Score: 2, Interesting
    The load time, copied-and-pasted, from the bottom of their site:

    138974 ms

    A little over their 4 ms goal. Specifically, 138,970ms.

    --
    ________________________________________________
    suwain_2 :: quality slashdot p
  131. allmusic get 2.3 Million hits a day on one box... by cherrypi · · Score: 1

    Allmusic.com runs off a single box using M$ and an ISAPI DLL to deal out the pages against a Foxpro database. We have the largest implementation of Foxpro known, lol. 2 mil ain't bad for an M$ setup. In fact, it's probably some sort of record!

  132. Summing up the article. by shurdeek · · Score: 2, Interesting

    Basically, the whole article has 1 message: you should cache stuff. I couldn't agree more. Why doing a database request every time a page is hit? Even if you're going to show the same information say 1000 times? By combining dynamic and static elements, the "server load" part of the slashdot effect can be eliminated, I think slashdot also does this, but differently.

    Obviously, if you don't have enough bandwidth, you are screwed anyway, but usually it's the server load that is the problem.

    MfG shurdeek

  133. Bandwidth is a bottleneck too by Anonymous Coward · · Score: 0

    The server isn't down right now but it takes a lot of time to load. However, at the bottom pof the page I can see that it took the server only 3 milliseconds to build the page.

    Thus, the botleneck right now is their Internet bandwidth!

  134. Already Slashdotted .. by denisbergeron · · Score: 1

    It's friday :-)
    They really don't want to post an article like this one on a friday !

    --
    Ceci n'est pas une Signature !
  135. It's the pipe, folks. by aussersterne · · Score: 3, Insightful

    As a bunch of people have pointed out, it is unlikely that the /. effect is a matter of "crashing" servers. It is much more likely that most of the "slashdotted" sites on the front page on a given day involve a server which is doing just fine and a bandwidth pipe which is seriously about to burst.

    You can saturate most any small-business-affordable pipe with a Pentium classic machine as a Web server. Or to put it another way, there's no point sticking a dual-P4-Xeon Web server with 4GB memory and a RAID-5 on a DSL line.

    The computer I'm using right now (a PIII system) could run Apache very nicely in the background and would likely survive quite a hitrate without too much trouble. But if even just a few thousand people were to hit it all at once, there would be a traffic jam, some people wouldn't get served, and the ISP would probably close me down, because I'm only sitting on a 256k pipe.

    --
    STOP . AMERICA . NOW
    1. Re:It's the pipe, folks. by drunkenbatman · · Score: 1

      i'm kind of curious about the size of my pipe... ie, i've put up a 30 meg movie of zooming around in OSX's accessibility features for a friend, how many people would have to hit it to really hurt the server? It's at:

      OSX_zoom

      If you've got a decent connection and don't mind curling/downloading it, it'll give me a better idea of the load it can handle before i start putting up different .mov tutorials for people over the next month.

  136. Great article... by JemalCole · · Score: 1

    ...Too bad the server keeps timing out. (No, really!)

  137. still impressive, since they're back up by m0i · · Score: 1

    Whatever you can say about them being slashdotted, they are apparently squeezing the max out of their box, the site went down while they did some tuning and it's now back online; according to the article, they were allocating only 1GB out of 2 available for their current needs; probably that they had to use the whole 2GB to survive /. So, kudos to them, they survive at peak time, with a few links from slashdot frontpage. Time to finish reading the NSF (not so f..) article!

    --
    have you been defaced today?
  138. So by putting 5 links... by JHelgie · · Score: 1

    You intend to get that number up to 105%?

  139. big hairy deal... thttpd does this by Lumpy · · Score: 1

    The best attack is thttpd's bandwidth throttling.. I have seen thttpd take a sound pounding serving pages and it heppily throttled back everyone to a dull roar. BUT serving a nice steady 30 pages a second is nothing... when you get 90,000 requests a second in bursts, espically when the story first hits the front page...

    Nothing but a gigabit ethernet connection can even come close to handling that.. and last time I checked a T-1000 line was not an option on internet-1

    --
    Do not look at laser with remaining good eye.
  140. Greenspun on scalability by Anonymous Coward · · Score: 0
    From philg's oracle page:

    Inspiration: http://www.scorecard.org. This is a server that gets 30 requests/second at peak hours (it was a top story on ABC News, in Newsweek, in the New York Times, etc.). Each request does between 1 and 5 Oracle queries. It just about uses up an old pizza-box size Unix machine (Sun Ultra 2 with dual 167 MHz CPUs). If you use Oracle 8 intelligently (and connect to Oracle 8 intelligently; we use AOLserver), there is no scalability problem for Internet sites (though you can create one and increase your job security by purchasing an application server).

  141. Second time lucky! by BesigedB · · Score: 1

    It the images are not loading (reliably), the pages come out slow, but the generation time (bottom left) has never been over 3ms. Perhaps its a bandwidth problem they have.

  142. Ace Hardware is old news. by Anonymous Coward · · Score: 0

    Home Depot kicked their ass a long time ago.

  143. here's my java web app server optimization tip... by Anonymous Coward · · Score: 0

    avoid full table unindexed queries in your log.debug () statements.

    Or comment them out when you go live.

    (yes, I really did this. I had a million hit/day site that was swamping 1.5 e450s. After a couple days I realized I had some debug logging still in there that made unoptimized queries. After commenting them out, it only needed about 10% of an e450 to handle a million hits/day. Doh!)

  144. Good thing they weren't running DotNet by ispel · · Score: 1
    You may not disclose the results of any benchmark test of the .NET Framework component of the OS Components to any third party without Microsoft's prior written approval.

    - DotNet Framework Runtime EULA
  145. Time to clean up your closet. by twitter · · Score: 1
    I saw a report about a 200Mhz (?) PC running Windows 95 and with about 30 hard disks, that also seemed to do very well under the /. effect.

    and then you woke up.

    Geeze, I actually responded to a slashdotting troll. What a waste.

    --

    Friends don't help friends install M$ junk.

    1. Re:Time to clean up your closet. by ites · · Score: 1
      Actually, no troll. This is the real thing, only I was off - no 200 Mhz but 120 Mhz.

      Date sent: Wed, 02 Oct 2002 10:03:09 -0500
      From: Dave Cole ...
      Subject: Slashdotted Xitami server
      To: support@imatix.com

      I run Xitami on a little p-120 win 95 server at my house. last night
      it got posted on slashdot It has since the slashdotting been
      subjected to an incredible load 96,000+ hits and 1,451,000,000+ MB
      outbound in 12 hours and is still going strong! this speaks volumes
      about the stability of the xitami server. You have a great product.

      The address of my Xitami server. http://fileserver.coleskingdom.com/

      The slashdot article that lead to the traffic jump http://slashdot.org/articles/02/10/01/0220213.shtm l?tid=167

      --
      Sig for sale or rent. One previous user. Inquire within.
  146. CPU bound==something very very wrong by rufusdufus · · Score: 2, Informative

    This story is dopey. If you have a web server and it is hitting a CPU bottleneck, you have done something wrong.

    Ok, if the server actively plays chess against a hundred people, I'll let you be cpu bound.

  147. Caution buying the pdf by chworktap · · Score: 1
    I actually bought the pdf (for $2) but their server, which had no problems when it was taking my money, hasn't been able to actually give me the document yet!

    Brian sent me the pdf in the mail, though -- so don't be afraid to buy it :-)

  148. How many per second? by steveha · · Score: 3, Informative

    They said that the peak load was 11 hits per second, with 4 pages being served. They also said that their CPU was 21% loaded to serve this much traffic.

    This says nothing about what they can serve under ideal conditions; this is what they actually served up during an actual slashdotting. If you want to max out their server, you will need to get more /. readers to hit them all at once, or perhaps they need a bigger pipe connecting them to the Net.

    Read the article; on ApacheBench with one particular page they tested, the server tested out at five dozen pages served up per second.

    I don't know about you, but I was somewhat impressed by all this. A $1000 Sun does seem to have been a wise choice for them.

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  149. AOLserver can easily beat this... by Anonymous Coward · · Score: 0

    Using a combination of AOLserver and OpenACS (http://www.openacs.org/) I have seen real world performance, on lesser hardware, greater than this, about 9 pages per second with 10% CPU usage. And yes, this is using a dynamic, db-backed page.

  150. punch cards... by zonker · · Score: 0

    i store all my data on punch cards and keep them in a cardboard box for easy retrieval...

  151. I am sorry, but this is really just not impressive by bloxnet · · Score: 3, Insightful

    I hate to do this, and get into some kind of "look at my l33t skills" type thing...but seriously, those numbers are just nothing to be impressed with. As several people have pointed out, usually the limitation on a well configured server is the bandwidth available. I have a buddy who runs a few adult sites, and I go ahead and keep his machines updated, optimized, etc, etc. On one web server alone, with simply rebuild Apache with a higher HSL and streamlining only essential services this *one* server is handling an average of 16,000,000 hits per day. (avg approx. 16,000,000 hits, 5,000,000 pageviews, 450,000 unique visitors per day). In fact, only last month did we set up a separate database server in anticipation of him getting even more traffic (I wanted to separate the web server from the db server esp. if we were gonna move to load balancing)...even still the cpu load was consistently low and the site was/is serving dynamically generated content (php) and is all driven by a mysql content management system. I have yet to even max out the usage of the server and do some ulimit type stuff or hard adjustments via kernel changes.... so what is the big deal about this article. I think it would be good to put up an article about how to optimize your web servers both in layout and actual configurations to allow for Slashdot levels of traffic. I doubt this will happen, just as the mirroring content on featured stories to help ease bandwidth or other similar suggestions. The saddest part is that once you spend the time to really optimize a machine or machines...it takes far less time to maintain them.

  152. So we /.'d their UltraSparc box... by Dirtside · · Score: 1

    After what we've done to their server, Looks like the Sun is a mass of incandescent gas, after all :)

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
  153. Content expiration by ttfkam · · Score: 2, Informative

    This is why people should set an expiration time on their static content. If, for example, I set up the images to expire one hour from the access time, multiple visits to the page (and images shared between multiple pages) would only be requested once. An ISP's proxy servers down the chain would only help in this regard.

    In addition, for static content, "LastModified" is easy to compute. Clients can request a page, send an "If-Modified-Since" header with the timestamp of the static item, and if the item hasn't changed, return a 304 response and no data.

    The same can be done for dynamic content, but it requires a bit more work. Most web servers do these things for static content out of the box.

    As was said in the article, the fastest request is the request that never has to be made.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  154. So, Caching is good. by Anonymous Coward · · Score: 0

    Yes, all programmers can tell you that.
    What all programmers can't tell you is when do you update the cached data, especially when the data is dymanic.

    I read the entire article and all I saw was "cahce is good, cahce is good" but not a single mention of the issues involved with caching. /dev/null

  155. Brooks's Latin? by Anonymous Coward · · Score: 0

    You know, I wondered why he kept using Latin phrases in class.... Fortunately I've now had enough to follow along.

  156. Covered in the article by ttfkam · · Score: 1
    In the Ace's Hardware article, they benchmark their Java-based web server against Apache 1.3.x and Apache 2.0.x. The Java-based server, Resin, beat Apache easily.

    As for heavily threaded apps, no leading Java servlet container/web server uses a 1:1 model of request to threads: not Tomcat, Resin, Weblogic, WebSphere, nor Jetty.

    Queuing approaches have proven to be much more scalable in other areas - no reason to think it wouldn't work for web servers.


    Too late. It's already been done for months now. As JDK 1.4 comes into greater use, you will see more and more of these offerings using non-blocking I/O (read: event-driven) as the default HTTP handling method.
    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  157. Alright comment - except for that last bit. by Anonymous Coward · · Score: 0

    Um, a Sunblade 100 cost about
    a thousand dollars three years
    ago, as I recall. I don't think
    that qualifies as "ultra expensive".

    How much would your "one box
    doing load balancing, get a bunch
    of cheap 1 ghz pIII boxes" cost?

  158. Not the same by ttfkam · · Score: 1

    If memory serves, Slashdot has a small farm of boxes -- multiple boxes dedicated to Slash and a couple dedicated to MySQL.

    Ace's Hardware runs on a single box whose hardware is slower than any one of the Slashdot boxes.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  159. I/O Bound by ttfkam · · Score: 1

    Most sites aren't CPU bound; They're disk I/O or memory bound. Once you exhaust RAM, you swap to disk, and performance drops precipitously. Once the database must read/write to more sectors than can fit in RAM, page faults ensue, and performance drops precipitously.

    Their solution not only saves CPU, but I/O workload as well.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  160. Caching Makes Things Faster by eGabriel · · Score: 2, Interesting

    The article pretty much said two things:
    -- Caching objects saves a database hit and makes things fast.
    -- Resin scales better than Apache.

    That's great and everything, but it really doesn't help anyone else. Ok, so now I want to apply this object caching to my own application. Where does this cache live? If I'm not running Resin, then I guess every apache process has one. How do I handle dirty objects which need to be written back to the DB? What if they have been dirtied in two different processes? If I am using some sort of service external to the web application to do the caching, how fast is that? Faster than the database? Perhaps, but now it has to scale too, and it STILL has to consult the database, only for writes, which are worse than reads.

    This happened to work for their application, but in order to be applied more generally, it needs lots more explanation.

    Any object persistence mechanism which is smart enough to handle caching in a read-write system with any level of configurability is going to be a large, complicated piece of software itself, and will have its own issues to bring to the table.

  161. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  162. What about the OS? by nemaispuke · · Score: 2, Insightful

    I have read both articles from Ace's Hardware about how they built their "killer" web server. And in all that talk about the server and the applications that run on it they make no mention of what they did to the OS and the machine itself other than putting faster drives in it. They show an Ultra 30 as a server running a GUI, if I wanted "killer" performance CDE would be the first thing to go! They also don't mention any tweaks to improve system and network performance (and there are a few I can think of). Hell I'm willing to bet they didn't change the jumper setting on the Blade to get the memory to run at 100 MHz over the default 84 MHz as shipped! they also don't do anything like multipath or trunk network adapters (which you could easily do with Solaris). It looks like they took a machine out of the box, did a default install of Solaris, loaded applcations and "plugged it into the net"! I wonder how much better their performance would be if they tuned their server like Colin Bitterfield (of Sun Microsystems) did?

    1. Re:What about the OS? by Hyped01 · · Score: 1
      Hi,

      Keeping in mind I havent read the actual article, two things I can think of that at least pertain to your comments... (1) I've seen a web server that was pretty much a boot loader and a web server that included it's own (though limited) network and file i/o routines. So, though I dont know about this particular case, it's possible to make one that doesnt run on an OS. The UI was text based but "graphical" (ie: status bars, etc - sorta like the old "graphical" text mode PC GUIs). (2) a GUI doesnt slow down a decent web server noticably (assuming the machine wasnt borderline maxxed on CPU or RAM). It's the usage thereof that determines whether that GUI is a problem. I use Lotus DominoGo Webserver and though it is a GUI app, I've yet to notice any measurable difference between having it log to the GUI (in an ever expanding selection box) or not. In "dont log to gui" mode, it just updates the # of connections served, current, and kb sent about once a second. (Regardles, to date I havent found any web server that is faster, even approaching 1/4 of it's 4,000 connection per CPU limit).

      - Rob

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

  163. Alert! by Anonymous Coward · · Score: 0

    root@aceshardware.com> message from "system" on Fri Jan 17 @ 11 pm:

    Server on fire.
    Connection terminated.

  164. In Soviet Russia... by Anonymous Coward · · Score: 0

    The server slashdots YOU!

  165. File systems are databases too by yerricde · · Score: 1

    I did the site with no database whatsoever. Articles were stored in one XML format on disk, comments another.

    So in other words, you stored the XML files in a hierarchical database called a "file system". Assuming one comment per file, how did you handle the half kilobyte of non-gzipable HTTP overhead that each XSLT-driven comment view incurs?

    Assuming multiple comments per file, how did you handle locking the comment file so as to ensure that only one server process writes to a given file simultaneously?

    --
    Will I retire or break 10K?
    1. Re:File systems are databases too by TobiasSodergren · · Score: 1

      Enterprise database servers often has internal file system routines that bypass the operting system, to optimize the disk access and ensure that no data can be lost due to file system caching. At least on operating systems supporting raw devices.

  166. Different kinds of databases by yerricde · · Score: 1

    > How is a developer supposed to design a Slash/Scoop/Nuke style board without storing the comments in a database?

    I said "a database". Keep in mind that there are four main models of database structure: ad-hoc flat files, hierarchical, network, and relational. Here are some methods you suggested:

    Store them in the file system

    That's a hierarchical database, with keys called "paths" and "filenames". Some Wiki implementations do this, and I can see how it would work in a Slash clone. Here, the file system has to provide an atomic way to generate a new key. (mkstemp() is atomic; mktemp() and tempnam() are not.)

    in a DBM file

    "Data Base Manager"? Isn't much of MySQL just an SQL frontend to DBM?

    in memory

    Relying on memory as the main store of data fails the D (durability) in ACID. However, use of memory as a cache in front of a filesystem does provide useful gains.

    or in an object database.

    I'm not too familiar with object databases. To me, they seem to map the "network model" into a programming language's syntax. Right?

    Relational databases are overkill for most web applications

    I'll agree that heavyweight SQL databases are overkill for many uses that they're put to. Heck, the name "Oracle" almost sounds like "Overkill".

    --
    Will I retire or break 10K?
    1. Re:Different kinds of databases by g4dget · · Score: 1

      I think from context and common usage, you can figure out that by "database", I was referring to "relational database like MySQL, PostgreSQL, Oracle, or DB2". If you couldn't, welcome to the real world, Data.

  167. Re:Taco what the fuck? by Anonymous Coward · · Score: 0

    way to waste the -1 offtopic on an AC you fucking kraut

  168. Some of you are Missing th BIG Picture! by buttkick · · Score: 2, Interesting

    It's not about hits per second, it's about efficiency, and I think he (Brian I guess) did it very well. Some stupid idiotic slashdotters say, my servers handle this and that, but the point is, HOW MUCH DOES IT COST? HOW MANY MACHINES DOU YOU NEED? WHAT OS YOU WILL USE? WHAT'S THE BANDWITH SPENT? Let's not forget also the attitude to optimize the content to the modem users, well they also need to be taken in consideration. About the cache use, very intelligent, WE USE CACHE EVERYDAY all the time. Let's use it with efficiency. The 2 points where maybe some people are missing are, APACHED WAS ASS KICKED in the ass by this server RESIN, honestly I've never heard of it, I'm off web development since a long time... and PHP and APACHE can't be a good combination when things get ugly, and you need scalability. That's what I think was the most useful information, along with the IPC info. Well I'm impressed, It loads fast for me and I have a Half T1, so I could se if it was slashdotted, like somebody said, if /.ed it's a bandwith problem, never the CPU SETUP. Kudos to Solaris with it's threads and Sun servers(Blade isn't even a server!! IT's a workstation) with it's architechture. And I tought JAVA was slow, maybe for other uses, but in web development, it seems to be the best option yet.

  169. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  170. /. measure of the /. effect ? by frx · · Score: 1

    Talking about the /. effect, I think it would be amusing to have the /. clickthrough data displayed as a graph (e.g. clickthrough/min over time) for each link in a story (at least for the links in the initial story).
    One usage of these graphs would be a popularity measure of the stories over time.

    --
    --f
  171. blade machine by Anonymous Coward · · Score: 0

    It is the blade machine, and it caused a bit of controversy on Aces' forums when it was chosen. Something along the lines of, "Why buy that piece of junk when you can get a PC that is at least equal in every way, and better in many, for less money?" The response was basically that he had good experience with Sun machines, trusted the build and support quality of Sun more than a cheap PC manufacturer, and thought that Solaris was more mature than Linux. I believe he has stuck with the stock configuration; no expensive SCSI disks. Aces' runs a tight ship, but they are a couple of hobbyists with not much money to spend on it.

  172. very impressive for a server that runs on java by Utopia · · Score: 1

    I am surprised that java performs so well.
    However they seems to be limited by their bandwidth.

    PS: My site runs on a 700 MHz 4-proc Pentium III with Win2K, ASP.Net & SQL Server 2000.
    Cached Pages Perf is 0.15 ms
    Dynamic Page Perf is 20 ms

  173. They discovered connection pooling, and caching... by malakai · · Score: 1

    While i'm happy for them, this wasn't exactly rocket science. I'm surprised they had to roll their own connection pooling. This is standard in ASP/ADO apps and the new .Net apps. Caching the data is routine code you will find in most highly concurrent dynamic sites. Though, "caching" now adays goes a step further, generally XSL is used to build the page, and the result of the first XSL transform is cached to the file system. Some pages then go ahead and allow for an optional 2nd transform which puts in _very_ dynamic content, which can be shed/loss in the event of a traffic spike.

    All in all, i agree with 90% of the posts, preventing a slashdotting is more about bandwidth then software/server performance. Yes, obviously hacked togeher asp/php pages that open and establish a connection to the database _per_ page will prolly die before bandwidh, i think even the newbiest of programmers recognize this nowadays.

    This article made me yawn, but i bet we just paid his operational cost via add impressions for the new 5 months.

    -malakai

  174. Last Post! by alpg · · Score: 0

    Each of these cults correspond to one of the two antagonists in the age of
    Reformation. In the realm of the Apple Macintosh, as in Catholic Europe,
    worshipers peer devoutly into screens filled with "icons." All is sound and
    imagery and Appledom. Even words look like decorative filigrees in exotic
    typefaces. The greatest icon of all, the inviolable Apple itself, stands in
    the dominate position at the upper-left corner of the screen. A central
    corporate headquarters decrees the form of all rites and practices.
    Infalliable doctrine issues from one executive officer whose selection occurs
    in a sealed boardroom. Should anyone in his curia question his powers, the
    offender is excommunicated into outer darkness. The expelled heretic founds
    a new company, mutters obscurely of the coming age and the next computer,
    then disappears into silence, taking his stockholders with him. The mother
    company forbids financial competition as sternly as it stifles ideological
    competition; if you want to use computer programs that conform to Apple's
    orthodoxy, you must buy a computer made and sold by Apple itself.
    -- Edward Mendelson, "The New Republic", February 22, 1988

    - this post brought to you by the Automated Last Post Generator...