Currently when adding the "Goal Overview" widget to the dashboard or loading the Goal Overview report it will make at least 2 GET requests for each goal present in the Overview (At least one request for each sparkline per goal)
A Matomo server with just 7 goals for example makes around 25 requests just for sparklines on the Goals Overview.
On websites that have a large number of goals (For example >50) this can cause a spike in the number of PHP processes that can result in the maximum number of PHP child processes to be created, this results in the following warning:
"WARNING: [pool www] server reached pm.max_children setting (50), consider raising it"
This in turn results in unexpected performance issues that may be difficult to resolve (Other than simply removing the Goal Overview widget from the dashboard, but this doesn't solve the issue when loading the Goal Overview report)
Not sure if there is a quick fix for this sort of thing, other than somehow batching the requests for the sparklines so that it doesn't cause the child processes to be maxed?
For users running servers with a single endpoint (Tracking and UI on the same server) this can potentially result in the entire Matomo server being slow to respond to requests (Since PHP can't handle new requests coming in this could potentially lead to slow tracker performance or other issues)