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

Admin pages delays for several seconds, even on clean install #2363

Open
schuettecarsten opened this issue Mar 10, 2025 · 1 comment
Open

Comments

@schuettecarsten
Copy link

schuettecarsten commented Mar 10, 2025

Use the docker container to setup a clean, empty install of latest development snapshot (using :nightly), issue is also reproducable with 6.0.4 (:latest). Do not change any settings, do not use pihole for your DNS requests, simply download and set it up. Click around on the admin web quickly. You will see some strange lags. I can reproduce it by switching between Dashboard and Query Log quickly for several times.

I cannot see anything unusual on the locks debug output. Butfor me it looks like locks are not released somewhere on concurrent webserver requests that query the database.

This is the docker-compose.yml I use:

  pihole:
    container_name: pihole
    image: ghcr.io/pi-hole/pihole:nightly
    logging:
      driver: 'json-file'
      options:
        max-size: '50m'
        max-file: '2'
    ports:
      - '53:53/tcp'
      - '53:53/udp'
      - '80:80/tcp'
      - '443:443/tcp'
    environment:
      TZ: 'Europe/Berlin'
    volumes:
      - '/etc/localtime:/etc/localtime:ro'
      - '/opt/data/docker/pihole/etc:/etc/pihole'
      - '/opt/data/docker/pihole/dnsmasq.d:/etc/dnsmasq.d'
      - '/opt/data/docker/pihole/logs:/var/log/pihole'
    cap_add:
      - SYS_NICE
    restart: unless-stopped
@DL6ER
Copy link
Member

DL6ER commented Mar 11, 2025

I can reproduce it by switching between Dashboard and Query Log quickly for several times.

It may simply be that you are exhausting the webserver workers as modern browsers are not closing connections they've opened as they don't know if they will be reused later. Try increasing webserver.threads to a significantly larger value (like 200) and see if this mitigates this. If so, then this is actually expected. Fortunately,

I can reproduce it by switching between Dashboard and Query Log quickly for several times.

is not a realistic use case :-)


Anyway, if locks would not be released, everything would freeze as there are no timeouts on locks. You could possibly track down what is happening by setting debug.all = true either via the API, the CLI, env variable or pihole.toml directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants