Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large Mysql Database and running Piwik at scale: challenges #6759

Closed
mattab opened this issue Dec 1, 2014 · 8 comments
Closed

Large Mysql Database and running Piwik at scale: challenges #6759

mattab opened this issue Dec 1, 2014 · 8 comments
Labels
answered For when a question was asked and we referred to forum or answered it. c: Performance For when we could improve the performance / speed of Matomo. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical. Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change.
Milestone

Comments

@mattab
Copy link
Member

mattab commented Dec 1, 2014

The goal of this issue is to keep track of all the ongoing challenges that come with running Piwik on large traffic websites. These issues may affect Piwik servers with more than 50M actions/pageviews per month.

See also ideas to research #1999 and continuous performance integration #2000

@mattab mattab added Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change. c: Performance For when we could improve the performance / speed of Matomo. labels Dec 1, 2014
@mattab mattab added this to the Mid term milestone Dec 1, 2014
@piwik-travis-automation piwik-travis-automation added the Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical. label Dec 1, 2014
@mattab
Copy link
Member Author

mattab commented Dec 1, 2014

Maybe there are Mysql based solutions (percona ? other engines?) that make adding INDEXes faster on multi-Gb databases?

Source: mysql performance blog

These tools are out there for years, yet it appears that still many MySQL users are not aware of them. Let me just name here pt-online-schema-change from Percona Toolkit, oak-online-alter-table from Openark Kit or Facebook OSC.

@mnapoli
Copy link
Contributor

mnapoli commented Dec 1, 2014

Maybe it would be worth considering alternative storage means, i.e. something that MySQL or RDBMS altogether (for large setups only). Just like Redis for the tracker is optional and meant for large setups.

That would mean a huge work on the codebase I can imagine, but if we can (painfully) get a 50% increase on the max volumetry with MySQL will that be enough? Do we need to scale much bigger, like ×10?

@mattab
Copy link
Member Author

mattab commented Dec 2, 2014

This issue here is not really about scaling further but rather investigate existing issues at current scale (and these issues will get worse / more frequent as we grow and as time goes by). Alternative storage means are discussed in #1999 with focus on mysql engines for now because implementing any other solution (such as a nosql DB) would take us 1+ year of development.

Edit: maybe some of these challenges above cannot be solved with Mysql alone and then we can re-assess... but hopefully we can find some smart solutions to some/most of these :-)

@mattab
Copy link
Member Author

mattab commented Feb 8, 2015

very interesting blog post Avoiding MySQL ALTER table downtime

@mattab
Copy link
Member Author

mattab commented Apr 7, 2015

A lot of progress has been made (i've edited the issue to cross out issues that are now done). We are continuing to work on performance and will do this one next: scale the Website Manager when there are thousands of websites (#3838)

@dmitrizzle
Copy link

Hey Matt, et all, not sure if this is the right place to post this, but I was wondering if there are any procedures for removing features or blocks of features from Piwik setup/DB?

I am running analytics engine that takes use of Piwik's Event Tracking engine. We are operating on websites with 3M+ uniques and are looking to grow. Since we aren't using all of the features of PW, perhaps there's a way to "lighten" the whole thing? Like a race car :)

@mattab
Copy link
Member Author

mattab commented Sep 3, 2015

hi @dmitrisgit, the official way is to disable some plugins from Piwik > Administration > Plugins, this will speed up the Tracker, Archiving, and possibly the UI as well.

@mattab
Copy link
Member Author

mattab commented Oct 2, 2016

Will now close this issue as we did a lot of work over the last two years and have solved most obvious issues. Piwik 3 will go even further with BIGINT fields to let users track by default more than 4 billion actions & visits.

We'll discuss further performance issues/ suggestions in separate issues. Check the tag c: Performance: https://github.com/piwik/piwik/labels/c%3A%20Performance

@mattab mattab closed this as completed Oct 2, 2016
@mattab mattab added the answered For when a question was asked and we referred to forum or answered it. label Oct 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
answered For when a question was asked and we referred to forum or answered it. c: Performance For when we could improve the performance / speed of Matomo. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical. Task Indicates an issue is neither a feature nor a bug and it's purely a "technical" change.
Projects
None yet
Development

No branches or pull requests

4 participants