Hi everyone,
during the last days I've been optimizing the performance of one of my projects.
After getting good results in the client-optimization, I started debugging the server performance.
What I recognized is poor loading times of my seblod search/list page.
Specifics:
Entries per page: 25
Fields per item: 15
Installed field Plugins (mostly seblod standard: 51)
Server-Reponse-time: min. 2 seconds
To analyze the performance, I used the joomla debugger and recognized that the event-dispatcher consumes 80% of the loading time.
Therefore I hacked "libraries\joomla\event\dispatcher.php" to show me the plugin execution times. (I needed to increase the memory limit of php as well)
Result:
Seblod seems to load every available field plugin for every available field for every entry of the list again.(or even more often)
--> 25 * 15 * 51 would sum up to approx. 19.000 plugin executions for one page load... In my special case I even have 54.000 plugin executions for one page load
I saw that e.g. the field plugin "Upload image" consumes approx. 1.4ms per load. --> 25*15*1.4 = 525 milliseconds only for this field plugin
Now my question is:
Did I configure something wrongly? If not: Is the Seblod team thinking of changing the plugin execution events to improve the performance of lists? The load times definitely have a bad impact on the PageSpeed ranking of Google (which always complains about high server response times for this project)
If you need further information, just let me know. (I have a plain text file containing the log for instance - 15 MB)
Thank you for your support!
Best Regards
sUrfa