4 ms·
Is it possible to make a enterprise website using PHP still?
I'm talking millions of requests a week, is there a way to scale PHP to handle this?
The reason I ask is because I have a co-worker that told me Foursquare had changed from PHP to Vala because PHP was too slow.
Ideas?
- perucoder 16y agoFacebook uses PHP for the user-facing portion of the site. Here's a link where they discuss some of what they do http://blog.facebook.com/blog.php?post=2356432130 http://blog.facebook.com/blog.php?post=2356432130
- ze_dude 16y agoHowever, Facebook uses HipHop (http://developers.facebook.com/blog/post/358 http://developers.facebook.com/blog/post/358) to make PHP faster (so it's not the plain-vanilla PHP). From the linked article: HipHop programmatically transforms your PHP source code into highly optimized C++ and then uses g++ to compile it. HipHop executes the source code in a semantically equivalent manner and sacrifices some rarely used features such as eval() in exchange for improved performance. HipHop includes a code transformer, a reimplementation of PHP's runtime system, and a rewrite of many common PHP Extensions to take advantage of these performance optimizations.
- ultrasaurus 16y agoAlthough it's safe to assume you won't have scalability problems right out of the gate either. Once you have tens of thousands of hits a week presumably you can port to HipHop yourself ( http://github.com/facebook/hiphop-php http://github.com/facebook/hiphop-php ). Needing to scale is a great problem to have.
- robertross 16y agoI completely agree, the best problem in the web world. That's why I'm trying to think of it now because I open the doors to a project I'm developing for myself. What about the projects that use PHP extensions in the .ini to speed things up (such as http://pecl.php.net/package/APC http://pecl.php.net/package/APC)
- bond 16y agoSure it can handle millions of requests a week. So 1week=7days=168hours=10080minutes=604800seconds For 1 million requests/week= 1.65Req/sec For 5 million requests/week= 8.26Req/sec For 10 million requests/week= 16.53Req/sec For this kind of traffic there's nothing to worry about. I'm not an expert so someone with more experience can say if this numbers are ok.
- elliottcarlson 16y agoIf you are able to build everything with a high-scalability mindset from the get-go there is no reason why PHP can't be used to such a capacity. There are naturally hurdles that you will overcome as well - but realistically there will be scalability hurdles in any dev environment you choose to scale to those kinds of numbers. Remember to cache, load balance and minimize disk i/o and you already have a good head start. On a side note, Foursquare is using Scala with the Lift framework, not Vala. And from what I understand, Harry wasn't the original developer when it came to the PHP version of Foursquare (and if I understand correctly, the original developer wasn't even an engineer). When the time came to move on to something bigger and better, Harry rewrote it using Scala because of various personal preferences (Java background, preference to compiled and typed code, etc). So the decision to move from PHP because of performance issues may be more related to poor quality of code (as stated in this slide deck: https://docs.google.com/present/view?id=dcbpz3ck_25czcns2c2&revision=_latest&start=0&theme=blank&cwj=true https://docs.google.com/present/view?id=dcbpz3ck_25czcns2c2&...) than the actual platform.