AnandTech: A Brief History of Time
by Jason Clark on July 26, 2004 6:52 PM EST- Posted in
- IT Computing
AnandTech 2.0
We decided that Solaris and Oracle were not for us. Not because either one was slow, but simply because the combination of ColdFusion and Oracle was not working out for us. Yes, we could have gone with another language, but we weren't very fond of the choices at that time, and our expertise was in ColdFusion.After doing some basic mock ups and tests, we ended up using Windows NT 4.0 and ColdFusion 4.5.1 SP2, which was rock solid for us. The content management solution didn't change much in this release of the site; we just spent some time re-writing some of our SQL to optimize it for the SQL Server platform.
Our site, and sites like ours, rely on advertising revenue to keep it alive. We had been using Ad Juggler for awhile (a Perl based package at the time) and it was starting to show its weakness as load was increasing. We decided to go with a ColdFusion based package called FuseAds, which we still use to date.
Hardware used in version 2.0
Dual Intel Pentium III Xeon 500 w/1MB L2 Cache and 1GB of memory.
View version 2.0 of the website
AnandTech 3.0
Just like our hardware coverage, our infrastructure is current. Windows 2000 was released and was miles ahead of NT4 in terms of manageability and stability. We waited until Service Pack 1 was released, and then upgraded the servers at approximately the same time when Macromedia acquired Allaire (the makers of ColdFusion), and released ColdFusion 5, which included some serious performance increases and stability improvements. The upgrade went well, and again, we had no issues with the site or the back-end.Since the beginning, we had been using Mediahouse Live Statistics Server to analyze our web logs. We were generating nearly 1GB of logs per server, and we were starting to experience some problems with Statistics Server because of the amount of logs being analyzed. We decided to switch to analog, and write a web-based front end to it. We would analyze the logs into a data file and put it in our database for easier manipulation. This system worked quite well for some time, until our log files became unmanageable.
Bandwidth during this period of our growth was fairly expensive, and was starting to cost us significant amount of money to maintain. The HTTP 1.1 protocol had included an innovation called HTTP Compression. Since it had been out for awhile and was supported by over 90% of our readers browsers, we decided to implement it. We cut our bandwidth in half, which, needless to say, had cut our expenses by a significant amount. This version of the website was the longest running version.
Hardware used in version 3.0
5 x Dual AMD Athlon Thunderbird 1GHz w/ 768MB of memory
View version 3.0 of the website
67 Comments
View All Comments
PorBleemo - Wednesday, July 28, 2004 - link
vda #30:You forget that their servers are a little more powerful then 166Mhz.
JasonClark - Wednesday, July 28, 2004 - link
felix,No where in the comparison did we say the performance comparison was CF vs .NET, well aware that there are some differences in page layout along with architecture. The comparison was the old site to the new site. For us to do a fair comparions the code would have to be quite similar, and even then it is still not apples to apples. Overall, platform, css and a re-architecture of the site brought us some large gains (as illustrated).
Yes we had already invested in licensing, but with some JRUN related issues that went unresolved, and the cost of future licensing .NET was a better choice for us.
RAD is great, but honestly with Visual Studio 2003, the argument isn't as great as you might think.
fbaum - Wednesday, July 28, 2004 - link
Hey ho...
Just noted that your interface from pure HTML to CSS doesn't really result in an apples to apples comparison of cf to vb.NET performance. No matter how you slice it, larger pages = slower rendering site. Taking down pages from 130K down to around 45K in HTML would yield huge performance gains without changing your app server, and wouldn't have required you to redevelop code, just presentation.
Got to agree, the VS IDE is slick. But I'm a RAD fan and a cf fan, I like having useful builtin functions to call upon, and .NET coding sometimes makes development that should be easy harder than it should be.
Why rewrite? Your server licenses are already bought, right?
Disclaimer: my email address ends in @macromedia.com, consider my comments accordingly
-Felix
kenny4269 - Wednesday, July 28, 2004 - link
Nice article, always interesting to read behind the scenes stuff.vda:
I work as a computer tech and have one thing to say about Windows. Outside of the security holes (which ANY OS can have), most Windows problems are caused by the user. Keeping up to date with patches, antivirus, not opening attachments, etc. all all things that MUST be done on ANY OS (open source or not). If you download BonziBuddy on your Windows PC or some poorly written Linux app, you can still have problems.
Don't get me wrong, I like Linux, but don't tell me it's perfect choice for everything just because it's open source.
JasonClark - Tuesday, July 27, 2004 - link
sonixDivx, the performance gain was a combination of our new layout (removing the news), and the architecture of our .NET version. But, the way we wrote the .NET site is similar to writing a ColdFusion app with CFC's as the backend, very similar. I'm not sure we'll do a comparison of the two, since the two sites are fairly different in layout and content.Cheers
JasonClark - Tuesday, July 27, 2004 - link
vda:What happens when a 18 year old genius has the source code to the operating system that your entire system architecture relies on? Then exploits a vulnerability in the source code (yes unix developers make mistakes, enough that redhat network sends out a constant stream of e-mail :)).
Then that exploit (which was easy to find as you had source code) takes your network down and costs you thousands every hour? There is another side to the open source argument, I'm not saying I don't believe in the movement, but your argument is one-sided.
BTW, the registry has never been corrupt for us, and that's what emergency backup disks are for btw, I certainly hope you don't run linux assuming it will never break :).
Phiro: we use Linux Virtual Server (vda are you reading this? LINUX virtual server :)). We use 5 web servers run the site, we could run off of 1 except on extremely busy days. We like redundancy.
vda - Tuesday, July 27, 2004 - link
> In regards to linux, our expertise lies in windows and it hasn't given us any grief what so everProblems do happen with every OS. Now, when Windows hangs on you, what do you do? When registry got corrupted, what do you do?
Nothing. You can do nothing because you have no source of the damn thing. You have next to nothing in regard to debugging facilities. No strace. No gdb. No kernel debugger. Disassembling stuff is
possible but illegal.
It does not matter for "yesterday's advanced user"
style admins and web designers, for they are Gates' target audience.
For me, it does matter.
vda - Tuesday, July 27, 2004 - link
> Code is as bloated as the developer makes it, experience, experience...Hehe. Our corporate Internet gateway have
lots of stuff. Tons of network utils
(nmap, mtr, tcpdump, iptables, traffic shaper)
and services (*transparent chaching web proxy*,
www, mail, secure ftp, DNS server, DNS cache).
It runs on Pentium 166 and 40Mb of RAM.
Try to install Windows NT on that.
--
vda
vda - Tuesday, July 27, 2004 - link
I once said this:'What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall.'
To my surprize, it even propagated into some .signature files :)
Aaron - Tuesday, July 27, 2004 - link
A well written C++ .Net ISAPI filter on IIS beat out Apache in any confguration last I checked.Anandtech Team: Are you looking to add any additional developers to your team? I am a senior .net dev / usability designer / MS SQL Server DBA / systems architect. Work on your application would make a welcome addition to my resume. Email me if you are interested.
aaron.dezeeuw #at# gmail.com