Forum Moderators: coopster

Message Too Old, No Replies

The Scalability of PHP Programs (Many Simultaneous Users)

         

ambassador

7:23 pm on Jan 30, 2007 (gmt 0)

10+ Year Member



In another forum an expert software developer has stated that PHP programs do not scale well (i.e., capacity of handling many simultaneous users). The same expert software developer stated that web-based applications written in other languages such as "Cold Fusion" are significantly more scalable.

Question 1.
Is this assertion regarded as true among all expert software developers or is it simply the developer's own experience?

Question 2.
Given a single, adequately equipped Apache server using the Linux operating system and two functionally identical web-based applications - one written with PHP5 and the other written with Cold Fusion (all other things like databases, etc. being equal) - how is the "simultaneous user capacity" determined for each of the two versions of the program (without; of course, hiring thousands of testers)?

Question 3.
What RAD-type language is known to be the most scalable for web-based applications (all other things like databases, etc. being equal if other things are used in the applications)? It is known; of course, that PHP is not a RAD-type language.

Ambassador

bcolflesh

7:41 pm on Jan 30, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



In another forum an expert software developer has stated that PHP programs do not scale well (i.e., capacity of handling many simultaneous users). The same expert software developer stated that web-based applications written in other languages such as "Cold Fusion" are significantly more scalable.

*chuckle*

jatar_k

8:07 pm on Jan 30, 2007 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



1. probably his inexperience, I have seen massive applications in php, fully scalable

maybe he doesn't know that Yahoo runs in PHP

2. not a possible comparison, coldfusion runs coldfusion server, to my knowledge it can't run without it, therefore the comparison is impossible because all other things cannot be equal

you could look through this
[en.wikipedia.org...]

the Criticism section is good

3. There are RAD dev tools for PHP, Perl etc
[en.wikipedia.org...]
bottom of the page

In my experience, which is not extensive, working with coldfusion servers and expert coldfusion programmers is that it is junk when compared directly with apache running mysql with php or perl. This was confirmed by those expert CF programmers as much as my own investigation.

keep in mind that software of any kind is only as good as the people who make it, the language is less often at fault.

ambassador

8:26 pm on Jan 30, 2007 (gmt 0)

10+ Year Member



If I recall correctly the forum in which the statement was found is the #*$! dot com forum. A Google search for:

"cold fusion" hosting whm

- I think - is the query that produced the citation.

*** Note: this forum's auto-editor has changed the forum citation to "#*$!" ***

Ambassador

pinterface

9:29 pm on Jan 30, 2007 (gmt 0)

10+ Year Member



There's more to a programming language than how many users you can squeeze into a processor cycle. Other important considerations are how powerful the language is (how easy it is to accomplish any given programming task), and how common programmers of that language are.

if you're just starting a project, don't pick the language based on some percieved notion of a need for speed. It's very unlikely you'll reach a point where that kind of scalability will matter. Instead, go for language power, and ability to find peers to help code. (I'm a fan of Haskell and Lisp, but the number of people familiar with them is pretty low.)

But let's assume you've succeeded against the odds and managed to achieve popularity. What languages scale well? Let's look at examples of popular sites and what they're written in:

  • MySpace: ColdFusion
  • LiveJournal: Perl
  • Wikipedia: PHP
  • Google: Python

Okay, okay, I'm cheating a little by excluding certain information. What I'm not telling you is how much hardware each site uses, or how much each site delves into low-level machine code to accomplish certain tasks; neither of which I know. LiveJournal, Wikipedia, and Google all definitely use lower-level programming where it suits them (e.g., C, ASM), and I'd be surprised if MySpace didn't. Ultimately, speed comes from the algorithm, not the language.

Essentially, my point is that jatar_k is right: "software of any kind is only as good as the people who make it".

jatar_k

9:37 pm on Jan 30, 2007 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



one added point

"simultaneous user capacity" on the web is non existent. Requests can't occur at the exact same moment, therefore they can't be simultaneous.

[edited by: jatar_k at 9:41 pm (utc) on Jan. 30, 2007]

bcolflesh

9:38 pm on Jan 30, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



MySpace uses BlueDragon.net:

[newatlanta.com...]

Which allows them to run their legacy CF code - I doubt they do any new development in CF - just patching the daily security problems.

coopster

9:41 pm on Jan 30, 2007 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



simultaneous

Another good point. HTTP is a stateless protocol. A connection request is made, the server responds, and the connection is closed. Every request is like a brand new person, every time. Scales well.