许多中高流量网站成功地使用Matomo (Piwik)来跟踪和分析他们的网站行为和性能。看到此常见问题解答关于高流量Matomo的一般信息
如果您希望在Matomo设置中提供高可靠性和更好的性能,你可以在不同的服务器上平衡Matomo服务.这很容易做到,但一定要阅读下面的文档。
Matomo将所有跟踪数据、报告、用户、设置等存储在共享的mysql数据库中。Matomo还需要读取/创建文件来存储信息,缓存,临时文件:

  • config/config.ini.php被Matomo的每个请求使用。它包含数据库访问,插件启用,各种设置,等等。只有当超级用户在管理界面中更改某些设置(激活插件,更改smtp设置等)时,文件才会被修改。该文件必须在每个Matomo服务器上同步。
  • tmp/*包含临时和缓存文件,如:编译的模板,生成的pdf,跟踪缓存等。这个目录tmp/ content可以安全删除,Matomo将自动重新编译模板并重新创建缓存。
  • 默认情况下,Matomo使用文件会话存储,通常存储在tmp/sessions或全局会话目录中(参见php.ini)。有一个配置设置来启用数据库会话存储,参见这个FAQ

当Matomo在负载均衡器后面使用时,需要遵循以下步骤:

  1. 同步所有服务器上的config/config.ini.php-确保config/config.ini.php文件在所有服务器上都是相同的(例如使用rsync)。
  2. 上传所有Matomo文件和所有插件到所有服务器,因为重要的是,你所有的服务器运行相同的代码库与所有功能,包括任何免费或付费插件从市场。
  3. 启用数据库会话存储(如果您使用3.7.0或更高版本,默认情况下应该已经启用)
  4. 在你的config.ini.php,在部分下方(通用),增加如下一行:multi_server_environment = 1.这个设置让Matomo知道你在使用多台服务器,例如它将不允许通过UI安装插件(或者插件只安装在一台服务器上),或者它将不允许从UI更改配置文件(因为配置文件只会在一台服务器上更新)。
  5. 我们强烈推荐在Matomo中启用SSL

然后Matomo应该在负载平衡的环境中按预期工作。例如,在3个服务器上负载平衡Matomo的常用方法:负载均衡器位于(2x)个跟踪/查询(1x)主mysql DB服务器的web服务器前面。为了进一步优化,可以添加一个(1x) UI web服务器,以处理所有API请求,UI请求和运行cron存档.该服务器还可以加倍并实现负载平衡。

通常,web服务器的操作成本很低(跟踪器,前端和存档),主DB服务器会更大(例如。多核,16G内存,快速磁盘访问),可以扩展到某个点(每月100亿次点击是可以实现的,一些用户甚至每月跟踪大约10亿次点击)。2020欧洲杯亚博

启用维护模式后,index . php端点将继续返回200作为HTTP状态码作为响应,而不是503

了解更多:如何配置Matomo的速度

如果您的负载均衡器被用作SSL代理,请务必阅读我们的常见问题:当服务器安装在代理后,如何配置Matomo ?

以前的常见问题我如何使Matomo更快?
Baidu