The first part of this project is just looking for expert advice. Before I accept your bid please tell me what you can do and what your experience is. I want to prepare my site on the PHP and MySQL end for future scalability when I need to add more servers for load balancing.
A reference I look to with regard to how things should be optimized is here: [url removed, login to view] and [url removed, login to view]
My site is running php5 apache 1.3 on a single server. It is a social network site.
Much of the coding on my site is procedural but I am now taking a modular object oriented approach since I recently upgraded to php5.
This project is for the following things:
1. Run stress load test using JMeter [url removed, login to view] or whatever you prefer in order to simulate heavy load. Identify any problems. If possible tell me how many users I could potentially have on my site (social network) at once time before slowdown would occur. Checking for bad queries or overly long ones is critical here.
2. Identify the best way to increase load balancing on my site. Webservers? database servers? etc? How best to set it all up? Example: step 1 is my current setup. Explain to me what step 2 should be as far as upgrading adding servers, then step 3, step 4, etc.
3. Identify poor coding used in PHP and identify what changes would be the most benefit keeping in mind to take a modular approach, and reducing bad loops and queries which are not necessarily the best way to do it for speed.
4. Go through the database and check that it is properly indexed and that indexes are being used and is optimized. Identify slow queries (also using benchmark() function) and see if spreading the database over more than one hard drive would be of great benefit. Check that the database does not have unnecessary tables and see if combining any is possible and would be of benefit.
5. Check if something like eAccelartor [url removed, login to view] or Zend Optimizer or IonCube's PHP Accelerator or Zend's Performance Suite or memcache or Squid or something else or any combination of them would be of benefit to my site.
6. Once all of that is done be prepared to give me an outline of your findings, recommendations, methods you would take to resolve the issues, and give me a quote and time frame to complete this.