AnandTech: A Brief History of Time
by Jason Clark on July 26, 2004 6:52 PM EST- Posted in
- IT Computing
AnandTech 5.0
After 5 years on the ColdFusion platform, the time had come to move on to what we think is a better platform for the future of the site - Microsoft .NET. The decision to move away from ColdFusion was a tough one in some ways. ColdFusion offers a tremendous advantage over other languages, thanks to its RAD (Rapid Application Development) roots, but the trade offs were cost and stability. Cost was definitely the major factor in our decision. Our server platform is standardized on Microsoft Windows, so .NET is free for us, while ColdFusion costs us $1299 USD per server. As we continue to grow, and keep up with the newer versions, the costs rise. One could argue that we would make up for those costs with the time that ColdFusion saves the developer. However, we found that not to be the case, and we'll explain why later.We did quite a bit of testing prior to beginning development, writing a skeleton framework and load testing it and comparing the results to ColdFusion. The results were attractive with .NET definitely, offering some serious performance gains (more to follow on our benchmark results). The architecture of the new AnandTech.com site consists of a VB.NET API behind the ASP.NET user interface; the API can be exposed as a web service with the flick of a switch, if necessary. We chose VB as it is a more natural progression from ColdFusion syntax, and offers the same performance and features as C# does. VB.NET is a completely different animal than VB; although the syntax may be similar in some ways, it offers a heck of a lot more than VB ever did.
Writing the API is what took the most time, as we had to port over our back-end framework from ColdFusion into our new VB.NET API. Our first step was to write a few functions that handled some of the tedious work in writing any web application: a database class that handles all the database calls, which reduces the amount of lines of code we had to write for each call; a few list functions; and, some other little functions that ColdFusion had built in. Those functions took a few hours at most to write, and covered the main functions that we had taken for granted in ColdFusion. After those functions were written, we found that the RAD argument started to diminish, especially with the slick IDE that Microsoft offers. Visual Studio .NET is, bar none, the best IDE that we've seen. It offers a robust development environment with extensive function insight features, which really speed up the development process. If Macromedia were to develop this kind of IDE for ColdFusion, I think the differences between the two platforms would most definitely start to diminish.
The next major piece of work that we did was to transition the interface from HTML to CSS. This was a major undertaking, but once the framework was complete, the rest just fell into place. The old site was all HTML, and had a few too many tables in it. The result was a slower rendering site, and combined with the ads, it only made the situation worse. As a result, we took a 130K site down to around 45K in HTML. Needless to say, the page rendering times are night and day in comparison.
Hardware used in version 5.0
5 x Dual AMD Athlon MP 1900+ w/ 1GB Memory
So, after we were finished, how does it perform? Take a look below.
Note: These benchmarks compare the old anandtech site to the new anandtech site, not ColdFusion to .NET. There were many changes that resulted in the performance increase, the platform was just one of them.
The graph above depcits how many requests per second the server was handling during the load test.
The graph above depicts how long the site takes (under load) to deliver the last byte to the client.
67 Comments
View All Comments
bobbozzo - Monday, August 9, 2004 - link
Jason, would you be willing to publish your # of monthly pageviews?We're running a single quad xeon server and wondering whether to get a faster server or a cluster. We're at almost 4million page views/mo; over 1/3 of those are searching our database.
Thanks
JasonClark - Monday, August 2, 2004 - link
A behind the scenes hardware upgrade is coming soon.czakalw3 - Monday, August 2, 2004 - link
"have learned more in 3-4 years than some people do in their entire career."nice one.
beyond all the technical considerations, it seems your change of platform is nothing but a "were already commited to ms in the os so why not go all the way?"
dont label me as a fundamentalist but cost could easily be 0 with the same results?
czakalw3 - Monday, August 2, 2004 - link
errDevnut - Saturday, July 31, 2004 - link
One thing that seemed to be lacking in this article that was present in all the past "anandtech upgrade" articles, was much more detail in relation to the hardware changes/upgrades, and why you did what you did.I noticed Jason indicated SQL2000 was running on a quad opteron, so there's obviously been some significant changes. Can we expect an update on this front?
Zoomer - Friday, July 30, 2004 - link
Would you please post load information for your quad opteron?It would be interesting, to say the least.
Staples - Thursday, July 29, 2004 - link
I saw this article posted a few days ago but just decided to look at the comments to see how many posts it took for the Linux fanboys to show themselves. Apparently not long. Anywho, I am just starting out with the whole .net thing since I have heard such good things about it. This article is just another one.RZaakir - Thursday, July 29, 2004 - link
Man I wish the these PHP fanboys would realize that Microsoft actually has a few good products. I think that PHP is superior to ASP classic in many ways but PHP (version 4 anyway) and ASP.NET aren't even in the same league. Period. You'd be better off making a JSP vs. ASP.NET argument as they are similar products.Does MySQL have stored procedures in a production version yet?
JasonClark - Thursday, July 29, 2004 - link
FFS, I don't care for HardOCP's design, it's dated and the black background isnt for us... THe design looks great, I think the only way to get more clean is to remove more ads... but that isn't going to happen. Speed-wise, I think you have some issues somewhere, here the page shows in less than 3 tenths of a second. Benchmarks indicate about 2 tenths.Macaw - Thursday, July 29, 2004 - link
You've been blogged: http://blogs.msdn.com/jrule