On Sun, 2003-10-19 at 17:22, Chris Shiflett wrote: > PHP has been both heralded and criticized on a number of topics. This is to be > expected, considering the rate of growth of PHP's popularity. It has given > people something to talk about. > > One topic that seems to come up a lot is scalability. ONJava.com has an > interesting article entitled The PHP Scalability Myth: > > http://www.onjava.com/pub/a/onjava/2003/10/15/php_scalability.html > > Of particular interest to me is the variety of definitions for scalability that > I have noticed, both in this article and elsewhere. I wrote a brief description > of what scalability is to me in my blog (http://shiflett.org/). > > How do you define scalability? What factors do you consider when you declare > whether a particular technology is scalable? Do you think PHP is scalable? Does > Yahoo?
Good question! This has been on my mind some for a current project and now I have thought about it even more. Hmm, I'm not sure how to quote a blog. To paraphrase (hope you don't mind), Chris's definition of something that scales well is when resources (in general things that cost money) grow either linearly or logarithmically as the number of users grows. I agree with this as long as the slope of the linear graph is close to or less than 1. Some of the factors that I would consider for determining if a technology will scale well for a web application are: it's ease of use (how hard is it to develop in), general performance (it can't be a complete dog, however, small discrepancies compared to similar technologies are usually ok), and how well can you spread it out (scalable web applications are often in a multi-server environment). Given these factors I would say that PHP is scalable. However, I think it is difficult to talk about the scalability of a technology by itself. Especially when you include maintainability in the equation, which I think you should. An application is not just the technology used to build it. I think you can build an unscalable application with scalable technology. The scalability of an application is related to its design. If an application is poorly designed it will take more time to maintain and certain changes might require a considerable overhaul if they are even possible. A poor design in the beginning can doom an application if it needs to change. So I think I would add a little bit of 'changeablity' to make an application scalable. Do others consider application design when talking about scalability? - Brad -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php