Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. Support
  3. Cloudron v9: huge disk I/O is this normal/safe/needed?

Cloudron v9: huge disk I/O is this normal/safe/needed?

Scheduled Pinned Locked Moved Unsolved Support
graphs
43 Posts 8 Posters 3.6k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • imc67I imc67

    Thanks @nebulon for your time, together with ChatGPT I did deeper analysis but I also read this: https://docs.cloudron.io/troubleshooting/#mysql

    Two instances of MySQL
    There are two instances of MySQL on Cloudron. One instance runs on the host and is used by the platform. Another instance is the MySQL addon which runs in a container named mysql and is shared by apps. This test is related to the host MySQL.
    

    Doesn't this mean that the mysql service in iotop is the "host version" that has nothing to do with the apps?

    For now "we" (I) have seen this:

    Summary of Disk Write I/O Observation on Cloudron Host

    • Using iotop, the host shows consistently high disk write I/O (4–5 MB/s).
    • Analysis of MySQL processes (mysqld) indicates these are responsible for the majority of the write load.
    • The high write I/O is primarily due to InnoDB internal activity: buffer pool flushes, redo log writes, and metadata updates, mostly from the box database (eventlog, tasks, backups).

    In about 10 minutes this is the Disk Write I/O (so 1.5GB in 10 minutes)

    Total DISK READ:         0.00 B/s | Total DISK WRITE:         2.73 M/s
    Current DISK READ:       0.00 B/s | Current DISK WRITE:       4.25 M/s
        TID  PRIO  USER     DISK READ DISK WRITE>  SWAPIN      IO    COMMAND                                                                                                                  
      21250 be/4 messageb      0.00 B   1038.50 M  ?unavailable?  mysqld
        936 be/4 mysql         0.00 B    465.28 M  ?unavailable?  mysqld
    

    I stopped about 25% of the apps at a certain moment with no significant result, this is the current situation (IMHO not really intensive application and they have low traffic):

    App 	Status 
    Yourls	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Stopped 
    WordPress (Developer)	Running 
    WordPress (Developer)	Stopped 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Running 
    WordPress (Developer)	Stopped 
    WordPress (Developer)	Running 
    Taiga	Stopped 
    Surfer	Running 
    Surfer	Stopped 
    Roundcube	Running 
    Roundcube	Running 
    Omeka S	Stopped 
    Moodle	Stopped 
    LAMP	Running 
    Roundcube	Running 
    Roundcube	Running 
    Roundcube	Running 
    Pretix	Stopped 
    MiroTalk SFU	Running 
    Matomo	Running 
    FreeScout	Running 
    FreeScout	Running 
    Espo CRM	Running 
    

    What to do next to find the root cause?

    avatar1024A Offline
    avatar1024A Offline
    avatar1024
    wrote on last edited by
    #18

    @imc67 said in Cloudron v9: huge disk I/O is this normal/safe/needed?:

    I stopped about 25% of the apps at a certain moment with no significant result

    I think @nebulon was suggesting to stop apps one by one to see if one particular app is causing the problem.

    1 Reply Last reply
    1
    • robiR Offline
      robiR Offline
      robi
      wrote on last edited by
      #19

      Generally such system behavior is accompanied by higher CPU and Memory usage, so you can start with stopping those, and see which one causes a dip MySQL usage.

      Conscious tech

      1 Reply Last reply
      0
      • imc67I Offline
        imc67I Offline
        imc67
        translator
        wrote on last edited by imc67
        #20

        It’s a production server, isn’t it ridiculous to stop these apps to watch resource behavior? There must be tools or ways to find the root cause don’t you think?

        Beside that it’s the host MySQL does it has anything to do with apps?

        robiR 1 Reply Last reply
        0
        • imc67I imc67

          It’s a production server, isn’t it ridiculous to stop these apps to watch resource behavior? There must be tools or ways to find the root cause don’t you think?

          Beside that it’s the host MySQL does it has anything to do with apps?

          robiR Offline
          robiR Offline
          robi
          wrote on last edited by
          #21

          @imc67 Holding that limiting belief is keeping your problem unresolved, no?

          Sure, then trace it from the MySQL side, find which user, which container and so on..

          Yes, it has everything to do with the Apps that are using that DB instance.

          Conscious tech

          1 Reply Last reply
          0
          • jamesJ Offline
            jamesJ Offline
            james
            Staff
            wrote on last edited by
            #22

            Hello @imc67
            You can use the PID from the process to figure out what mysql service it is.

            e.g. your iotop shows for mysqld the pid 1994756.
            You can run systemctl status mysql.service and there is the pid displayed:

            ● mysql.service - MySQL Community Server
                 Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
                 Active: active (running) since Mon 2025-12-01 09:17:59 UTC; 1 week 5 days ago
               Main PID: 1994756 (mysqld)
                 Status: "Server is operational"
                  Tasks: 48 (limit: 4603)
                 Memory: 178.7M (peak: 298.0M swap: 95.4M swap peak: 108.7M)
                    CPU: 1h 41min 31.520s
                 CGroup: /system.slice/mysql.service
                         └─1994756 /usr/sbin/mysqld
            
            Notice: journal has been rotated since unit was started, output may be incomplete.
            

            So from iotop I can confirm that the system mysqld service is pid 1994756 so I'd know to inspect the system mysqld service and not the docker mysql service.

            You can also get the pid from the mysqld inside the docker container with docker top mysql:

            docker top mysql
            UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
            root                1889                1512                0                   Nov07               ?                   00:06:17            /usr/bin/python3 /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i Mysql
            usbmux              3079                1889                0                   Nov07               ?                   03:49:38            /usr/sbin/mysqld
            usbmux              3099                1889                0                   Nov07               ?                   00:00:11            node /app/code/service.js
            

            Then I know the mysqld pid of the docker service is 3079 which I can check again with the system:

            ps uax | grep -i 3079
            usbmux      3079  0.4  1.0 1587720 43692 ?       Sl   Nov07 229:38 /usr/sbin/mysqld
            

            Now we can differentiate between the two.


            Okay.
            Now that we can differentiate between the two, you can observe iotop and see which one has a high I/O.
            After you narrow it down to either one, then we can do some analysis what database / table get accesses the most even further narrow it down.

            1 Reply Last reply
            2
            • imc67I Offline
              imc67I Offline
              imc67
              translator
              wrote on last edited by
              #23

              Ok, thanks for your hints!!

              The result was PID 19974

              However:

              ● mysql.service - MySQL Community Server
                   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
                   Active: active (running) since Sat 2025-12-13 05:57:30 UTC; 1 day 5h ago
                  Process: 874 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
                 Main PID: 910 (mysqld)
                   Status: "Server is operational"
                    Tasks: 47 (limit: 77023)
                   Memory: 601.7M
                      CPU: 59min 14.538s
                   CGroup: /system.slice/mysql.service
                           └─910 /usr/sbin/mysqld
              

              And docker top mysql

              UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
              root                9842                8908                0                   Dec13               ?                   00:00:17            /usr/bin/python3 /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i Mysql
              message+            19974               9842                6                   Dec13               ?                   01:56:43            /usr/sbin/mysqld
              message+            19976               9842                0                   Dec13               ?                   00:01:31            node /app/code/service.js
              

              So ps uax | grep -i 19974 gives:

              message+   19974  6.6  1.8 4249604 1229136 ?     Sl   Dec13 116:48 /usr/sbin/mysqld
              

              So at least we now know that it's the Docker MySQL

              1 Reply Last reply
              0
              • jamesJ Offline
                jamesJ Offline
                james
                Staff
                wrote on last edited by
                #24

                Hello @imc67
                Now we can start analysing.
                Edit the file /home/yellowtent/platformdata/mysql/custom.cnf and add the following lines:

                [mysqld]
                general_log = 1
                slow_query_log = 1
                

                Restart the MySQL service in the Cloudron Dashboard.
                The log files are stored at /home/yellowtent/platformdata/mysql/mysql.log and /home/yellowtent/platformdata/mysql/mysql-slow.log.

                Let it run for a day or more.
                Then you can download the log files and see what queries run very often causing disk I/O.

                1 Reply Last reply
                3
                • imc67I Offline
                  imc67I Offline
                  imc67
                  translator
                  wrote on last edited by
                  #25

                  I enabled this en within seconds the log file was enormous, I asked ChatGPT to analyse it and here is it's observations: (too technical for me):


                  Some observations after briefly enabling the MySQL general log (Cloudron v9)

                  I enabled the MySQL general log only for a short time because of disk I/O concerns, but even within a few minutes a clear pattern showed up.

                  What I’m seeing:

                  • A very high number of
                    INSERT INTO session (...) and
                    INSERT ... ON DUPLICATE KEY UPDATE
                  • These happen continuously and come from 172.18.0.1
                  • As far as I understand, this IP is the Docker bridge gateway in Cloudron, so it likely represents multiple apps

                  I temporarily disabled Matomo to rule that out, but disk I/O and session-related writes did not noticeably decrease, so it does not seem to be the main contributor.

                  From the log it looks like:

                  • Multiple applications are storing sessions in MySQL
                  • Session rows are updated on almost every request
                  • This can generate a lot of InnoDB redo log and disk I/O, even with low traffic

                  Nothing looks obviously broken, but I’m trying to understand whether this level of session write activity is:

                  • expected behavior in Cloudron v9
                  • something that can be tuned or configured
                  • or if there are recommended best practices (e.g. Redis for sessions)

                  Any guidance on how Cloudron expects apps to handle sessions, or how to reduce unnecessary MySQL write I/O, would be much appreciated.

                  Thanks for looking into this.

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    joseph
                    Staff
                    wrote on last edited by
                    #26

                    Do you have happen to use nextcloud on the server? I think nextcloud+ldap keeps doing a login request when syncing for each file (which might trigger a login eventlog in mysql)

                    imc67I 1 Reply Last reply
                    0
                    • J joseph

                      Do you have happen to use nextcloud on the server? I think nextcloud+ldap keeps doing a login request when syncing for each file (which might trigger a login eventlog in mysql)

                      imc67I Offline
                      imc67I Offline
                      imc67
                      translator
                      wrote on last edited by
                      #27

                      @joseph said in Cloudron v9: huge disk I/O is this normal/safe/needed?:

                      Do you have happen to use nextcloud on the server? I think nextcloud+ldap keeps doing a login request when syncing for each file (which might trigger a login eventlog in mysql)

                      No there is no Nextcloud on this server

                      1 Reply Last reply
                      1
                      • J joseph has marked this topic as solved on
                      • imc67I imc67 marked this topic as a regular topic on
                      • imc67I imc67 marked this topic as a question on
                      • J Offline
                        J Offline
                        joseph
                        Staff
                        wrote on last edited by
                        #28

                        @imc67 not sure I remember why 😄 Does this mean that if you disable matomo temporarily, the disk usage goes down a lot?

                        Seems easy to fix now that we know the root cause

                        imc67I 1 Reply Last reply
                        1
                        • J joseph

                          @imc67 not sure I remember why 😄 Does this mean that if you disable matomo temporarily, the disk usage goes down a lot?

                          Seems easy to fix now that we know the root cause

                          imc67I Offline
                          imc67I Offline
                          imc67
                          translator
                          wrote on last edited by
                          #29

                          @joseph I’m pretty sure that more apps suffer from this issue since the introduction of OIDC, I see EspoCRM and FreeScout, also has a Healthcheck to root/ (where the OIDC login is), didn’t check the sessions.

                          1 Reply Last reply
                          0
                          • J Offline
                            J Offline
                            joseph
                            Staff
                            wrote on last edited by
                            #30

                            I have to test, but it seems like a matomo bug here (if this is all true). There is no need to create an OIDC session when visiting '/' . You have to only create OIDC session when OIDC login button is clicked.

                            1 Reply Last reply
                            0
                            • luckowL Offline
                              luckowL Offline
                              luckow
                              translator
                              wrote on last edited by
                              #31

                              My two cents: as soon as #28 is correct, this should happen with every Cloudron instance that has Matomo (and OIDC enabled). I looked at one of my instances that met the criteria. One of the Matomo instances had about 300 sessions stored in MySQL. The oldest entry is from Feb 26.
                              So maybe #28 isn't correct, or it's something that only happens on this instance.

                              Pronouns: he/him | Primary language: German

                              1 Reply Last reply
                              1
                              • imc67I Offline
                                imc67I Offline
                                imc67
                                translator
                                wrote on last edited by
                                #32

                                Maybe because the three installs are 5-6 years old and had many many updates/upgrades etc?

                                can you check how many sessions per hour are being created? Run this query:
                                sql

                                SELECT HOUR(FROM_UNIXTIME(modified)) AS hour, COUNT(*) AS sessions
                                FROM `<your_matomo_db>`.session
                                WHERE DATE(FROM_UNIXTIME(modified)) = CURDATE() - INTERVAL 1 DAY
                                GROUP BY hour ORDER BY hour;
                                

                                On my instances this shows exactly 360 per hour = 1 per 10 seconds = health check interval. If yours shows much less, the health checker behaves differently on your setup.

                                luckowL 1 Reply Last reply
                                1
                                • imc67I imc67

                                  Maybe because the three installs are 5-6 years old and had many many updates/upgrades etc?

                                  can you check how many sessions per hour are being created? Run this query:
                                  sql

                                  SELECT HOUR(FROM_UNIXTIME(modified)) AS hour, COUNT(*) AS sessions
                                  FROM `<your_matomo_db>`.session
                                  WHERE DATE(FROM_UNIXTIME(modified)) = CURDATE() - INTERVAL 1 DAY
                                  GROUP BY hour ORDER BY hour;
                                  

                                  On my instances this shows exactly 360 per hour = 1 per 10 seconds = health check interval. If yours shows much less, the health checker behaves differently on your setup.

                                  luckowL Offline
                                  luckowL Offline
                                  luckow
                                  translator
                                  wrote on last edited by luckow
                                  #33

                                  @imc67 one app instance (4y old)

                                  +------+----------+
                                  | hour | sessions |
                                  +------+----------+
                                  |    0 |        2 |
                                  |    2 |        1 |
                                  |    7 |        2 |
                                  |    8 |        1 |
                                  |    9 |        1 |
                                  |   13 |        3 |
                                  |   15 |        1 |
                                  |   17 |        3 |
                                  |   19 |        1 |
                                  |   20 |        3 |
                                  |   21 |        4 |
                                  |   22 |        1 |
                                  +------+----------+
                                  

                                  different app instance (7y old)

                                  +------+----------+
                                  | hour | sessions |
                                  +------+----------+
                                  |    3 |        1 |
                                  |    5 |        2 |
                                  |   15 |        4 |
                                  |   18 |        2 |
                                  |   19 |        2 |
                                  |   20 |        2 |
                                  |   21 |        4 |
                                  |   22 |        2 |
                                  +------+----------+
                                  

                                  health check is every 10 sec.

                                  Mar 07 18:00:50 - - - [07/Mar/2026:17:00:50 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:00:50 172.18.0.1 - - [07/Mar/2026:17:00:50 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:00 - - - [07/Mar/2026:17:01:00 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:00 172.18.0.1 - - [07/Mar/2026:17:01:00 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:10 - - - [07/Mar/2026:17:01:10 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:10 172.18.0.1 - - [07/Mar/2026:17:01:10 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:20 - - - [07/Mar/2026:17:01:20 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:20 172.18.0.1 - - [07/Mar/2026:17:01:20 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:30 - - - [07/Mar/2026:17:01:30 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
                                  Mar 07 18:01:30 172.18.0.1 - - [07/Mar/2026:17:01:30 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
                                  

                                  Pronouns: he/him | Primary language: German

                                  1 Reply Last reply
                                  2
                                  • imc67I Offline
                                    imc67I Offline
                                    imc67
                                    translator
                                    wrote on last edited by
                                    #34

                                    We also found some huge MySQL tables from a Wordpress-app with dedicated MainWP due to incorrect retention settings, after correction and deletion the 1 minute iotop -aoP -d 5 is still:

                                    • Docker MySQL: 70 MB
                                    • Host MySQL: 33 MB
                                    • go-carbon: 6.7 MB
                                    • jbd2: 9.9 MB
                                    • Total: ~103 MB per minute

                                    To put this in perspective:

                                    • 103 MB/min = 6.2 GB/hour
                                    • 6.2 GB/hour = 148 GB/day
                                    • 148 GB/day = 4.4 TB/month

                                    This is on a server with relatively low visitors across 10 sites. The vast majority of this write activity is caused by the issues identified above (Matomo health checker sessions, box.tasks accumulation, and app-level retention misconfigurations) — not by actual user traffic.

                                    Note: these are cumulative iotop counters, not sustained rates. The actual average write speed shown by Cloudron's dashboard is ~2.5-4 MB/s, which still translates to 216-345 GB/day of unnecessary disk writes on a lightly loaded server.

                                    1 Reply Last reply
                                    0
                                    • nebulonN Offline
                                      nebulonN Offline
                                      nebulon
                                      Staff
                                      wrote on last edited by
                                      #35

                                      There is a lot of information here, but I think it got all a bit too mixed together making it unclear what might actually case the disk I/O. For a start, upserting sessions in mysql does not mean it would sync to disk all the time, so this may or may not be related. Also it is unclear to me when and why how much disk I/O is expected and when it is an issue. So it becomes even harder to properly respond here.

                                      Maybe we can try to separate the issues mainly first focusing on the potentially unnecessary session creation by the healtheck and that also ideally one application at a time. Maybe you can create those issues at the individual app packages to track those better, otherwise those issues easily get lost until such time we have resources to look into those.

                                      1 Reply Last reply
                                      1
                                      • nebulonN nebulon forked this topic on
                                      • nebulonN nebulon forked this topic on
                                      • imc67I imc67 referenced this topic on
                                      • imc67I Offline
                                        imc67I Offline
                                        imc67
                                        translator
                                        wrote on last edited by
                                        #36

                                        Thanks @nebulon for dividing the main issue "high disk I/O" and my three possible root causes into 3.

                                        Here we can focus on Matomo, current situation on 3 different servers, each with one Matomo app:

                                        ysql> SELECT COUNT(*), MIN(FROM_UNIXTIME(modified)), MAX(FROM_UNIXTIME(modified))  FROM session;
                                        +----------+------------------------------+------------------------------+
                                        | COUNT(*) | MIN(FROM_UNIXTIME(modified)) | MAX(FROM_UNIXTIME(modified)) |
                                        +----------+------------------------------+------------------------------+
                                        |   121230 | 2026-02-24 21:02:50          | 2026-03-10 21:43:20          |
                                        +----------+------------------------------+------------------------------+
                                        1 row in set (0.13 sec)
                                        
                                        mysql> SELECT COUNT(*), MIN(FROM_UNIXTIME(modified)), MAX(FROM_UNIXTIME(modified))  FROM session;
                                        +----------+------------------------------+------------------------------+
                                        | COUNT(*) | MIN(FROM_UNIXTIME(modified)) | MAX(FROM_UNIXTIME(modified)) |
                                        +----------+------------------------------+------------------------------+
                                        |   120811 | 2026-02-24 21:41:30          | 2026-03-10 21:43:10          |
                                        +----------+------------------------------+------------------------------+
                                        1 row in set (0.13 sec)
                                        
                                        mysql> SELECT COUNT(*), MIN(FROM_UNIXTIME(modified)), MAX(FROM_UNIXTIME(modified))  FROM session;
                                        +----------+------------------------------+------------------------------+
                                        | COUNT(*) | MIN(FROM_UNIXTIME(modified)) | MAX(FROM_UNIXTIME(modified)) |
                                        +----------+------------------------------+------------------------------+
                                        |    22494 | 2026-03-08 07:31:01          | 2026-03-10 21:40:00          |
                                        +----------+------------------------------+------------------------------+
                                        1 row in set (0.02 sec)
                                        
                                        

                                        This looks like a serious amount of sessions in a short time, to be exactly:
                                        120.811 / 20.161,67 = 5,99 sessions per minute is every 10 seconds health check.

                                        The only thing I can find in the config.ini.php regarding sessions is: session_save_handler = "" and I don't remember me changing that?

                                        1 Reply Last reply
                                        0
                                        • imc67I Offline
                                          imc67I Offline
                                          imc67
                                          translator
                                          wrote on last edited by
                                          #37

                                          Here is a more complete analysis of the disk I/O across all 3 servers.

                                          1. Cloudron Disk I/O graph (server 1, last 6 hours)

                                          Scherm­afbeelding 2026-03-10 om 23.40.17.png

                                          The graph shows a constant write baseline of ~2.5 MB/s, 24/7. The spike around 20:00 is the scheduled daily backup — completely normal. The total write of 646 GB over 2 days (~323 GB/day) is almost entirely this constant baseline, not user traffic or backups.

                                          2. iotop breakdown (server 1, 1 minute measurement)

                                          Docker MySQL (messageb):  48.62 MB/min  (~0.81 MB/s)
                                          Host MySQL:               23.26 MB/min  (~0.39 MB/s)
                                          go-carbon:                 9.34 MB/min  (~0.16 MB/s)
                                          jbd2 (fs journal):         8.44 MB/min  (~0.14 MB/s)
                                          systemd-journald:          4.37 MB/min  (~0.07 MB/s)
                                          containerd:                2.02 MB/min  (~0.03 MB/s)
                                          dockerd:                   1.13 MB/min  (~0.02 MB/s)
                                          Total:                   ~97 MB/min    (~1.6 MB/s average)
                                          

                                          Note: the average of ~1.6 MB/s is consistent with the graph baseline of ~2.5 MB/s when accounting for peaks and the fact that iotop measures a 1-minute window.

                                          3. InnoDB write activity since last MySQL restart (all 3 servers)

                                          Server 1 (uptime 59 min) Server 2 (uptime ~40h) Server 3 (uptime ~40h)
                                          Data written 2.13 GB 55.3 GB 63.5 GB
                                          Effective write rate ~0.58 MB/s ~0.38 MB/s ~0.43 MB/s
                                          Rows inserted/s 6.5 8.8 8.6
                                          Rows updated/s 7.0 4.5 4.0
                                          Log writes/s 28.7 23.6 18.0

                                          All three servers show a consistent insert rate of ~6-9 rows/second in the Docker MySQL, matching exactly 1 new Matomo session every 10 seconds (= health check interval).

                                          Conclusion

                                          The Docker MySQL (~0.4-0.8 MB/s) is the largest single contributor, driven primarily by Matomo session inserts. The total observed disk I/O of 2-4 MB/s is the sum of multiple processes, with the constant Matomo session accumulation as the most significant and most easily fixable component.

                                          1 Reply Last reply
                                          1
                                          • J joseph forked this topic on

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search