Once your application works perfectly, you can try to optimize the execution time or memory consumption. However, take care not to go overboard. Before optimizing your php code you need to keep in mind 2 things:
- What takes the most time is not the PHP code but network access (BDD queries, web scraping) or disk (includes);
- An opcode cache tool can be charged optimize your PHP code for you (to some extent).
Some tips to reduce network access
- Minimize the number of requests you made to the relational database management system. This means avoiding queries in loops or unnecessary requests;
- Request only the bare minimum to the RDBMS when making a request. If you need a single column, SELECT * is avoided. When you want to count the number of lines, using COUNT (*);
- Avoid waste of memory using the least possible variables. Or do not create variables that contain the same as another.
Caching allows you not to execute new code that has already been executed recently.Take the example of a news site in which the home page has the latest news. Each visitor to the home page requires PHP to send an SQL query through the network, waiting for the response of the DBMS, retrieve data from the open socket for the occasion, treat and display. Knowing that the visits rate is very much higher than the frequency of updating the news, the vast majority of requests are redundant. These daily visits require PHP to unnecessarily perform summarized above treatments ... A caching solution could be to generate the complete HTML of the home page with each update of the database. Thus, no unnecessary query is sent to the DBMS. However, this technique is not reasonable for the entire site because of potential excessive amount of content to compile in advance. It is therefore necessary to resort to more subtle techniques, and it is here that the caching tools become interesting.
Let us have a look on the php code of your website and see what could be optimized with our php developers.