Is drupal good for high traffic sites like facebook? can facebook be built on drupal? I am going through lynda.com's drupal essential training (video tutorials), and there i learned that drupal is not good for high traffic sites!!! is it so? It says that drupal is not good for million page views! is that true?

If yes then whats the best cms for a high traffic sites.. And all you geeks out there can you tell me what kinda cms does facebook / orkut uses? how are those sites built?

Comments

NaplesSEO’s picture

Wow, nice site... 19k Alexa rank.
That yours or you just work there?

nahids29’s picture

what rank are you talking about? im not talking about any alexa.com .. well u dint get my question right

minesota’s picture

There are PLENTY of high traffic sites buillt on Drupal.
Drupal.org itself is built on drupal.

You need appropriate server, which can be a shared, VPS or Ded according to your needs of 'high' traffic - the server needs to have features necessary for drupal, and,
on your side you can use certain 'cache' modules.

You might like to see this article http://2bits.com/articles/php-op-code-caches-accelerators-a-must-for-a-l...

How your site does also depends on the number of modules and blocks you use.
Facebook like site, or even better than that, can be built - you need APK and OG modules apart from buddylist, PM, acidfree/newer album modules and some more for that.

If your server is already optimized and you are fairly conversant, facebook like site can be built in less than few hours once you have chosen the theme and the modules you need.

mm167’s picture

are u building your facebook?

u mean u have the budget as facebook has?

for very high traffic site, of course Drupal is NOT your choice.

nahids29’s picture

if drupal is not the choice then whats the right choice for high traffic sites..? and about budget!! i dont know whats the budget required for creating facebook! you tell me about it

mm167’s picture

"if drupal is not the choice then whats the right choice for high traffic sites..?"

i dont know the answer of this question.

But I do know, Drupal is php based, for very high traffic, sorry ..NO php !

..that's enough to support my answer.

Magnity’s picture

As an aside, Facebook is actually based on php! However I believe that a lot of development has gone into it, so it may not be exactly the same as what we know as php.

Magnity

http://webdesign.magnity.co.uk
Drupal 5 themes | Drupal 6 themes

-Anti-’s picture

> i dont know whats the budget required for creating facebook! you tell me about it

Put it this way, it was originally funded as a closed project amongst the 'Ivy League' universities, to provide a profiling service to students. After a year they decided to release to US high schools, and its investors paid $200,000 *just* for the .com domain, which indicates how much finance and resources they could to plough into it.

First of all, you have no chance of convincing investors to put *any* money into a clone of an already existing, popular service. Secondly, the three founding members of 'ConnectU' have accused Mr Zuckerberg of stealing the code; the case wasn't resolved due to a 'technicality' (which probably means, you can't sue someone with rich, powerful, Ivy League connections). The point being, these things are usually created by TEAMS of people with specialised skills, not by lone noobs tapping away in their bedrooms on a CMS they've just downloaded.

Can you make a website with drupal which mimics facebook, and have a few hundred daily users without making any major monetary investment? Yes.

Being a complete noob, can you do the above within a few months? Probably, if you have several hours a day to spend on it and learnt fast. For instance, it's taken me 400 hours to complete my first website with drupal; it's a complex school website, and I used it to learn about Drupal as I went which is why it took so long. But I think a noob doing a facebook clone would require more time than that, if it was their first site.

Can you create a website that has ten thousand daily users, by yourself, with no investment, turning over a million dollars within two or three years? No. Absolutely not. If you want to do that, join a team with a conceptually new, winning idea, and the skills and financial backing to implement it. You'll find that they'll probably write the code from scratch, so if you can't do that, you'd need to find some other worth of you being on the team, like graphics, flash, animation, accounting, business strategy, media promotion, fund-raising, advertising, consumer testing, etc.

nahids29’s picture

Sitting in your bedroom and typing all of this, you could have given me the wiki link of facebook right away. lols... poor guy. Well anyways now i know that the fake strategy of facebook has bonged your head the way it was planned. Take care!

-Anti-’s picture

Listen, you sounded clueless and in need of a reality check, and that's what I gave you.
If you want better answers, write better questions!

For instance:

> can you tell me what kinda cms does facebook / orkut uses? how are those sites built?
> i dont know whats the budget required for creating facebook! you tell me about it

What part of those questions didn't I answer exactly? If the information I gave was somehow beneath you, why ask such stupid questions then?

Realise that every month there are several 'how do I build [insert multimillion dollar website here]' questions, usually by people completely ignorant of what it takes to develop a web-service that can produce a good income for the creator. They don't know that you have to treat it like a business, just like any other service or product. Your post fits that profile perfectly, so you can perhaps understand why you got these answers.

I was simply trying to save you from wasting hundreds of hours, building a site on false expectations. But since you're so sarcastic and full of yourself, I think building a failed website might be the best way for you to wake up to the realities, and learn that there is a difference between rising to an achievable challenge, and attempting the near impossible simply out of ignorance. BTW, if you were implementing your million-dollar idea 'the right way' (as you claim below), then you wouldn't be on here asking these types of questions!

nahids29’s picture

i asked what kinda cms does facebook use as i had learned in a tutorial that drupal doesn't support high traffic... thats y i asked.. as fb is built on php.... god dayummm... let that be there... I am a newbie, every legend was a newbie... SO WHAT? i have questions i will clear them out... ill get a new way for business with my idea stuck on my mind... Wasting 400 hrs? rite!! Even if i had realized that i wasted 1000hrs behind a bullshit thing, I would yet be happy of learning how not to make it next time...i wouldn't consider myself wasting any time as it is all a part of my experience... let it be where it has to be... you told me earlier if i had an idea of budget for fb... thats y i asked you how much..!!! it all started with silly lines of codes, errors etc.. but now.! it is a topic discussed everywhere... Thats how i will bring out my idea for a new type of business ova web... i have it all documented and ready...!

And yo! I dint ask how do i build [mm d web]!! y would I?! no one is gonna reply to a stupid question like that.. i asked about cms! anyways... chuk it out!

-Anti-’s picture

> it all started with silly lines of codes, errors etc.. but now.! it is a topic discussed everywhere... Thats how i will bring out my idea for a new type of business ova web... i have it all documented and ready...!

The whole point of my post was that 99.5% of these famous websites DO NOT start as 'silly lines of code'. There is a highly skilled team and a lot of financial backing. They are a business in the very traditional sense. If you want to ignore that and learn the hard way, then be my guest. I'm certainly not going to waste any more time on you, except one more piece of advice - when you approach investors don't use the phrase 'business ova da web'. lol.

samimalik’s picture

I think you misunderstood the question.

dkruglyak’s picture

Short answer is: NO!

Longer answer is, the problem with Drupal is it was designed as a framework to do (or support doing) too many things, ending up not being great for any of them. You might find 80% of what you need available, but it is the remaining 20% that may kill you. Drupal's biggest strength and weakness is open source development model, driven by volunteers. There are a lot of gems here and there, but it is not very often that someone has the motivation and time to achieve industrial-grade quality and in reasonable time. Many decisions, like not providing upgrade paths between module versions, removing features, etc. are outright criminal. Another pet peeve is very little thought given to end-user experience/usability (with its own scalability implications). There you are entirely on your own.

Yet longer answer is that you can greatly increase scalability if you are willing to roll up your sleeves and hack Drupal core, looking at it simply as just another template PHP app. One scalability showstopper for example is lack of native support for database replication and CDNs - without which there can be no real scalability. With a few patches, however you could add this support, but then you will have to really dive into the code, understand what you are changing and test, test, test. Even then, you cannot just get rid of Drupal's overhead of loading all PHP code (needed or not) all at once and increasing DB load. But you can definitely improve a lot.

At some point though you have to ask a question if this hacking is worth it or it is better to build a custom PHP app from scratch. In my view it is feasible to use Drupal in a very limited role (minimum modules), relying on your custom code for heavy lifting. Just do not assume that Drupal core or contrib module developers thought about scalability at all. Try to keep the number of contrib modules you use to bare minimum or prepare to spend a lot of time hunting for bottlenecks, perhaps AFTER your site goes live and disappoints users.

I have used Drupal for 3 years, sometimes it really helps and sometimes it makes me want to shoot someone.

juan_g’s picture

Yes, with the appropriate optimization, and cache modules such as Boost (static file cache), Memcache (RAM memory cache), Cache Router, etc., which go beyond the standard database cache available in Drupal core.

For detailed information, see the Drupal scalability resources listed on the handbook page Drupal caching, speed and performance. In its Case studies section there is info on high traffic Drupal sites using Boost, Memcache, etc.

Anonymous’s picture

Drupal can be used for high traffic sites. I usually tend to customize a bit of the core and strip it down. Its not rocket science and anyone with basic PHP skills can do it. Ofcourse you need to do a lot of caching with cache modules, and get it right, use a front end PHP accelerator, and then watch it grow. If you think about it, if your site needs grow, and you have a lot of traffic coming in, then you start considering scaling the DB and Round Robin DNS Heads (as we call them). Increased traffic also means you are making a bit of money so I'm sure you can afford to go up.

The reason I have noticed as to why drupal is slow, is that its a seriously heavy duty CMS. First and foremost, Drupal is a Content Management System. And a lot of people in my office don't believe that its the Number 1 Opensource PHP CMS in the world. It has too many features pre built, and some modules are not industrial strength based, but like I said, its not rocket science. Pull out your Netbeans, Kdevelop or whatever IDE you use and sort out what you need. Too easy to just drop a plugin and it works. You need to do a bit of work. Qualms I have with Drupal though is the DB. Yes, I wish we could go beyond MySQL and PostgreSQL, but even worse is that Drupal has way too many tables. Elgg has 20 something odd tables and to build a semi basic social network with Drupal, you end up with 100+ tables and 200 is a realistic number. Something needs to be done there.

Don't forget to improve on MySQL caching (I learned the hard way). And don't install 300 modules on one install. The DB will become too big. If you can, have a dedicated machine for the DB on its own. Giga International are affordable and no I'm not advertising for them. If you are going mission critical, then you may consider using a CDN. Facebook and everyone else does this. If facebook relied on themselves, you would see the difference. Remove whatever you don't need. Themes, theme engines, modules, libraries, strip it down.

All in all, yes its possible. And its much more easier than you think.

Good luck.

Kahenya

Kahenya.com
VIRN

tgeller’s picture

There are some interesting comments in response to my recent blog post, "Can Drupal handle high-traffic sites?", which also links back here.

Those interested in the subject should check it out. Cheers,

---
Tom Geller * San Francisco
Author/Presenter, "Drupal Essential Training" video series at Lynda.com
TomGeller.com * GellerGuides.com * SaveMyHomeBook.com

---
Tom Geller * tomgeller.com * Oberlin, Ohio
See my lynda.com videos about Drupal

nahids29’s picture

Tom,
Finally... facebook has coded his own cms.... well anyways i have heard people say that drupal cant handle 200 authenticated users at one time... well i dont understand y is that! well for that i will actually concentrate more on caching and Mysql... Well u know even facebook use to be slow! but later its fast now as it has more than 10000 servers... So it all depends on optimization of modules and ajax etc... rite?

ablankenstein’s picture

At my company we build a multidomain (more than 300) website on just one drupal installation with more than 5000 users.. Works like a charm.

nahids29’s picture

nice.... well thanks for ur concern... !!!!

espirates’s picture

WordPress is too simple and Drupal is too complexed, what the web needs is a middle class CMS.

poblady’s picture

Drupal is the best Cms I have ever found on net, Drupal has all it takes, it's only that there are lot's of blackmailer outside there,
that are jealous of drupal, Drupal has all it takes to build High traffic sites, but it depend on your experience and the type of server you use, In as much you know your budget, and you know drupal very well, and you go for the compatible Server that fits your project, guy you are up, am here to convince you that you don't need a football team or a bunch of experts, before you can build a high traffic site with drupal, dont mind them, Drupal still remain Number One, If there's anybody out there that want's to prove me wrong, let him or her give me reasons.

AdriCont0306’s picture

I was in the same circumstance as you. until I found this page: I was looking to include Facebook in Drupal and increase my web traffic.

biblos’s picture

With Pressflow on D6 and then Drupal 7 were perfect for highload media news sites. I made one with 5 million monthly unique visitors and was able to host it on a budget with the help of Varnish, Memcache and third-party DDoS mitigating like Google Project Shield.