Article:
  The PHP Scalability Myth
Subject:   Performance NOT EQUALS to Scalable
Date:   2003-10-16 04:38:39
From:   anonymous2
Response to: Performance NOT EQUALS to Scalable

scalability is achieved either by having a "read-only" application, which can be easily deployed on multiple servers, or by having a way to distribute the changes on multiple copies of the database. It has a lot more to do with _how_ you write the application rather than which particular language, libraries or platform you choose.
Full Threads Newest First

Showing messages 1 through 6 of 6.

  • Performance NOT EQUALS to Scalable
    2003-10-17 10:03:55  anonymous2 [View]

    YES! And, I think this is what Herrington's trying to get at -- the language differences don't matter as much as the application design. Both Java and PHP provide tools, albeit different ones, to solve a wide variety of design problems. So you can factor out the language itself, and you're left with *design* as the critical factor to scalability.
    • Jack Herrington photo Performance NOT EQUALS to Scalable
      2003-10-17 10:05:53  Jack Herrington | O'Reilly Author [View]

      Yes. This was exactly my point.
    • Performance NOT EQUALS to Scalable
      2003-10-17 12:47:13  anonymous2 [View]


      What are the *design* options relating to distributing operations in PHP ?

      PHP is going to be coupled with Java, because PHP is very popular in the presentation layer, but its API to develop business code and objets is very very ugly, and distribution capabilities of business code are... none.

      Serving millions of concurrent users has a price of performance because distribution is necessary, HTTP load balancing is not the solution when you must be able to manage sessions (usual), because the machine have be the same inside a session (except that you have distributed session capabilities in your JSP server), with EJB you can distribute the load of the each session to other(s) machines.

      PHP is good to amateur sites with simple web applications and few concurrent users. But not to professional sites well designed (without the crap of PHP API) and with heavy load requirements.









      • Performance NOT EQUALS to Scalable
        2003-10-17 18:17:51  anonymous2 [View]

        -- PHP is going to be coupled with Java, because PHP is very popular in the presentation layer

        PHP is popular in the presentation layer because it is very good at presenting. And it's not amateur hour.

        The right tool for the job people, the right tool for the job.
    • Performance NOT EQUALS to Scalable
      2003-10-17 12:47:32  anonymous2 [View]


      What are the *design* options relating to distributing operations in PHP ?

      PHP is going to be coupled with Java, because PHP is very popular in the presentation layer, but its API to develop business code and objets is very very ugly, and distribution capabilities of business code are... none.

      Serving millions of concurrent users has a price of performance because distribution is necessary, HTTP load balancing is not the solution when you must be able to manage sessions (usual), because the machine have be the same inside a session (except that you have distributed session capabilities in your JSP server), with EJB you can distribute the load of the each session to other(s) machines.

      PHP is good to amateur sites with simple web applications and few concurrent users. But not to professional sites well designed (without the crap of PHP API) and with heavy load requirements.

      J.M.A.









  • Performance NOT EQUALS to Scalable
    2003-10-17 12:14:39  anonymous2 [View]

    A lot of the 'heat' being generated here appears to stem from the absence
    of a good definition for "scalability" in the article. This is a common
    problem.

    Scalability is an abstact notion. So are terms like "reliability", and the
    word "performance" itself. One person's meat is another's poison. With
    regard to computer system performance, you might desire to optimize such
    metrics as, throughput, response time, or resource utilization; to name a
    few. The goal depends on the context. If you're printing reports at the end
    of the financial year, MAXIMUM throughput is likely to be your goal. In
    contrast, many web applications focus on MINIMIZING user response time.

    Simply put, 'scalability' is a relation among variables (performance
    metrics) that characterizes the rate of diminishing returns as the
    dimensions of the system are increased. This means that scalability can
    actually be expressed in a mathematical form. I've tried to illuminate this
    point elsewhere http://www.perfdynamics.com/papers.html. Specifially,
    http://www.teamquest.com/html/gunther/fitting.shtml and
    http://xxx.lanl.gov/abs/cs.DC/0210017 should be of interest.

    --Neil Gunther