One of our customers is using piwik on a high traffic website. To handle all the request there are two nodes with piwik behind a loadbalancer.
There are some problems appearing with this system configuration. When changes are made to plugins, the settings are stored in the local config file. But this happens only on the machine the request has been sent to. So plugins are active only on one of the two machines.
This also brings problems when installing new plugins, that try to make database changes in install method.
This is a known bug - users with multiple boxes would have to rsync the config files over, and purge tmp/*
The config file is necessary to store Super user settings and allow override of other settings from global.ini.php
can you think of a solution that we could implement in Piwik to make it a non issue, or is it a won't fix?
Use bootstrap.php to define PIWIK_USER_PATH -- and point it at a shared network directory to host the config and tmp folders.
Well, as I'm having the same issue I wouldn't recommend to build some complex thing like tracking machines in a cluster and pushing changes to it.
Just do some simple things:
Pushing an update requires less resources.
If we move the config (except db connection info and maybe superuser), we'd have to maintain lastModified timestamps for the config and site tables, so machines could determine if they need to refresh cache files or not. Adding this query to the tracker would impair tracker performance.
The session issue is covered by another ticket.
I think a wont fix for now. It makes sense to tie config file to enabled plugins and database infos.