Link to home
Start Free TrialLog in
Avatar of TreeSkier
TreeSkier

asked on

PHP as a the foundation for a scalable web enterprise application

We recently awarded an enterprise-level application development to a firm that plans to build it in PHP. I had previous experience working with ColdFusion developers on another similar application and was hoping to find a CF team for this new application. However, I was convinced by the bid details and credentials of the team we picked that PHP is very much a viable alternative for our application. But now I am having second thoughts.

I guess I am looking for expert advice about the TRUE viability of dynamic a PHP web application that needs to be scalable with a range of 0 users to 100,000 users. Said users would have access to a range of tools through the application, including email, contact management, their own e-commerce websites, searchable content databases -- all with interconnected database relationships.

I know that outline is painted in broad strokes. But, from the description, can you assess the reliability/viability of such a system written in PHP vs. CF? Primarily, I am interested in the scalability aspect. I am certain PHP code can build and manage a complex, inter-connected dynamic database application with a smal number of users and concurrent sessions. But what if the number of users of that same application grew exponentially?

All that said, if CF is a better alternative to PHP for a complex, scalable, dynamic web application -- and I said IF -- how would you go about "converting" PHP code to CF code, if necessary? I gues syou could have CF programmers simply duplicate the functionality of a PHP application, but I wondered if there is a more automated approach.

Thank you in advance for your thoughts on this.
ASKER CERTIFIED SOLUTION
Avatar of TaintedGod
TaintedGod

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of TreeSkier
TreeSkier

ASKER

We are using MySQL DBMS and running Apache ... guess we're open source all the way through. What do you think?
There is no problem with the site('s) being so big and using PHP + mySQL.
It can be done with PHP and mySQL and performance can be very good as well.

What you do have to realise is that all this does depend on the actual code you are using.

If coded correctly and if the database is designed to handle this size then it should not be a problem.


Good example of software that does handle small forums is phpBB; it can handle small to medium forums; but once you get really big it becomes enormously slow. Simply because the database and coding wasn't build for huge size's.


If the software is build with the size taking into account; then there is no problem.
Thank you doppyNL for restateing my post.

TreeSkier, MySQl, Apache and PHP has been considered one of the best combinations for what you want to do, so I think everythign should go fine as long as you have the disk space (obviouly), and you are basically limited to your operating system for how big your databases tables can be, here is some information from the manual:

MySQL Version 3.22 had a 4 GB (4 gigabyte) limit on table size. With the MyISAM table type in MySQL Version 3.23, the maximum table size was pushed up to 8 million terabytes (2 ^ 63 bytes).

In effect, then, the table size for MySQL databases is normally limited by the operating system.

Note, however, that operating systems have their own file-size limits. Here are some examples:

Operating System                                        File-Size Limit  
Linux-Intel 32 bit                                          2 GB, much more when using LFS  
Linux-Alpha                                                 8 TB (?)  
Solaris 2.5.1                                                2 GB (possible 4GB with patch)  
Solaris 2.6                                                  4 GB (can be changed with flag)  
Solaris 2.7 Intel                                           4 GB  
Solaris 2.7 UltraSPARC                                 512 GB  

On Linux 2.2 you can get tables larger than 2 GB in size by using the LFS patch for the ext2 filesystem. On Linux 2.4 patches also exist for ReiserFS to get support for big files. Most current distributions are based on kernel 2.4 and already include all the required Large File Support (LFS) patches. However, the maximum available file size still depends on several factors, one of them being the file system used to store MySQL tables.


Hope that helps.