Check out this Alexa Traffic Details report on ColdFusion powered Myspace.com. Growth from under 500,000,000 daily pages views in early 2004 to over 5,000,000,000 daily page views in mid 2005. I’d call that scalable.
hehe… Alexa stats are "a little off" to say the least. It shows that my site has an average of 5 million page views per day. I ‘wish’… 🙂
I have a friend who had a site with 10,000,000 hits per day on several servers (I think it was 4 + an amazing database server). The site was always crashing (giving typically null, null ColdFusion Errors). He gave Macromedia engineers access to the boxes and code). They (MM Engineers) didn’t want anything to do with the problem.
I use ColdFusion every single day, and I love the product. It is in my mind the best web RAD language, I love the new reporting features in CF7, and I recommend it every time I have a chance to my clients. That being said, ColdFusion is NOT scalable and, in my opinion, should never be used to run a site which will have a descent amount of page hits.
If you go by Alexa, macromedia.com has the same amount of page views as myspace.com. I seriously doubt that macromedia.com has anywhere near 5 BILLION page views per ‘day’. Google probably doesn’t even get that (can’t find any stats, but the number is obscenely big)
Myspace is certainly a very popular site, and I’m amazed that they still use CF…but it’s certainly worth mentioning that MySpace performs like total dog crap. And 5 billion is a tad inflated.
I agree that myspace runs bad but I think its more about bad coding than cfm and this 2nd comment the guy can’t even read a number and know that 500,000,000 is half a billion not 5 billion and that is certainly a realist number for that site.
It’s funny how people who say it isn’t scalable are the ones who have crappy code or in this case can’t read.
and in case you haven’t noticed myspace added .net to the browse feature and its 10 times worse than the cfm was.
If they got some decent coders in there and put it on linux boxes it would be much better.
Ben, I think you’ve mis-read the graph on the Alexa website. From the Alexa traffic info page:
"What are Page Views?
Page views measure the number of pages viewed by Alexa Toolbar users. Multiple page views of the same page made by the same user on the same day are counted only once. The page views per user numbers are the average numbers of unique pages viewed per user per day by the users visiting the site. The page view rank is a ranking of all sites based solely on the total number of page views (not page views per user). The three-month changes are determined by comparing a site’s current page view numbers with those from three month ago.
Page views per million indicates what fraction of all the page views by toolbar users go to a particular site. For example, if yahoo.com has 70,000 page views per million, this means that 7% of all page views go to yahoo.com. If you summed the fractional page views over all sites, you would get 100% (this is not true of reach, since each user can of course visit more than one site)."
So it looks like Myspace.com has almost 10,000 per 1,000,000 or 1% of all web traffic. Unfortunately they don’t say how much the grand total is for all users, so it’s hard to guage just how much traffic that really represents.
There’s definitely a lot of increas in the last year though, so something must be scaling ok 🙂
Wow, Dave. I think the first thing you should do is re-read Ben’s post (this time try reading both lines!), and then you should immediately wipe the egg from your face. Cheers, mate.
yup thats my bad sorry bout that
Ok… seems like some fellow CF coders would like a gig at myspace in sunny Santa Monica ONE block from the beach! 😉 (I actually believe we are taking applications right now…)
Agreed we have some old code that aren’t exactly "good" but at the moment we have close to 20 CF developers, experienced I might add, that are working on new and re-writing most of the old code.
In order to understand why some of the site has been written "sloppy" you have to know that only a couple of CF developers where part of the initial build of the site. They went from 1000 to 1 million users in a VERY short time. Basically these guys worked their ass of just to keep the site online and at the same time adding features left and right at Tom’s will.
The reason Myspace has been so successful is partly because they have been very flexible and been able to address user requests within a very short time span. All this was possible thanks to CF’s quick development cycles. For example I know friendster took forever to come out with the "one degree a part" feature and it nearly killed their site… well they are pretty much done by now.
The new browse, developed in .NET, took a very looooong time to code. If Myspace would have been developed from scratch using any other technology than CF I’m pretty sure it would not have been so successful.
It seems like CF and .NET will be running side by side for an unforeseeable future here at Myspace.
Alexa might not be exact science, but I’ve seen us running with more than 500,000 concurrent users the last couple of weeks during peek hours. We are also signing up 1 million new users every 14 days or so. Closing in fast on 20 million right now.
Can you give a rough estimate on how many servers you have in your cluster to support that many CF calls?
I also noticed that you’re still running on CF 4.5/5 — do you plan to move over to CFMX?
Great job scaling to handle that # of users.
Whoa! I made no comment about what page views are, what those numbers mean, or how Alexa gathers or uses the data. My points was about the growth, the delta between the early 2004 and mid 2005 number. That number has grown significantly, regardless of what ‘page views’ actually means, and assuming that the numbers mean now what they did a year and a half ago, that demonstrates the ability to scale with load.
I had figured they were running older versions of cfm and my comment about poor coding was because I have seen quite a few errors that showed the cfm errors and I was like "what in the world??"
To me it would make sense for them to upgrade it to mx and take advantage of the j2ee architecture.
Ben, what’s your take on how much improvement myspace would see if they upgraded?
anyway’s…. where do I apply 🙂
I don’t think that upgrading to CFMX is quite the answer to their sluggishness. Personally I agree Dave that this is most likly is a result of their coding than CF. I go as far as to say that most likly Eric is experiencing the same problem, lousy code.
I’m sorry if I offend anyone, but I have been doing this for far too long to blame the programming language. Everyday I rewrite code that others have written. Every single time I find the most moronic way these people code that hinder the performance of their sites. Clients go as far as to say I’m a GOD with the speed I can get their sites to achieve. The reality is that I’m not, I just learned how to code the right way a long time ago from Adam Churvis and I have always stuck to what he taught me.
I really think that if you are ever at a position in blaming CF, or any other language, for the speed of your site, you might first want to look at your skills as a programmer and start there. Chances are you are not as good as you think.
and one more thing (god I’m going to get flamed for these posts).
I also noticed that myspace.com is using fusebox.
Anyone here ever use fusebox? Anyone ever take one of the example fusebox apps, rewrite it into form / action and run a load test on both to see how much degrigation in performance fusebox has on an app?
Of course noone has, but I have. Go download the exmaple app and run it and just look at how many templates it calls and how long it takes to process. The planet example I redid ran at 463ms on average. After my rewrite, it took 5ms. Fusebox will bring a server to it knees. This is a FACT, not an uneducated, mindless attack on fusebox.
But please, don’t blieve me, as a matter of fact, call me a jerk and a liar. Go rewrite an example app and find out for yourself.
Where’s your site Petruzzi?
Wasn’t there some stat a while ago that said MX 7 is a 600% speed increase over the original CF? What’s the increase over 4.5/5?
I have asked several people about the fusebox deal, I have never really seen a site in fusebox that was "fast".
I would surely assume that going with cfmx would increase their speed but I was also thinking that it would also give them a ton of java leverage instead if using .net
I think myspace could be coded a lot better using coldfusion. I can understand that it was only a few guys working under Tom (I still wish I knew how THAT guy came up with some a "geeky" idea) but I’m only one guy (plus a guy doing graphics and a guy doing a FEW php scripts) . I’m currently developing a site that has social networking features that is coded in CFMX7 with a little bit of php thrown in… We’ll see how it goes…. but the format of the current myspace code seems real "messy"
The 500ms vs 5ms example is terribly misleading since most web applications involve a lot more than just posting data from a form to a server. If all of the state management, database queries and other calls added up to 1000ms then suddenly the overhead of the framework becomes less important than you’re indicating. 500ms does sound like a bit much. I’m curious as to what hardware you’re running this test on and whether Fusebox has any options to cache the framework components in the application scope like Mach-II does and whether or not you’re using them. In any event, the goal of the framework is maintainability and not performance, so take the money you save having developers hack up code and buy a few more boxes… performance problem solved!
To be honest. Every client site that I have done on my own in the past is now gone (part of the dot com bubble).
To clarify (which I should of also stated) I ported them from Fusebox 3.0 (I think. It was long ago).
The only sites that I have now online are the following:
sheriff.org – Broward Sheriff’s Office website. CF5 and SQL Server.
rmgpa.org & nigpmiami.org – Both usean application package that I wrote for a company. CF7 and SQL Server.
rolist.com & bannerboxes.com & clickauthority.com – CFMX 6.1 and SQL Server. All 3 sites are on the same server. Rolist is a search engine, Bannerboxes is similiar to Adsense and ClickAuthority is a adtracker.
I did these tests quite some time ago. Way before MACHII and what not. The database that the example used was Access.
Now just so we’re straight here. I used the EXACT same database that they used. I did an EXACT PORT from fusebox to form / action. And achieved the results I stated. The hardware was my own local machine which I think at the time had 1gig of RAM and was a PIII 1gig.
Please don’t use the hardware card in your reply. Don’t state any quotes we’ve all heard a thousand times about using Access as a database. Again. I did an EXACT PORT of their app. I suggest that you take the time and port an application yourself and you will see what you are talking about.
I think if you ported your application to the newer frameworks (FB 4.x, Mach-II, Model-Glue) that you’d find far less of a performance hit. Mach-II and Model-Glue cache various components of the framework in the application scope when run in "production" mode (I believe this is also the case with Fusebox 4.x). This way the app doesn’t need to read and parse XML config files or instantiate loads of variables/data structures/CFCs, both of which are computationally intensive. This kind of feature wasn’t available in earlier frameworks (FB 3.x) which turned them into real CPU hogs.
I appreciate the research you’ve put into the topic because – as you point out – most people don’t. I think your view of Fusebox is tarnised by working with earlier versions that were not optimized for performance. Since there’s no way to speculate what version of Fusebox the folks at myspace.com are using, it’s difficult to say what effect (if any) Fusebox is having on performance of the site.