配置Matomo以提高速度
配置Matomo以提高速度
- 默认情况下,Matomo (Piwik)工作在实时.但当跟踪一个大型网站时,它是很高的建议禁用“实时”报表例如,每隔1或6小时才处理一次“今天”的报告。这样,对用户界面的访问将只读取预处理过的报告。
注意:实时访客小部件和访客日志将仍然实时工作,只有“今天”的其他报告(最佳关键词等)将不包括最新的访问量和页面访问量。另请参阅高流量网站的报表预处理需要多长时间? - 更新Matomo到最新版本-如何为高流量Matomo服务器.有时,新的Matomo版本在非常大的mysql表上包含SQL模式更新(当添加新字段、新索引等时)。模式更新可能需要几分钟或几小时才能完成:通过shell/命令行运行Matomo更新程序会有所帮助。
配置服务器以提高速度
以下建议有助于配置服务器的最大速度:
- 主持Matomo强大的专用服务器当追踪每月超过100万网页浏览量的中等至高流量网站时,建议使用。
- 你需要的服务器(和CPU, RAM,磁盘)取决于你每个月跟踪的页面浏览量。无论您是跟踪100万或更少的页面浏览量,1000万的页面浏览量,1亿的页面浏览量,甚至更多,您可以找到我们的服务器大小的基本建议Matomo服务器需求用户指南.
- Matomo (php/Mysql)将受益于服务器上显著的RAM内存:1GB内存是建议Matomo在非常大的网站上处理报告的最小内存,RAM越多越好!
- 请使用PHP7和最新的稳定版本。(与PHP5相比,PHP7带来了巨大的性能改进)
- 重要的是使用PHP缓存为了高性能。幸运的是,PHP5和新版本(如PHP 7)默认包含这个PHP缓存。
- 建议使用轻web服务器,如Nginx或者lighttpd,可以更快更有效地替代Apache或IIS
- 不要在共享/集群/网络文件系统(如NFS或glusterfs)上使用Matomo。网络文件系统比较慢,并且会在Matomo之上产生很大的开销。所有Matomo文件请使用标准文件系统。
- 对于高级用户,您可以设置Matomo工作在一个负载平衡环境在负载均衡器后面使用多个服务器。
- 跟踪API:如果你管理一个高流量的Matomo服务器,你可以很容易地设置Matomo跟踪API使用Redis(或MySQL)数据存储极其快速和可扩展的跟踪API请求。了解更多有关QueuedTracking插件在我如何配置Matomo使用Redis以获得更好的可伸缩性?
- 跟踪器API:如果' Provider '插件在你的Matomo中被激活,互联网提供商通过反向DNS查找,这增加了几毫秒的开销。为了跟踪你的访问者的isp,它将更快地使用DB-IP到ISP数据库的IP地址或MaxMind的ISP数据库.阅读更多关于安装它们的信息在这里.或者,为了获得最佳性能,你可以禁用“Provider”插件(自Matomo 2.15.0以来,该插件默认对所有新用户禁用),并跳过可能较慢的反向DNS查找。
配置数据库服务器以提高速度
Matomo的性能与Mysql数据库服务器的性能密切相关,因为所有Matomo数据都是使用Mysql查询存储和聚合的。
- 如有可能,请使用固态硬盘(ssd),因为它们通常更快。
- 的粗略估计Matomo Mysql数据库大小的使用大约是1GB每5M的页面浏览量.如果你的网站每天有10万页浏览量(每月3百万页浏览量),那么一年后你的数据库大小可以达到7GB。
获得良好性能的一个重要因素是保持跟踪的唯一url的数量较低。请确保你设置忽略URL参数您不希望在URL中计算(例如会话ID参数)。在Matomo中跟踪的url越少越好! - 如果您的DB服务器设置为写入/读取复制(或主-主或主-从),在Matomo中配置您的读者数据库服务器,以显著提高性能.
- 我们现在默认使用Mysql Innodb表(而不是Myisam),这会导致更多可靠性.通过调优Mysql innodb设置可以提高性能。你可以增加innodb_buffer_pool_size选项,只要它适合RAM,这将提高一般Matomo性能。我们建议将innodb_buffer_pool_size设置为MySQL可用RAM的至少80%(如果您的RAM超过8G,甚至可以设置更高的比例)。
- 在MySQL配置中,你也可以设置
innodb_flush_log_at_trx_commit = 2
(参考),这将显著增加跟踪器的吞吐量。 - 我们建议配置MySQL和指向
tmpdir
到RAM中的文件系统中使用TMPFS的示例,而不是使用磁盘上的TMP目录。由于MySQL使用tmpdir来创建和存储临时数据集,当只需要使用RAM时,它会带来额外的速度。 - 如果数据库空间有限,这样做可能会有所帮助删除旧日志例如,超过6个月的访客记录。它有助于保持数据库大小更易于管理。
- 为了充分利用MySQL,有必要对设置进行优化,以处理高负载和大型数据库。有几个MySQL设置可以调优,以提高性能。要获得最佳MySQL设置的建议列表,我们建议使用Mysql调优入门或Mysql调谐器工具。
- 参见optimizationmysql.com上的Innodb I/O.
- 官方Matomo Anal亚博ap下载ytics云服务可以支持高流量Matomo服务器每月可跟踪5亿次操作。
- 如果你的网站每月跟踪100亿+页面,Matomo可能会开始达到php内存限制或其他mysql或硬件限制。2020欧洲杯亚博 我们帮助每月在Matomo成功跟踪多达10亿次操作的客户。
优化你的网站跟踪速度
- 我们在文章中介绍了网站跟踪速度的性能改进:今天可以应用的性能优化可以更快地加载Matomo JavaScript跟踪器其中我们讨论了piwiki .js的浏览器缓存,启用GZIP,以及DNS服务器的浏览器预加载和JavaScript跟踪文件的预加载。
- 为了提高跟踪速度,你可以以特定的方式嵌入JS跟踪代码,例如在加载事件之后嵌入跟踪器,延迟跟踪,甚至根本不加载JavaScript跟踪器。在我们的指南中了解更多不同的方式嵌入Matomo跟踪代码更快的网站性能
资源
联系我们任何建议或问题:我们将确保您充分利用Matomo。如果您想让我们照顾您的Matomo,我们可以将您的所有数据迁移到我们的Matomo云服务,无需额外费用。
下一个常见问题:推荐设置Matomo高流量网站与数百万的页面浏览量