chan-sccp / sccp_manager

SCCP Manager
21 stars 13 forks source link

Only Save Config Differences Back to DB #95

Open volkjohn opened 1 year ago

volkjohn commented 1 year ago

The SCCP Phone Manager page was taking over 12 seconds (on very old hardware) to load for me (with ~15 phones configured). After some profiling, I saw sccp_manager was truncating the sccpsettings table on every pageload, then inserting the exact same settings back into the database. This was severely hurting my ability to configure phones in a timely manner.

It seems there are many ways to optimize sccp_manager to reduce page load time. I focused on only saving the difference of sccpvalues in order to achieve around 6x speedup. Now when loading SCCP Phone Manager page, sccpsettings will not be truncated. Instead settings will be updated by row as needed.

Please let me know if you would like me ot refactor, rename, comment, or test this some more. I was able to change phone and line settings, as well as server config settings with the new code.