The goal of this issue is to document in the FAQs
follows up #6800
Maybe we could even write a blog post on how to use Redis when using Piwik in a load balanced environment and also include QueuedTracking plugin for handling peaks etc. I will create an issue for this.
Maybe something like this? @mattab
By default Piwik caches data in the local filesystem of each server. If your Piwik environment consists of multiple servers a common problem is that caches are only invalidated on one server instead of all servers. To workaround this we recommend to use a shared cache for all of your servers. You can do this by installing and configuring Redis.
To use Redis as a cache follow these steps:
config/config.ini.php. Make sure to adjust the section
[RedisCache]to your needs. You have to make this change on each of your server.
[Cache] backend = chained [ChainedCache] backends = array backends = redis [RedisCache] host = "127.0.0.1" port = 6379 timeout = 0.0 password = "" database = 14 ; In case you are using queued tracking: Make sure to configure a different database! Otherwise queued requests will be flushed
By default Piwik uses the filesystem as a session handler. If your Piwik environment consists of multiple servers a common problem is that multiple sessions are created per user meaning a user might have to log in multiple times and a log out might actually log out a user only on one server. To workaround this there are two options:
To use Redis as a session handler follow these steps:
php.inion each of your server:
session.save_handler = redis session.save_path = tcp://127.0.0.1:6379?database=10 ; In case you are using queued tracking or Redis as a cache: Make sure to configure a different database! Otherwise queued requests will be flushed ; multiple servers can be configured comma separated session.save_path = "tcp://host1:6379?weight=1&database=2, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"
session_save_handlerto an empty value in the config file
config/config.ini.php. You have to make this change on each of your server.
[General] session_save_handler = ""
assigning to @mattab for now to put it into FAQ in case it is ok
Text is very clear, both FAQs have been published:
Nice new resource for admin who want to re-use the power of Redis!
“session.save_path = tcp://127.0.0.1:6379?database=10”invalid ，Excuse me where is the problem？