Closed tehinfidel closed 5 days ago
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Do you have any enhanced apps running?
Hello,
No, it is a bone stock Heimdall image installation (lscr.io/linuxserver/heimdall:2.5.8). I just re-created the issue on a stock rpi install and fresh pull below, without the page loaded.
The /docker/heimdall/config
bind volume in the docker-compose.yml files above is an empty directory upon creation of the first container, as well as the second run against :latest, which is still actually lscr.io/linuxserver/heimdall:2.5.8; just checking if there had been any changes, but it appears the behavior is still present.
I've also just now separately recreated on a quickly spun-up ubuntu-22.04.4-LTS amd64 proxmox VM with lscr.io/linuxserver/heimdall:2.5.8 to rule out (unlikely) differences between architectures or host configs; same behavior with the php daemon reading the /docker/heimdall/config/www/app.sqlite every 3 seconds:
...
18:28:17.243917 php(919): R /docker/heimdall/config/www/app.sqlite
18:28:20.244537 php(919): R /docker/heimdall/config/www/app.sqlite
18:28:23.245431 php(919): R /docker/heimdall/config/www/app.sqlite
18:28:26.246324 php(919): R /docker/heimdall/config/www/app.sqlite
...
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
The issue still occurs. I am still trying to dig in to isolate the location of the timed reads; slow-going as I am not a PHP expert and have many other things on my plate at the moment.
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Still occurs.
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Hello,
Like many others probably, I run Heimdall as an internal service directory, in my case on a Raspberry Pi which services many basic network microservices and is backed up on a UPS to let it and my router/core switch keep running in a power outage for as long as possible.
In running
fatrace
to try to check on and reduce SD card IO, I discovered that Heimdall (linuxserver/heimdall:2.5.8
in a docker container, without the page loaded in my browser to rule out javascript or other client-side checks, and the stock homepage from a fresh install with exactly 0 customization) continuously reads the sqlite database every 3 seconds, increasing wear on the SD card. While I realize I can likely connect it to an external database over the network, keeping a homepage app self-contained is much more portable and .. well, self-contained.I dug through the code and there are several timers running, but have not been able to isolate the process or need to read the database, especially every 3 seconds. I think it is in one of the
vendor/*
libraries included, or possiblyresources/views/layouts/app.blade.php
.A better design pattern would be that something like inotify or equivalent be set up against the database to reread it on change and/or on demand when the page is loaded, and the service should be almost entirely idle when the page is not loaded or changes are being made.
Steps to reproduce:
linuxserver/heimdall:2.5.8
in a Docker container. Do not load the page.fatrace -t
and observe the following: