PHP Scalability


I have a question, if PHP is a scalable language why Facebook released HipHop? I want to understand this! when does the website need to use some of C++ or vise versa to help in making PHP scalable? Is there a standard that we can say oh yes now our use of PHP in this website needs some extra plugins or tools to help in making it scalable?

(This may not sound helpful, right now, but) You’ll know when you get there.

Why should I wait? I want to know. :slight_smile:

Scalability is a design problem, not a language problem. A properly written program can be scaled up in any language. A poorly written program cannot be scaled regardless of the language chosen.

This said, some languages enforce structure that lends to scalability (such as Java). Other languages are so freeform that it is very easy to write code that will not be scalable (such as PHP). Proper planning remains key - there are un-scalable Java aps out there and there are PHP aps that have been scaled to a huge degree.

Facebook’s decision to go to HipHop lay in the realization that doing that would be easier than retraining the whole staff to use C++. Also, C is “closer to the metal” as it where, so it will run faster than PHP unless something is going wrong (such as the C programmer being a talentless hack like me). It was for performance reasons and had little to do with scalability.

What about ASP.NET using C#, does it force the programmer to make scalable websites? And my second and important question, how big the website should be to face scalibility problem in PHP? let’s say we have a website which has a 1,000,000 visit per day, will PHP scale in this case?

The problem Facebook had wasn’t that PHP isn’t scalable, it’s that they wanted to increase efficiency at the same time.

No language can force anything. I’ve seen ASP sites hard pressed to serve 1000 concurrent users (about 100,000 pages in a given day) and then there’s facebook.

let’s look at vbulletin as a case study, what the largest forum out there?

Well now you’re just asking how scalable vBulletin is…

And vBulletin uses PHP/MySQL, right?

And every car that uses petrol is equally efficient at doing so?


vbulletin (or vb 3.x) hits a wall around 2000 concurrent users - after that you have to start getting clever - implementing APC caching schemes, running multiple database servers or load balancers. I was involved in a site that could handle 10,000+ concurrent users (over 100,000 total users) but it was not easy to get a handle on.

I dropped out of the forum managing scene before vb 4.x came out so I haven’t been involved in any tests of it under load.

Jay’s right though - vb’s scalability has little to do with PHP’s scalability.