Prestandaproblem med Matomo?

Har ni prestandaproblem med er Matomo server? Då är ni är inte ensamma, men misströsta inte för Matomo behöver inte vara långsamt. Vi vet, våra miljöer klarar mer än 500 miljoner actions per månad. 

Här ger vi några grundläggande tips men du kan också hämta hem vår prestandaundersöknings-enkät för Matomo via formuläret längst ner på sidan. 

Ta mig direkt till formuläret

Varför är Matomo långsamt?

Matomo är en databas-beroende applikation vilket betyder att när man sätter upp sin Matomo-installation behöver man vara duktig på att optimera databasen. Det finns givetvis endel enkla grundläggande saker man kan tipsa om direkt, men har man en större installation med mycket data (miljontals besök på sina webbplatser) så krävs det kompetens på både Matomo och databaser för att det skall fungera bra. 

Vem ansvarar för Matomo?

Vår erfarenhet säger att om man har problem med prestanda i Matomo handlar det nästan alltid om brister hos den som tar hand om systemet. Det är extremt många IT-avdelningar, webbyråer, hosting leverantörer men även bolag som säljer Matomo som tjänst som säger sig kunna Matomo.  De installerar Matomo åt sina kunder (eftersom detta är enkelt), men sen man har egentligen ingen kompetens på systemet vilket nästan alltid leder till problem i slutändan.  

Prestandaproblem är det ni kanske upplever, men har man prestandaproblem finns ofta även andra stora brister i säkerhet, privacy och detta kan vara allvarligt.



3 saker ni inte får missa för bra prestanda

Detta är ett absolut minimum, det finns såklart mycket mer men detta är grundläggande. 

Databasen

Kör inte MySQL med standard konfigurationen, se till att databasen får minne och resurser utifrån era behov. 

PHP konfiguration

PHP är språket som Matomo är skrivet i. Det är jätteviktigt att även PHP får rätt resurser. 

Arkivering

Arkiveringen är den funktion som omvandlar rådata till aggregerade rapporter i Matomo. Denna funktion skall köras med hjälp av cron-jobb och få rätt resurser.

Matomo databasprestanda 

Ni bör köra MySQL eller Maria DB, detta är vad Matomo utvecklas för så även om man i teorin kan köra MSSQL tex så är det verkligen inte att rekommendera. 

De viktigaste parametrarna  att hålla koll på är (minimivärden):

innodb_buffer_pool_size=1000M
max_allowed_packet=2G

Matomo PHP konfiguration

De viktigaste parametrarna  att hålla koll på är (minimivärden):

memory_limit = 512MB

Matomo Arkivering

Matomo arkivering skall köras med cron och absolut inte med standardinställning där det aktiveras via webbläsaren (detta är för utveckling).  Dettta behöver man ställa in på servern i filen /config/global.ini.php 

enable_browser_archiving_triggering: 0

Sedan måste ni köra Matomo arkiveringen med cron på servern, det kommandot kan se ut ungefär såhär:

/console core:archive


När systemet växer, växer kraven

Ofta funkar Matomo initialt, men när man samlat in data ett tag växer databasen och det är då prestandan påverkas om leverantören inte gjort jobbet. 

Custom reports 

När man skapar en custom report så skapas det nya jobb på Matomo-servern, dessa jobb kräver mer prestanda och i stora miljöer så krävs det ofta att man sätter upp dedikerade processer för att detta skall fungera snabbt. 

Segment 

Segment är en av de största prestanda-tjyverna i Matomo, eftersom varje nytt segment skapar ett nytt jobb på servern i Matomo. 

Tips för segement (och bättre prestanda)

  • Se till att undvika segment med "contains" vilkor, dessa skapar onödigt tunga databasfrågor. Om möjligt anänd "Starts with" istället. 
  • Segment skall bara användas till att titta på Visits, många skapar segments för att tex titta på sidvisningar under /news. Detta är ett feltänk, ta bort denna typ av segment och använd custom reports istället. 
  • Se över persinliga segment. Ofta skapar användare upp egna segment som är snarlika andra segment, men varje segment blir som sagt ett jobb i Matomo. Städa undan och dela bara ut behörigheten att skapa segment till personer med kompetens på Matomo. (Skicka dem på kurs hos oss tex). 

Rådata (visitor loggen)

Detta är den enskilt största tabellen i databasen och det kan vara frestande att låta all data ligga kvar för evigt, men om ni gör det så måste ni verkligen ha kompetens på MySQL. Vissa funktioner kommer dessutom alltid vara långsamma med mycket data, då dessa funktioner gör komplicerade frågor (joins) mot just denna tabell. 

Den vanligaste funktionen folk upplever som långsam är "Transitions". Denna går dock att optimera genom att man adderar index till tabellen i Matomo. 

ALTER TABLE  `matomo_log_link_visit_action` ADD INDEX `transitions_url` (  `idaction_url` ,  `idsite` ,  `server_time` ), ADD INDEX `transitions_url_ref` (  `idaction_url_ref` ,  `idsite` ,  `server_time` );
ALTER TABLE  `matomo_log_visit` ADD INDEX `transitions` (  `visit_entry_idaction_url` ,  `idsite` ,  `visit_last_action_time` );







Vill ni ha vårt frågeunderlag för prestandaoptimering av Matomo eller hjälp av våra experter?

Vi gör en snabb koll och ger er ytterligare tips. 

Låt oss hantera prestandan i Matomo

 testa Matomo SaaS från Digitalist

från 2499 SEK / månad

Räkna på er månadskostnad