Hello everyone and welcome to this second day of the Matomo Camp.
So for the moment everything is going well, I hope that will be the case throughout this
second day. We are lucky and honored today to receive Valentin Bares who works
at Empreinte Digital and who is actually the person who manages all the streams that we
have today and that we had yesterday in Matomo Camp. Just to say a few words about Valentin,
so Valentin is DevOps at Empreinte Digital which is a company located in Angers. His main
mission is the deployment and maintenance of the cloud structure in SAS mode of the Empreinte
Digital which is a data center that is spread between Angers, Rennes and Tours. In this
conference, Valentin will tell us how we manage a Matomo instance on a daily basis,
whether it is an instance that is very simple, that does not have a lot of traffic,
up to an instance that has up to 5 million visitors per month. So it is above all a
conference in experience return mode for nearly two years. Empreinte Digital and Valentin
are currently managing a client that some of you may know, which is PIX. PIX is
actually a platform that allows you to test digital knowledge which is notably used
in the world of higher education. It is a little bit the equivalent of TOEIC but
in digital culture mode. So it's a little bit like how we could see it in the
conference yesterday hosted by Roré from the Digitalist AB team. We are on a site
that receives a lot of traffic and which manages to keep up with a Matomo who is
there to monitor all of this. That's it. Listen, I'm going to leave the floor to Valentin. Do not hesitate
during the whole conference to interact, to ask questions on the platform which I remind you is
chat.matomocamp.org on which you can register. You have a room that corresponds
to the conference we currently have. You ask all your questions there. And if you
want to continue to ask questions to Valentin, do not hesitate to use this chat
which will be active for the whole day. I wish you all a very good conference.
Hello everyone. So first of all I'm going to try to fix a little problem at the
level of the conference because a priori it does not appear. So I'm going to allow myself to
upload the conference to you. These are the little direct alerts we are going to say.
So
I'm sorry for this little setback.
Downloaded. So hello everyone.
My name is Valentin. Thank you Renan for giving me the floor to talk to you about what is a
upload of Matomo. So we're going to talk about how it is possible to create a Matomo
instance easily. To show how easy it is to set up and maintain a software.
And also to see how it is possible to upload up to loads that we
were able to meet yesterday in the first day up to 50 million visits per month, etc.
So first of all, who am I? My name is Valentin Barret. I am a DevOps Engineer at
Empreinte Digital. We have been running Matomo for a little over two years. We started
little by little on this software by obviously appetizing to open source and to
offer additional service to our customers. And so for two years we have acquired a lot of
experience until we will see, we will reach rather interesting numbers on the
management of Matomo instances. So do I have to introduce Matomo? Well, not really,
we are at MatomoComp, but I still wanted to say a few things. It was that Matomo,
it is formerly Peweak, that it has existed for a very long time. It is an open source software
for web statistics, successor to PHP MyVisit and designed to be an alternative
free to Google Analytics, Matomo works on PHP and MySQL servers. And as Renan
said very precisely yesterday, you should know that Matomo is neither more nor less than a database
with data that we collect as we go. And what is also interesting is to
say that Matomo is a software that has existed for years and years and that it is based
on essentially two bricks, PHP and MySQL. So it's only two simple components
that allow you to have a tool as powerful as Matomo. PHP which will allow you to process
information, so obviously there is a bit of language, now there is JavaScript, there is PHP,
there is a little more tuning around all that, but originally you have to know that it is really
two technologies, the simplest possible to create analytics tools that we know today.
So the first approach with Matomo. So I have my little images that do not work
because of the PDF rendering, but it does not matter. The first approach with Matomo. So I just want to tell you the story of the
implementation of Matomo as we could hear it today. That is to say that I place myself
as a dev, I am not a dev, I am a sysops with a dev habitat, but I place myself
as a dev, I have an application, I want to test the audience, Google I do not like it too much,
I know that there are some privacy problems, I have RGPD, etc. So I tell myself,
I type on Google, I easily come across Matomo and I tell myself that it seems to correspond to my needs,
in addition, I looked at the list of integrations, I can integrate it very easily in WordPress,
in Hugo, etc. There are more than 40 integrations that have been created by the community.
So I tell myself, but ok, perfect, I'm going to put a piece in this software.
And so there, what I can see is that Matomo can track up to more than 100,000 pages,
so page views per month, with, let's say, quite a few resources, that is to say 2 CPUs,
2 GB of RAM and 50 GB of SSD for the disk in particular. So that means that on my application
that I put at my disposal for my development, which aims to sell, I am a dev,
I created a product, I want to sell it, I want to make it known, etc. And I want to see
how the users use it. And well, quite simply, I will be able to track,
let's say, the user on the functioning of my website. And all this without changing hosting,
without adding CPU cores, because I took a forfeit at OVH, at Scaleway, at Emprunt Digital,
and it is possible to have my hosting next to my Matomo. So it's easy to install,
I have my integrations, easy to maintain, it's PHP with a database, there may be
some surprises, but overall all the updates are going pretty well. It corresponds to all my
needs. My goal at the beginning is to really have my page views, to know how many people
access my application and how many pages of my application have been consulted, etc.
And it works automatically, that is to say that once we have installed the Matomo,
once we have put the tracking, the data almost easily enter the application
and it is possible, in addition to that, to consult them so easily. So there,
the image is missing, it doesn't matter, I'm talking about 100 to 1 million users,
but for now you offer us to have an installation for a few users, because I remind you
that here, my goal at the beginning was to create my application, to have tracking,
but I know that when I start a business, unless I have been driven by big guys,
I will only have a few users who will, how to say, consult my application at the beginning.
So you tell us, I'm going to go from 100 users to more than a million,
but how are we going to do it because we are on an installation that is 2 CPUs,
2 GB of RAM, and in addition to that you show us that the requirements can go only up to
100,000 pageviews per month. No, no, I'm not fooling you, don't worry,
my application works well, we want more visitors, I have more visitors,
my business is developing, it's great, I go from me alone in my garage to a little more
in my company that I created in order to develop my product, and so I have a team
around that in the company. We are now 3-4 devs, I had a web analyst
enter my company because we know that it is also important today to know the
audience, especially on products in extra web. And so suddenly the web analyst tells me
oh there we are starting to have a lot of traffic, but on the other hand there is a latency for my access to my
Matomo. So a little aside, I'm talking to you about a feedback, it's pretty much
what we had, that is to say that more than two years ago, it's been a long time since we used Matomo,
but it's been more than two years now that we're trying to promote it, also for our
clients I mean. We were using Matomo and we realized that damn the access now to the
websites could be a little slower by a few milliseconds, but the web analyst
told us yeah it's still a bit embarrassing because it slows down almost the entire stack
just because we added tracking. So there is a pretty simple tip to improve
the experience in terms of access to tracking and therefore easier recording.
So we talked about it yesterday with the first talks of Tips and Tricks, and then
globally all the people who talked about infrastructure. The must-have in this case,
and in almost all Matomo installations, is obviously the Qt tracking.
What is Qt tracking? Well, it's the tailing of the statistics, how to say,
of the user's follow-up code in a queue. So here we are talking about Redis or MySQL,
which will allow us to wait for the records of the website and to ingest them,
to feed them by MySQL in batches, that is to say that rather than putting them one by one
as we go along and having a complete follow-up of the request until it is stored,
here we are going to put the different requests in a box and once this box is filled,
we put it in, how to say, Matomo's PHP, which will say, oh look, the box is filled,
I'm going to put this box directly to the database. And that, by the way, greatly improves
the performance. So that's what I'm saying, the principle is simple, a waiting line
to record more quickly the accesses and reduce the load in a tight flow. More info,
I put the link of the plugin QtTracking, do not hesitate to go and check it out,
it is really very interesting and we have been able to see it over the different conferences,
it is a must-have. So it's great, I have a demo, I'll try to do it,
I hope it works, otherwise I'll skip it and then it's not very fun. So it's great,
the web analyst tells me, great, thanks to your little optimizations, you were able to
increase the score of the page load, etc. And on top of that, we didn't need to
take up an additional hosting, oh damn, I'm sorry, the diagram doesn't work,
it doesn't matter, I'll do it for you. We will say that we have the users here, we have
the matomo here, finally the inframatomo, we improvise, it doesn't matter. And so, where before I had my matomo with my database,
I could, so I'm just going to make a little note here, and add here. So the users
arrive on matomo and there is a connection between the database and matomo, we were able to add
here what we call QtTracking via a Redis database. And so from an infrastructure point of view,
it's very simple, we have the user who will record the requests in the matomo,
and rather than going from matomo to the database, we will go through the Redis which will allow us
to stamp all of these requests and therefore to avoid overloading the PHP used by matomo
and also by the application, we can imagine that it is a Wordpress, a Drupal, any PHP application,
and therefore that the PHP is shared. And so rather than overloading the PHP of the entire machine,
so the small VPS that we can imagine, we will just pass the plates in the Redis and matomo
will act, we will say at an almost regular interval, to launch the integration of the requests
in the database. So we have a very simple infrastructure, we can scale, so we went from
a few users to, we will say, we can perhaps imagine several thousand users in the infrastructure
without changing much. QtTracking is a really important asset in matomo. And that's
great, that is to say that even if we have our business that is increasing, that we have more and more
users, we have a small plugin to install and let's go, we can delay the increase
of the infrastructure. So the demo, I'm not going to do it, we'll do it at the end if I have time
to really show you how effective it is. In theory, the demo is a success.
And so I ask myself the question of how to make sure of the point of break. Obviously there I
told you, the web analyst told us, here I would like to increase the response time of
access to tracking, so small JS or small PHP request, etc. for matomo. But there is another
problem, that is to say that obviously we delay the increase of the infrastructure. I remember
earlier we were on two 2 GB RAM CPUs, 50 SSDs. Come on, we said to ourselves, we went from 4 GB RAM CPUs,
great, we were able to increase the load even more, but now I'm starting to have a lot of
slowdowns on my application, as much as cms, imagine it's a cms, than for the integration of
data in matomo. And on top of that, I have the impression that sometimes it's not quite representative
of what can happen. So how to detect problems? So obviously the first problem
which is quite simple to identify is the slow access. We have trouble accessing the application,
rather than loading the application in 1 second, 500 milliseconds, etc. We find ourselves at 3-4
seconds, we have errors 500 in server and in addition we have timeouts that appear in the
vhost, in the matomo application. So small aside, second small aside, I'm talking about
concepts, I'm not talking about techno. All this can be done in barmetal, in container, in sass,
knowing that the sass obviously it's not really you who manage, but we can still
realize small slow access and small timeouts, even errors 500 if we have monitoring etc.
In short, I'm talking about concepts and there is no techno behind all this, you do it as you
want. This is also the advantage of this matomo application, it's PHP, so it's
relatively standard, so you do it roughly as you want. So how to detect problems?
These small indicators can tell us, ah it's weird, that's it, my matomo I have the impression that it is
a little overloaded. So how can we increase the load? So I said a little bit
earlier, we can increase the cpu, we can increase the memory and hop it starts again,
indeed we can increase the cpu, we can increase the memory and it starts again,
we will say almost. It's not that complicated to increase the load, but we can't increase
infinitely, that is to say that at one point we are not going to order machines with 128 cpu,
3 terabytes of ram, 6 terabytes of storage, just for the pleasure of our eyes, we will say, and to
say to ourselves, it's good, I'm going to manage my matomo infrastructure. No, it can't work like that.
For what reason? Simply high availability. Our business, we started from a developer
to a team of developers and now that's it, I feel like I'm well into the business and
then it's really part of the identity now, the analytics, I offer products with
analytics etc. So it really has to be that this matomo infrastructure is a key point
and an additional motivation to ensure it in the infrastructure of my company. And
so for that, you obviously have to have high availability. High availability goes through
what? Well, through a lot of things that we will see just after. So can we scale horizontally?
I'm sorry, every time there are small diagrams but I will provide them to you after with the
PDF better generated. So can we scale horizontally? In high availability,
we can ask ourselves this question. Can we scale horizontally? Yes we can.
What components? The PHP application, the Redis, the database and of course we don't forget,
last but not least, a LB. LB for calls, for technical names or for techniques,
the load balancer, so to manage the load on the different PHP applications.
The advantage is that it is an application that is in PHP, which has different components,
which can work in different ways. We have seen it with the different conferences,
especially with the conference of our Italian friends, which was great,
I really invite you to go and see it. They have really separated each PHP component
with the cron, the task scheduler, the tracking, etc. So great, we know that Matomo,
we can scale it. That's good news. That is to say that from now on, we are able to
switch from a small infrastructure on a server, a database, to different servers,
a Redis database that can be clustered, several databases that can do read-write, etc.
In short, a pleasure. And here we don't have the infrastructure. So I'm going to
allow myself to add a small image because I find this one rather interesting. So I
ask you two minutes. On the page to manage the infrastructure, it is also to know the tools
for the Matomo camp. So I can afford to offer you the possibility to see what I
wanted to show you. And so now we end up with an infrastructure that is more complex.
So this is the visualization of what I was explaining to you just before. We have the
requests that arrive, we have a load balancer that is distributed on the different Matomo. So it
can be full applications or not, as I said at the moment, with different microservices,
which uses a Redis cluster or a Redis node. In short, there are plenty of solutions. And then
we have a MySQL database that is in replication, master-master, master-slave. In short,
obviously, we have plenty of imagination to improve the infrastructure. Obviously,
it is also limited by the choices that have been made by Matomo. We talked about it yesterday
with the different databases that would like to be integrated into Matomo. This is
the result of the MySQL that I took, obviously. Success! In relation to our little installation,
we asked ourselves questions and we realized now that it was possible to have
a Matomo infrastructure of highly available and scalable production. Great,
we went from 100,000 to more than 100 million visits per month. It's not me who said it,
it's obviously the Matomo requirements page. And I schematize a little because in fact,
once we understood how it was possible to add this or that component,
of what is this or that component, it is easy to... I say easy because we will see
that there are small subtleties, but it is relatively easy to understand how we can
increase the load of our Matomo. And I didn't talk about it, but we can even,
once we are comfortable with the infrastructure, we are comfortable with the different elements
that we have put at the level of tracking, etc. Put our little JavaScript code on a
CDN to further increase the possibility of quick access to different points of the globe.
I didn't show you that. Obviously, all of this can be done in bar-metal clusters,
in Kubernetes clusters, in SWAM clusters. I remind you, I'm not talking about techno,
I'm talking about concepts. Here we are on things that allow us to understand how
it is easy to go from 100 to several million users per month.
Well, a little surprise that we had in our experience is that the web analyst
wants to use a tag manager because the goal is to have even more ways to analyze the
use of the site. Great! Renan will tell you about it, tag manager is a great tool,
Renan Chardonneau and Renan Hélo, I remember, who talk about it regularly. These are great
tools, but we realized one thing, it is that in a clustered environment,
the tag manager is not really designed to be clustered. So there are issues
in this sense. We, in our case of client experience and return of experience,
had to find a solution relatively quickly. So how did we figure it out?
What does a tag manager mean? In fact, the tag manager cannot be
clustered, it cannot be used on all nodes. In fact, the tag manager is generated
locally on an PHP instance, which means that it depends on which worker it is generated
when an administrator uses the platform. So, quite simply, when an update
of the tag manager is done, if there is not something that allows you to link
the different... so here we are talking about javascript, the different javascripts
so that it is common between the different workers, there can be inconsistencies,
that is to say that a client, a user will arrive on version 1 of the tag manager while
the other will arrive on a version 2. It is not really the spirit that we want to have
and the behavior that we want to have. So for that, we had to... well,
we can ask the question of does that mean that the tag manager is not
clustered on the most complex platforms with different nodes? So that's not what
I mean. No, no, we can do it, of course, but there are a few tricks to achieve
the expected result. So, here I am talking about that. We could use a shared
file system between the different workers to have exactly the same code. So what
Mattomo recommends is that you have to synchronize when you are in a clustered environment
the PHP configuration. So this is typically the, we will say, base of knowledge
of the configuration of Mattomo and upload all the files and plugins
on each server. Okay, so actually, you need to have about the same base.
How can we make sure that there is always the same codebase etc. and on top of that,
reduce the perfs, avoid using an NFS or a shared file. I like hypotheses
or even an S3, etc. I don't want to lose too much performance because obviously
my application is clustered, etc. So suddenly, we say to ourselves, we have to synchronize everything,
but in the base of Mattomo, there is also the TMP and in the TMP, it is there that
the tag manager is generated, the tag manager JavaScript. And then we realize that, is
it really important to generate the TMP because it also contains a lot of things,
cache, etc. Does that mean that it is a file that is very regularly
written, with potentially a lot of access, etc. So if we put a shared file system,
this shared file system must be very efficient. So there, the same, to
redo the little aside, I'm talking about concepts and I say to myself, at the beginning, I don't want to
spend thousands of cents on super complex file systems, etc. so that it works.
So what can I do? So there, I'll do it for you. What can I do?
I have no solution, my tag manager is generated aside and if I want to update it,
I have to go to the machines, that I copy it, finally I don't know how to do it. So we,
the solution that we found, in any case in the emergency, finally in the emergency,
not in the emergency but in our case that we had, was to use SingSing. So SingSing,
I don't know if you know what it is, but it is a small tool that allows you to synchronize
different repertoires and in addition to that there is a management of the different versions of
files that have been synchronized. It's not live, it's in sync, but be careful,
we're talking about in sync in a few milliseconds. And above all, it avoids having
locks or a file system that is dependent on another machine and in addition to that,
avoiding concurrent accesses at the file system level. In short, we synchronized the tags. Great,
that is to say that we have our tag manager which is now available on all of our workers
and which allows web analysts who connect to the platform to take care of creating
the different tags etc. and to put them into production instantly. So obviously,
I'm talking about our case, it's a REX, we used SingSing, there are lots of other solutions,
it's up to you to do whatever you want. I found it interesting to talk about this little case
of the tag manager which is now almost an essential part of the use of Matomo
and which suddenly caused us some problems in our Matomo administration. So let's
make a point. I remind you that at the beginning we had our little dev who was alone on his project
who started to have his business which increased and suddenly he hired people, he hired
admins, he hired devops. In short, it's good, it's a company that is well oiled,
that uses Matomo at scale etc. And all that, I didn't tell you, but obviously these are
maintenance that can be done almost without downtime. I remind you that a database,
it is possible to put it into replication easily, it is possible to create a new Matomo worker,
to put in front a load balancer. So suddenly, the time to stop a Matomo on our
tiny 2GB RAM CPU, I redirect the traffic. We managed to scale the entire application,
to go from 100 users to more than a million, almost without downtime, by asking ourselves the
right questions, by having had a little feedback, by realizing that finally
the Matomo application was sufficiently well done to be able to scale it horizontally.
And especially by adding the Qt tracking which is a very important component in terms of
performance but also in terms of maintenance. I didn't talk about it obviously but the Qt tracking
also allows during maintenance to continue to recover the data. So it will
store them, store them, store them. And once the maintenance is finished, it will take them,
send them to the database and it will resume the course of its life, we will say, to store
the requests as and when needed. So great, but finally in summary, what did we see?
Well in summary, we saw that Qt tracking is a must-have. So I will answer questions
after but I saw a very small one from Ronan who was talking about the fact that Matomo is
important even on small instances. For me yes it is very important because it improves
a lot of things and it allows you to absorb traffic peaks. Can we scale easily?
Yes we can scale easily. We saw it in the concepts, it's easy. There are even
little tips for the tag manager when we have problems. Obviously there are always
some concerns about the load. We agree on that. I invite you to go
see yesterday's conferences. There were several who talked about these little problems,
we will say. And really they made very enriching feedback also on the
management and the scale of Matomo. So here I am. I will allow myself to show you
the slide, the little photo because normally I have a small image that is displayed.
We are in summary. We can go from a few hundred users per month to more than
5 million users. This is really a concrete case. It is thanks to our experience
of getting in charge that we get to this result. We reached more than 5 million
visits, more than 100 million views, more than 131 million shares. Obviously if you
are not necessarily familiar with Matomo, it may not be worth talking to you. But
these are figures that are quite impressive and on which we are rather satisfied
within the digital footprint team on our use and our getting in charge with Matomo.
Do we have anything else to say? Yes, because there we talked about getting in charge,
concepts, etc. The fact that we were not really dependent on Techno, just
the functioning of the architecture. We did not say everything. That is to say that we
still have a few small problems that can arise and that is in the generation of
reports. We still encounter a few problems with some customers. The generation
of reports takes a lot of time. These reports are generated by the account, etc.
So there are still optimizations to be made. It should not be forgotten that it is important
to increase beyond the Matomo application, the applications on which Matomo rests,
the timeouts of PHP, Nginx, Proxy, etc. to prevent that when there are generations
of reports, in particular the PHP is killed. There are optimizations of the base
of the data to be made. There is the optimization of Quick Tracking. I'm talking about the optimization
of Quick Tracking because we had a little trouble getting in charge when we had
a peak at one point. That is to say that the Quick Tracking worked correctly but we did not have
a view in the famous real-time. There is a small real-time that allows you to know
the number of users who are currently on the platform. In fact, it was still
at 0 and it was because the Quick Tracking was increasing, increasing, increasing, increasing,
until the PHP could no longer take the different loads and send it to the database.
So by optimizing a little bit, we were able to achieve more than 9,000 requests
in the last three minutes. So in the real-time visitor count, you will see,
more than 9,000 users in real time on the platform and for our greatest happiness.
And as our Italian friend said, he was looking at this little real-time count,
I was the same to check that everything was working correctly.
That's it, I'm done. I hope it was instructive. I hope it was, let's say,
not too complicated in terms of management concepts, etc. My goal was to see
general concepts to explain to you that finally the Matomo application was
well made enough to scale it and that we had little limit to get
on board with the application. That's it. So now I allow myself to go
to the chat to consult the different questions. So Renan who asks us,
should we put the Quick Tracking even on the infrastructure, in case we would have
a traffic peak? Indeed, the Quick Tracking, I recommend it de facto
on any type of installation because it is important to be able to absorb
these small traffic peaks. And if in addition to that we have an application,
so if we have our Matomo with our PHP application, how to say,
the Quick Tracking will allow us to avoid overloading the entire machine.
So I think it's important to put it. Knowing that we don't have to put
Redis with the Quick Tracking, even if I think it's not too consumerist to put Redis,
we can use the Quick Tracking in MySQL directly.
Have you had to make some modifications to improve the archiving?
So we tried to make some modifications at the infra level to manage the archiving,
in particular the limits at the PHP level, etc. And the limits at the level of memory and
the max time. We had cases where the generation took more than an hour,
so we had to optimize that a little bit. And that's one of the ways to improve
that we currently have. I think we really have to try to export
the archiving task on something else. I mean, try to make the archiving task
really easy, because it's something that is very consumerist.
Do you have any examples of cost-per-year ratios depending on the number of visits?
No, I don't have that kind of information, I'm sorry.
But for an infra that we currently have, for the numbers that I showed you there,
we're on five machines, I think. And all of them, let's say, with physical limits,
so flexible CPU RAM. So when we need to increase the load, either we add
a node when it's necessary, or we see that by increasing only the CPU RAM part,
we can absorb the load. Do you have a data system that warns you
when an analyst meets an error page during the report display?
Indeed, in this case, we don't want to be alone. So we actually have monitoring
on the pages. We use classic tools, like Uptime Robot,
PayGearDuty, things like that, that allow us to have errors.
It detects the errors when we make requests. But we also have a system of...
We work, we are very close to our clients, so we work with our clients
with chats, etc. So as soon as they have a problem, we are directly
guided by them to try to solve the problem. Knowing that each time,
there are small positive faults. The last time, it was the famous real-time
counter that was blocked. The fear was that the tracking queue
didn't work anymore, but the data was in the queue. It's just that
Matomo couldn't manage all the data in the database.
Okay. Valentin, can you hear me?
I can hear you very well.
Okay. I'm focusing on this question because sometimes, as a Matomo user,
we often see a message in red that appears in the reports saying that
the server is not powerful enough or that there is an archiving problem.
What I noticed in my clients is that when they encountered this problem,
they weren't questioning Matomo. They were just saying to themselves,
okay, I have to do this request later. They didn't dare to directly
warn the company that manages Matomo. I wanted to know if,
in the monitoring that you talked about a few seconds ago, is it
this type of error message in red that would appear and ping you
and tell you that the person has encountered an error and that it motivates you
to dig and find out how it is possible that they have encountered an error message.
Is it this type of error that has arisen?
No, we don't have too much of this type of error that has arisen,
knowing that we regularly check the application logs,
we check the logs of the machine to make sure that we don't have
abnormal errors on the classic execution of the application.
I admit that, for the moment, this kind of problem hasn't arisen too much.
There is a client who has raised this type of problem on a small infra,
but on a particular case, that is to say that the URLs are extremely long.
It seems to me that the current limit in Matomo is 1024 characters or 4087,
but the fact that we have a lot of URLs that are very long,
it slows down the archiving a lot and it creates a problem in the interface.
So, here we have customer feedback and that's how we realized that,
for even small infra, sometimes it is necessary to drastically increase the resources
at the PHP level to be able to execute the archiving normally.
Okay, it is currently 9.45, we still have maybe 5 minutes to take a few more questions.
We have a new one that has just arrived in the chat.
How do you manage the archiving, do you cut it by segment or year or do you execute it normally?
So, we actually execute it normally, we don't have too many problems with that.
The screen that I sent you, the image that I sent you with our results
of more than 130 million actions, etc., it dates from October.
And so, we are going to work with the teams, our customers,
to discuss the improvement of archiving on this side.
It's going to be a discussion with them.
But otherwise, we normally execute the archiving.
That's it.
Great, so I'm looking to see if we still have a few more small questions coming in.
So, I see that Alexandra, we are told that it is still in writing, in the chat.
So, I take this opportunity to announce the two conferences that will follow right after,
on the costs of Deezer.
You have one on data visualization.
It's a conference in English, but it's done in French.
So, if some of you are not very comfortable with English,
I don't think it's a problem to follow the conference that's coming.
Otherwise, you have the opportunity to go to a workshop.
In this workshop, the places are limited.
That is to say that it is really the first to arrive, the first to serve.
And the workshop, as a reminder, we are based on 25 people who connect.
The workshop is on Implementing Advanced Privacy, Preserving Analytics on Mobile Desktop and Server.
So, probably more a conference that is related to private life.
And so, it will be a feedback on that.
So, it will be by Nathan Freitas.
And so, in room number one, the data visualization part will be with,
precisely, the presentation of a free software called MetaBase,
that maybe some of you know.
And it is presented by Baptiste Stephen, who works at Open Source Politics.
I look one last time if there are any questions in the chat.
Well, yes, we have another question from Alexandra.
Have you encountered errors like MySQL Server has gone away,
so there is an error that often comes up,
during archiving after having invalidated periods?
No.
So, it happened to us, but we increased,
we increased in particular the number of connections at the MySQL server level.
And I do not think we encountered this problem too much.
It seems to me that we were a little spared on this thing.
We had to meet it quickly, but it is not something that shocked me
in the maintenance and management of the infrastructure at the moment.
Sorry.
Great. But listen, thank you very much, Valentin.
Thank you very much to all of you for choosing this conference.
We now have 12 minutes for a coffee break.
Do not hesitate to interact in the coffee room if you want to discuss with other participants
or go for a real coffee.
Or, and do not forget, you can also go to meet.matomocamp.org
to also interact directly via webcam with other participants.
I give you all an appointment at 10 o'clock for the next conference game.
Thank you all.