linuxserver / docker-grocy

A container for grocy - the ERP application for your kitchen https://grocy.info
GNU General Public License v3.0
340 stars 43 forks source link

[BUG] Terrible performance on the latest version #67

Closed Dinth closed 11 months ago

Dinth commented 1 year ago

Is there an existing issue for this?

Current Behavior

After the yesterdays update (31st of May) of docker container, Grocy started working VERY slow and completely unworkable. PHP-FPM process takes 100% of CPU and individual pages take minutes to load - often loading just bare html without CSS and images, or not loading at all. Reverting to the previous tag (amd64-v3.3.2-ls193) fixes the problem.

Expected Behavior

No response

Steps To Reproduce

  1. Be on amd64-v3.3.2-ls193
  2. Upgrade to amd64-latest
  3. Point the browser to Grocy address
  4. Log in (login window shows quickly)
  5. After providing credentials, you will most likely need to wait a couple of minutes to get a website without CSS

Environment

- OS:Debian 11
- How docker service was installed: Portainer

CPU architecture

x86-64

Docker creation

Container details
Image   linuxserver/grocy:amd64-v3.3.2-ls193@sha256:70334fa58baefadc5ce5fdfae81532f487bf644f26dd492a1daf038b2f732c29
Port configuration  
0.0.0.0:9283
80/tcp
CMD     
ENTRYPOINT  /init
ENV     
HOME    /root
LSIO_FIRST_PARTY    true
PATH    /lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PS1     $(whoami)@$(hostname):$(pwd)\$
S6_CMD_WAIT_FOR_SERVICES_MAXTIME    0
S6_STAGE2_HOOK  /docker-mods
S6_VERBOSITY    1
TERM    xterm
VIRTUAL_ENV     /lsiopy
Labels  
build_version   Linuxserver.io version:- v2.7.1-ls58 Build-date:- 2020-05-02T20:24:41+00:00
com.centurylinklabs.watchtower.enable   true
maintainer  alex-phillips, homerr
org.opencontainers.image.authors    linuxserver.io
org.opencontainers.image.created    2023-05-31T12:27:20+00:00
org.opencontainers.image.description    [Grocy](https://github.com/grocy/grocy) is an ERP system for your kitchen! Cut down on food waste, and manage your chores with this brilliant utility. Keep track of your purchases, how much food you are wasting, what chores need doing and what batteries need charging with this proudly Open Source tool For more information on grocy visit their website and check it out: https://grocy.info
org.opencontainers.image.documentation  https://docs.linuxserver.io/images/docker-grocy
org.opencontainers.image.licenses   GPL-3.0-only
org.opencontainers.image.ref.name   095988d5f2a30d077e08cf9df104bc796842bb64
org.opencontainers.image.revision   095988d5f2a30d077e08cf9df104bc796842bb64
org.opencontainers.image.source     https://github.com/linuxserver/docker-grocy
org.opencontainers.image.title  Grocy
org.opencontainers.image.url    https://github.com/linuxserver/docker-grocy/packages
org.opencontainers.image.vendor     linuxserver.io
org.opencontainers.image.version    v3.3.2-ls196

Container logs

[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
usermod: no changes
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗ 
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝ 

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    911
User GID:    911
───────────────────────────────────────

using keys found in /config/keys
**** The following active confs have different version dates than the samples that are shipped. ****
**** This may be due to user customization or an update to the samples. ****
**** You should compare the following files to the samples in the same folder and update them. ****
**** Use the link at the top of the file to view the changelog. ****
┌────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
│  old date  │  new date  │ path                                                                   │
├────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
│ 2022-08-16 │ 2023-04-13 │ /config/nginx/nginx.conf                                               │
│ 2022-08-20 │ 2023-04-13 │ /config/nginx/site-confs/default.conf                                  │
└────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘
[custom-init] No custom files found, skipping...
[ls.io-init] done.
MatthijsH commented 1 year ago

arm64v8-v3.3.2-ls197 has the same issue, any page with data that is being pulled from the database, or any action that pulls from the database, has significant loading times.

github-actions[bot] commented 1 year 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.

MatthijsH commented 1 year ago

Not resolved in v3.3.2-ls202

j0nnymoe commented 1 year ago

From your logs, you still seem to be running the older nginx configs, have you tried updating them first? Also, any reverse proxy involved?

MatthijsH commented 1 year ago

Can't speak for @Dinth, but I'm using the new nginx configs, without a reverse proxy.

j0nnymoe commented 1 year ago

I've just updated my instance of grocy to latest along with SWAG and not noticing any performance issues, logs me straight into the homepage.

MatthijsH commented 1 year ago

I tested my instance, that usually runs on a Raspberry Pi 4 8GB, on a Synology DS923+. With the 'latest'-tag it runs a lot smoother on the Synology than on the Pi, but there is still a noticeable delay in all operations that read from or write to the database compared to version v3.3.2-ls195. That version runs basically the same on both the Pi and the Synology.

Dinth commented 1 year ago

Just tested the latest version 3.3.2-ls204 and still the same problem. Maybe even got worse in the ls204 - after entering the credentials i didnt get to stockoverview page at all, just endless loading. This is not related to reverse proxy - direct access is affected in the same way. My Docker instance (running Grocy+Home Assistant) has 14 Xeon cores and 24GB of RAM assigned in ESXi so its definetely not lack of resources. Reverted back to ls193 and everything is back to normal

j0nnymoe commented 1 year ago

Unfortunately I've not been able to replicate on my synology ds1019. Are you able to give me some specific tests I can do? Because going into grocy and browsing around seems as speedy as I would expect it.

Dinth commented 1 year ago

Correction, ls195 is still fine, the problem seems to occur with ls196 and newer. Unfortunately ls196 is a rebase to a newer alpine

Unfortunately I've not been able to replicate on my synology ds1019. Are you able to give me some specific tests I can do? >Because going into grocy and browsing around seems as speedy as I would expect it. Hmm, for me i simply cannot do anything in Grocy - quite literally. It seems that for some reason your setup is not affected.

I dont know if it helps but here is my setup (container inspection from Portainer)

{
    "AppArmorProfile": "docker-default",
    "Args": [],
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": null,
        "Domainname": "",
        "Entrypoint": [
            "/init"
        ],
        "Env": [
            "PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "PS1=$(whoami)@$(hostname):$(pwd)\\$",
            "HOME=/root",
            "TERM=xterm",
            "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
            "S6_VERBOSITY=1",
            "S6_STAGE2_HOOK=/docker-mods",
            "VIRTUAL_ENV=/lsiopy",
            "LSIO_FIRST_PARTY=true",
            "TZ=Europe/London"
        ],
        "ExposedPorts": {
            "443/tcp": {},
            "80/tcp": {}
        },
        "Hostname": "6a9403d6f49f",
        "Image": "linuxserver/grocy:amd64-v3.3.2-ls195",
        "Labels": {
            "build_version": "Linuxserver.io version:- v2.7.1-ls58 Build-date:- 2020-05-02T20:24:41+00:00",
            "com.centurylinklabs.watchtower.enable": "true",
            "maintainer": "alex-phillips, homerr",
            "org.opencontainers.image.authors": "linuxserver.io",
            "org.opencontainers.image.created": "2023-05-31T12:27:20+00:00",
            "org.opencontainers.image.description": "[Grocy](https://github.com/grocy/grocy) is an ERP system for your kitchen! Cut down on food waste, and manage your chores with this brilliant utility.    Keep track of your purchases, how much food you are wasting, what chores need doing and what batteries need charging with this proudly Open Source tool    For more information on grocy visit their website and check it out: https://grocy.info  ",
            "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-grocy",
            "org.opencontainers.image.licenses": "GPL-3.0-only",
            "org.opencontainers.image.ref.name": "095988d5f2a30d077e08cf9df104bc796842bb64",
            "org.opencontainers.image.revision": "095988d5f2a30d077e08cf9df104bc796842bb64",
            "org.opencontainers.image.source": "https://github.com/linuxserver/docker-grocy",
            "org.opencontainers.image.title": "Grocy",
            "org.opencontainers.image.url": "https://github.com/linuxserver/docker-grocy/packages",
            "org.opencontainers.image.vendor": "linuxserver.io",
            "org.opencontainers.image.version": "v3.3.2-ls196"
        },
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": {
            "/config": {}
        },
        "WorkingDir": "/"
    },
    "Created": "2023-07-29T21:32:45.556716034Z",
    "Driver": "overlay2",
    "ExecIDs": null,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/4b25c0a99f6164800b9f1f52fdd78486d33300af48bad16f25b5884f8462dcb4-init/diff:/var/lib/docker/overlay2/b7889cb5307ccf698dc8f8adc0485610cd57d900c668bb051796c8a22e4d2bab/diff:/var/lib/docker/overlay2/697acfb9f233c81ff192d84a1ef7f8eba4627cb5ae8165e6284a39abc919f164/diff:/var/lib/docker/overlay2/70bcbe942635d788613bd394bbb1c5d8ddf80d3419169d7da16c0e55cde6ef66/diff:/var/lib/docker/overlay2/c24d5176b2890cf543356d1d209196a6fb27d9779de2b1dc3986c40904a54de6/diff:/var/lib/docker/overlay2/10e9c2b8e34ae63b1f2662ecad013b27bafde4b17603240f9b642e96a6d3e1e4/diff:/var/lib/docker/overlay2/abb6d978479da5a4999e10beb537b4c3fa426474abc0236edf1f2ca6aa09f716/diff:/var/lib/docker/overlay2/441f2e1354f81a33ccbeaf93a82427fd666f5624ab19dd64918fff686728be9e/diff:/var/lib/docker/overlay2/90c1be8a5e4067c55a75d839065ba614f15d5ba6dfaebc123b9364860eab913b/diff:/var/lib/docker/overlay2/4af03705fae5e96346e883df12f222f14ffb2de5ae69a963b489034301ac774c/diff",
            "MergedDir": "/var/lib/docker/overlay2/4b25c0a99f6164800b9f1f52fdd78486d33300af48bad16f25b5884f8462dcb4/merged",
            "UpperDir": "/var/lib/docker/overlay2/4b25c0a99f6164800b9f1f52fdd78486d33300af48bad16f25b5884f8462dcb4/diff",
            "WorkDir": "/var/lib/docker/overlay2/4b25c0a99f6164800b9f1f52fdd78486d33300af48bad16f25b5884f8462dcb4/work"
        },
        "Name": "overlay2"
    },
    "HostConfig": {
        "AutoRemove": false,
        "Binds": [
            "grocy:/config"
        ],
        "BlkioDeviceReadBps": null,
        "BlkioDeviceReadIOps": null,
        "BlkioDeviceWriteBps": null,
        "BlkioDeviceWriteIOps": null,
        "BlkioWeight": 0,
        "BlkioWeightDevice": null,
        "CapAdd": [
            "AUDIT_WRITE",
            "CHOWN",
            "DAC_OVERRIDE",
            "FOWNER",
            "FSETID",
            "KILL",
            "MKNOD",
            "NET_BIND_SERVICE",
            "NET_RAW",
            "SETFCAP",
            "SETGID",
            "SETPCAP",
            "SETUID",
            "SYS_CHROOT"
        ],
        "CapDrop": [
            "AUDIT_CONTROL",
            "BLOCK_SUSPEND",
            "DAC_READ_SEARCH",
            "IPC_LOCK",
            "IPC_OWNER",
            "LEASE",
            "LINUX_IMMUTABLE",
            "MAC_ADMIN",
            "MAC_OVERRIDE",
            "NET_ADMIN",
            "NET_BROADCAST",
            "SYSLOG",
            "SYS_ADMIN",
            "SYS_BOOT",
            "SYS_MODULE",
            "SYS_NICE",
            "SYS_PACCT",
            "SYS_PTRACE",
            "SYS_RAWIO",
            "SYS_RESOURCE",
            "SYS_TIME",
            "SYS_TTY_CONFIG",
            "WAKE_ALARM"
        ],
        "Cgroup": "",
        "CgroupParent": "",
        "CgroupnsMode": "host",
        "ConsoleSize": [
            0,
            0
        ],
        "ContainerIDFile": "",
        "CpuCount": 0,
        "CpuPercent": 0,
        "CpuPeriod": 0,
        "CpuQuota": 0,
        "CpuRealtimePeriod": 0,
        "CpuRealtimeRuntime": 0,
        "CpuShares": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "DeviceCgroupRules": null,
        "DeviceRequests": null,
        "Devices": [],
        "Dns": [],
        "DnsOptions": [],
        "DnsSearch": [],
        "ExtraHosts": [],
        "GroupAdd": null,
        "IOMaximumBandwidth": 0,
        "IOMaximumIOps": 0,
        "IpcMode": "private",
        "Isolation": "",
        "Links": null,
        "LogConfig": {
            "Config": {},
            "Type": "json-file"
        },
        "MaskedPaths": [
            "/proc/asound",
            "/proc/acpi",
            "/proc/kcore",
            "/proc/keys",
            "/proc/latency_stats",
            "/proc/timer_list",
            "/proc/timer_stats",
            "/proc/sched_debug",
            "/proc/scsi",
            "/sys/firmware"
        ],
        "Memory": 0,
        "MemoryReservation": 0,
        "MemorySwap": 0,
        "MemorySwappiness": null,
        "NanoCpus": 0,
        "NetworkMode": "bridge",
        "OomKillDisable": false,
        "OomScoreAdj": 0,
        "PidMode": "",
        "PidsLimit": null,
        "PortBindings": {
            "80/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "9283"
                }
            ]
        },
        "Privileged": false,
        "PublishAllPorts": false,
        "ReadonlyPaths": [
            "/proc/bus",
            "/proc/fs",
            "/proc/irq",
            "/proc/sys",
            "/proc/sysrq-trigger"
        ],
        "ReadonlyRootfs": false,
        "RestartPolicy": {
            "MaximumRetryCount": 0,
            "Name": "unless-stopped"
        },
        "Runtime": "runc",
        "SecurityOpt": null,
        "ShmSize": 67108864,
        "UTSMode": "",
        "Ulimits": null,
        "UsernsMode": "",
        "VolumeDriver": "",
        "VolumesFrom": null
    },
    "HostnamePath": "/var/lib/docker/containers/20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615/hostname",
    "HostsPath": "/var/lib/docker/containers/20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615/hosts",
    "Id": "20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615",
    "Image": "sha256:266390c3e9d6e2910c6edc6e71a0c242b72f50c1deafdc8ee43486bbea816783",
    "LogPath": "/var/lib/docker/containers/20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615/20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615-json.log",
    "MountLabel": "",
    "Mounts": [
        {
            "Destination": "/config",
            "Driver": "local",
            "Mode": "z",
            "Name": "grocy",
            "Propagation": "",
            "RW": true,
            "Source": "/var/lib/docker/volumes/grocy/_data",
            "Type": "volume"
        }
    ],
    "Name": "/grocy",
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "572e51a582dc1dd0564e6e421de661e353d8e97d9c01074e836b35ccdb7ac098",
        "Gateway": "172.17.0.1",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "172.17.0.3",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:11:00:03",
        "Networks": {
            "bridge": {
                "Aliases": null,
                "DriverOpts": null,
                "EndpointID": "572e51a582dc1dd0564e6e421de661e353d8e97d9c01074e836b35ccdb7ac098",
                "Gateway": "172.17.0.1",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "IPAMConfig": {},
                "IPAddress": "172.17.0.3",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "Links": null,
                "MacAddress": "02:42:ac:11:00:03",
                "NetworkID": "93450a12e15ccbda08a21c3305f5de43ce7aedc670c48b8acb64eda910f05366"
            }
        },
        "Ports": {
            "443/tcp": null,
            "80/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "9283"
                }
            ]
        },
        "SandboxID": "56db022a7556fa1f102399257512f635bc1cc17743531fb90165df9e5c089ebd",
        "SandboxKey": "/var/run/docker/netns/56db022a7556",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },
    "Path": "/init",
    "Platform": "linux",
    "Portainer": {
        "ResourceControl": {
            "Id": 404,
            "ResourceId": "20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615",
            "SubResourceIds": [],
            "Type": 1,
            "UserAccesses": [],
            "TeamAccesses": [],
            "Public": false,
            "AdministratorsOnly": true,
            "System": false
        }
    },
    "ProcessLabel": "",
    "ResolvConfPath": "/var/lib/docker/containers/20bef19da9afce3627a2e31184c108550a3eca2bf132eaf630827ec1a9930615/resolv.conf",
    "RestartCount": 0,
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 0,
        "FinishedAt": "0001-01-01T00:00:00Z",
        "OOMKilled": false,
        "Paused": false,
        "Pid": 1584262,
        "Restarting": false,
        "Running": true,
        "StartedAt": "2023-07-29T21:32:46.213834169Z",
        "Status": "running"
    }
}
Dinth commented 1 year ago

The only thing i can think about is to back up the persistent storage, wipe it, and move the database back. I will try to do that tomorrow

Dinth commented 1 year ago

Good morning. I have created a brand new Grocy instance on another VM - this time 3.3.2-ls204 and moved the existing database (just the .db file) Same problem after trying to log in. About a minute of waiting for any refresh and error 502.

PHP error log:

[30-Jul-2023 07:02:05] NOTICE: fpm is running, pid 241
[30-Jul-2023 07:02:05] NOTICE: ready to handle connections
[30-Jul-2023 09:34:51] NOTICE: Terminating ...
[30-Jul-2023 09:34:51] NOTICE: exiting, bye-bye!
[30-Jul-2023 09:38:06] NOTICE: fpm is running, pid 219
[30-Jul-2023 09:38:06] NOTICE: ready to handle connections
[30-Jul-2023 09:39:02] WARNING: [pool www] child 262 exited with code 124 after 55.675401 seconds from start
[30-Jul-2023 09:39:02] NOTICE: [pool www] child 263 started

nginx error log: 2023/07/30 09:39:02 [error] 249#249: *8 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.10.10.10, server: _, request: "GET /stockoverview HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "10.10.1.13:9283", referrer: "http://10.10.1.13:9283/login"

nginx access log:

10.10.10.10 - - [30/Jul/2023:09:38:14 +0100] "GET / HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /stockoverview HTTP/1.1" 302 5 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /login HTTP/1.1" 200 37194 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/bootstrap/dist/css/bootstrap.min.css?v=3.3.2 HTTP/1.1" 200 162264 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@fortawesome/fontawesome-free/css/all.min.css?v=3.3.2 HTTP/1.1" 200 101784 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/startbootstrap-sb-admin/css/sb-admin.min.css?v=3.3.2 HTTP/1.1" 200 9940 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@danielfarrell/bootstrap-combobox/css/bootstrap-combobox.css?v=3.3.2 HTTP/1.1" 200 1074 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-colreorder-bs4/css/colReorder.bootstrap4.min.css?v=3.3.2 HTTP/1.1" 200 181 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css?v=3.3.2 HTTP/1.1" 200 10966 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-rowgroup-bs4/css/rowGroup.bootstrap4.min.css?v=3.3.2 HTTP/1.1" 200 820 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-select-bs4/css/select.bootstrap4.min.css?v=3.3.2 HTTP/1.1" 200 1631 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/toastr/build/toastr.min.css?v=3.3.2 HTTP/1.1" 200 6454 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/bootstrap-select/dist/css/bootstrap-select.min.css?v=3.3.2 HTTP/1.1" 200 11184 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@fontsource/noto-sans/latin.css?v=3.3.2 HTTP/1.1" 200 554 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/summernote/dist/summernote-bs4.css?v=3.3.2 HTTP/1.1" 200 23436 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /css/grocy.css?v=3.3.2 HTTP/1.1" 200 11564 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/tempusdominus-bootstrap-4/build/css/tempusdominus-bootstrap-4.min.css?v=3.3.2 HTTP/1.1" 200 11967 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /img/grocy_logo.svg?v=3.3.2 HTTP/1.1" 200 1953 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/jquery/dist/jquery.min.js?v=3.3.2 HTTP/1.1" 200 89664 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/bootstrap/dist/js/bootstrap.bundle.min.js?v=3.3.2 HTTP/1.1" 200 83376 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/bootbox/dist/bootbox.min.js?v=3.3.2 HTTP/1.1" 200 15813 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/startbootstrap-sb-admin/js/sb-admin.min.js?v=3.3.2 HTTP/1.1" 200 1221 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/jquery-serializejson/jquery.serializejson.min.js?v=3.3.2 HTTP/1.1" 200 5622 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/moment/min/moment.min.js?v=3.3.2 HTTP/1.1" 200 58103 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@danielfarrell/bootstrap-combobox/js/bootstrap-combobox.js?v=3.3.2 HTTP/1.1" 200 14005 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net/js/jquery.dataTables.min.js?v=3.3.2 HTTP/1.1" 200 86285 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-bs4/js/dataTables.bootstrap4.js?v=3.3.2 HTTP/1.1" 200 4781 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-colreorder-bs4/js/colReorder.bootstrap4.min.js?v=3.3.2 HTTP/1.1" 200 612 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-colreorder/js/dataTables.colReorder.min.js?v=3.3.2 HTTP/1.1" 200 13261 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-plugins/filtering/type-based/accent-neutralise.js?v=3.3.2 HTTP/1.1" 200 1597 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-rowgroup-bs4/js/rowGroup.bootstrap4.min.js?v=3.3.2 HTTP/1.1" 200 606 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-plugins/sorting/chinese-string.js?v=3.3.2 HTTP/1.1" 200 1034 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-rowgroup/js/dataTables.rowGroup.min.js?v=3.3.2 HTTP/1.1" 200 4031 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-select/js/dataTables.select.min.js?v=3.3.2 HTTP/1.1" 200 13675 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/datatables.net-select-bs4/js/select.bootstrap4.min.js?v=3.3.2 HTTP/1.1" 200 600 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/toastr/build/toastr.min.js?v=3.3.2 HTTP/1.1" 200 5251 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/sprintf-js/dist/sprintf.min.js?v=3.3.2 HTTP/1.1" 200 3675 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/tempusdominus-bootstrap-4/build/js/tempusdominus-bootstrap-4.min.js?v=3.3.2 HTTP/1.1" 200 61593 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/gettext-translator/src/translator.js?v=3.3.2 HTTP/1.1" 200 6162 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/jquery-lazy/jquery.lazy.min.js?v=3.3.2 HTTP/1.1" 200 5024 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/bootstrap-select/dist/js/bootstrap-select.min.js?v=3.3.2 HTTP/1.1" 200 53644 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/extensions.js?v=3.3.2 HTTP/1.1" 200 4594 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/nosleep.js/dist/NoSleep.min.js?v=3.3.2 HTTP/1.1" 200 16732 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/grocy.js?v=3.3.2 HTTP/1.1" 200 29008 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/summernote/dist/summernote-bs4.js?v=3.3.2 HTTP/1.1" 200 324692 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/grocy_dbchangedhandling.js?v=3.3.2 HTTP/1.1" 200 1583 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/grocy_wakelockhandling.js?v=3.3.2 HTTP/1.1" 200 1634 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/grocy_nightmode.js?v=3.3.2 HTTP/1.1" 200 4044 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /js/grocy_clock.js?v=3.3.2 HTTP/1.1" 200 986 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /viewjs/login.js?v=3.3.2 HTTP/1.1" 200 184 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@fontsource/noto-sans/files/noto-sans-latin-400-normal.woff2 HTTP/1.1" 200 16088 "http://10.10.1.13:9283/node_modules/@fontsource/noto-sans/latin.css?v=3.3.2" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 HTTP/1.1" 200 150472 "http://10.10.1.13:9283/node_modules/@fortawesome/fontawesome-free/css/all.min.css?v=3.3.2" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /img/appicons/favicon-16x16.png?v=3.3.2 HTTP/1.1" 200 948 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:15 +0100] "GET /img/appicons/apple-touch-icon.png?v=3.3.2 HTTP/1.1" 200 3823 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:29 +0100] "POST /login HTTP/1.1" 302 5 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:38:29 +0100] "GET / HTTP/1.1" 302 5 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:39:02 +0100] "GET /stockoverview HTTP/1.1" 502 150 "http://10.10.1.13:9283/login" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
10.10.10.10 - - [30/Jul/2023:09:39:02 +0100] "GET /favicon.ico HTTP/1.1" 404 36066 "http://10.10.1.13:9283/stockoverview" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
Dinth commented 1 year ago

One more thing, since i now have a copy of grocy database, i have tried upgrading the container to the latest (4.0.0) Im not sure if that's relevant, but after login i am getting this error in the webbrowser: Error source:

/app/www/packages/morris/lessql/src/LessQL/Database.php:108

Error message:

SQLSTATE[HY000]: General error: 1 no such column: active (View: /app/www/views/stockoverview.blade.php)

Stack trace:

#0 /app/www/packages/illuminate/view/Engines/PhpEngine.php(60): Illuminate\View\Engines\CompilerEngine->handleViewException()
#1 /app/www/packages/illuminate/view/Engines/CompilerEngine.php(61): Illuminate\View\Engines\PhpEngine->evaluatePath()
#2 /app/www/packages/illuminate/view/View.php(139): Illuminate\View\Engines\CompilerEngine->get()
#3 /app/www/packages/illuminate/view/View.php(122): Illuminate\View\View->getContents()
#4 /app/www/packages/illuminate/view/View.php(91): Illuminate\View\View->renderContents()
#5 /app/www/packages/berrnd/slim-blade-view/src/Blade.php(173): Illuminate\View\View->render()
#6 /app/www/packages/berrnd/slim-blade-view/src/Blade.php(65): Slim\Views\Blade->fetch()
#7 /app/www/controllers/BaseController.php(182): Slim\Views\Blade->render()
#8 /app/www/controllers/BaseController.php(205): Grocy\Controllers\BaseController->render()
#9 /app/www/controllers/StockController.php(123): Grocy\Controllers\BaseController->renderPage()
#10 /app/www/packages/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(38): Grocy\Controllers\StockController->Overview()
#11 /app/www/packages/slim/slim/Slim/Routing/Route.php(358): Slim\Handlers\Strategies\RequestResponse->__invoke()
#12 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\Routing\Route->handle()
#13 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\MiddlewareDispatcher->handle()
#14 /app/www/packages/slim/slim/Slim/Routing/Route.php(315): Slim\MiddlewareDispatcher->handle()
#15 /app/www/packages/slim/slim/Slim/Routing/RouteRunner.php(68): Slim\Routing\Route->run()
#16 /app/www/middleware/LocaleMiddleware.php(16): Slim\Routing\RouteRunner->handle()
#17 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(269): Grocy\Middleware\LocaleMiddleware->__invoke()
#18 /app/www/middleware/AuthMiddleware.php(77): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#19 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(269): Grocy\Middleware\AuthMiddleware->__invoke()
#20 /app/www/packages/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#21 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\RoutingMiddleware->process()
#22 /app/www/packages/slim/slim/Slim/Middleware/ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#23 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process()
#24 /app/www/middleware/CorsMiddleware.php(27): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#25 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(269): Grocy\Middleware\CorsMiddleware->__invoke()
#26 /app/www/packages/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#27 /app/www/packages/slim/slim/Slim/App.php(199): Slim\MiddlewareDispatcher->handle()
#28 /app/www/packages/slim/slim/Slim/App.php(183): Slim\App->handle()
#29 /app/www/app.php(109): Slim\App->run()
#30 /app/www/public/index.php(45): require_once('...')
#31 {main}

System info:

null

Again, i can revert back to ls195 and everything goes back to normal

j0nnymoe commented 1 year ago

Unfortunately, I'm really not able to replicate any performance issues with my instance of grocy and this is with upgrading to v4. Context:

   grocy:
    image: lscr.io/linuxserver/grocy
    container_name: grocy
    environment:
      - PUID=1027
      - PGID=100
      - TZ=Europe/London
    volumes:
      - /volume1/appdata/grocy:/config
    labels:
      - diun.enable=true
    restart: unless-stopped

I would highly recommend checking server and browser performance to see what could be causing the hold up because I just can't replicate the same experience.

j0nnymoe commented 1 year ago

We're looking at rebasing back to Alpine 3.17 for now due to noticing that grocy still recommends for php8.1. (Alpine 3.18 has php8.2 so could be causing the slow downs for you)

Could you test this image please? lspipepr/grocy:v4.0.0-pkg-c6255da4-dev-133dddaa4fba793b7980e95f199f1f05ddb9d2cb-pr-71

Thanks

MatthijsH commented 1 year ago

Tried the image, it didn't resolve the slow downs for me. The latest Grocy update (4.0.1) also added support for php8.2, the slowness with anything database related is also present in v4.0.1-ls207. The issue might not be related to the php version. Grocy 4.0.1 does have a performance fix however, so it could be that the slowness of the provided image has a different cause, since the image has Grocy 4.0.0.

Is there anything I can do to provide you with more info to find the cause of the issue? I don't think it's hardware resource related, since the same database functions without issue on ls195 on multiple systems.

Dinth commented 1 year ago

@j0nnymoe if you could provide your email address or contact me directly i am happy to provide you with a copy of my database for troubleshooting. I think it may be something database related (either the size of it or something related to upgrade path in the past?)

[edit] tested lspipepr/grocy:v4.0.0-pkg-c6255da4-dev-133dddaa4fba793b7980e95f199f1f05ddb9d2cb-pr-71. It is still considerably slower than ls195, but at the same time feels faster than ls196 and with limited testing so far it feels "usable"

enjunear commented 1 year ago

I also am having terrible performance, but it is since upgrading to 4.0.1. My setup is docker swarm, traefik as reverse proxy. Loading pages that need reads or writes from/to the database seems to take 1-2 seconds per operation.

Let me know if there's any tests that you'd like me to run.

berrnd commented 1 year ago

Any performance issues related to Grocy v4.0.1 are most likely due to having (a lot) redundant default quantity unit conversions, see also https://github.com/grocy/grocy/issues/2297.

Workaround unless the next release has landed: Clean up all default quantity unit conversions, even consider deleting + recreating them all once as a simpler/faster approach, since thanks to the new indirect/transitive unit conversion feature (since v4.0.0), most likely not that much definitions are needed now - changelog excerpt:

  • Explained by a practical example: When a conversion between Teaspoons and Milliliters and another one between Milliliters and Liters exists (and so forth; unlimited levels), Grocy can now calculate Teaspoons to Liters (before a direct conversion definition between Teaspoons and Liters was required)
  • Heads up: If you have such "each to each absolute conversion definitions" currently (for the example above the conversion between Teaspoons and Liters), you should clean them up, since they are no longer needed
MatthijsH commented 1 year ago

This helped a lot with the performance for me, but. Grocy using v4.0.1-ls208 would not even load, throwing a 502 server error (with the viewcache emptied). Using lspipepr/grocy:v4.0.0-pkg-c6255da4-dev-133dddaa4fba793b7980e95f199f1f05ddb9d2cb-pr-71 Grocy was able to load, making it possible to delete the redundant default quantity unit conversions. After this Grocy was noticeably faster, even when switching back to v4.0.1-ls208. It still is not as fast as v3.3.2-ls195 was, but at least it is usable again.

enjunear commented 1 year ago

There was a load of empty folders in my grocy directory named custom-cont-init.d.<random> and custom-services.d.<random>. I cleaned these out and it seemed to be more responsive, but it's still not as quick as it used to be.

I cleaned up a bunch of redundant conversions due to the v4 conversion logic, but that has made no noticeable impact so far. There's no guarantee that I've got them all. I only went to the main ones that I knew would have redundant conversions.

Just a quick test to consume a can of drink that has no conversions on it, except that it is bought in packs of 4 (4 cans per pack), it took 3 seconds to consume the item via the mobile app. Strangely, it took about 5 seconds to do the same in the web app.

enjunear commented 1 year ago

I noticed this in the logs:

me@myserver:/srv/grocy$ tail log/php/error.log
[13-Aug-2023 20:40:32] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:40:51] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:41:37] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:41:59] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:42:28] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:42:48] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:43:34] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:43:53] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:45:05] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[13-Aug-2023 20:45:39] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

I think I've cleaned up all redundant conversions now. But still hasn't noticeably sped up. ¯\(ツ)

berrnd commented 1 year ago

Generally, the next Grocy release will be about fixing all those (redundant) default QU version related performance problems, although it's still not a bad thing to reconsider all definitions to further make stuff more responsive (and your definitions more simple/clearly).

 

WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

This indicates, I would say, insufficient PHP-FPM settings (personally I'm not so into Docker, so guess nothing a "user" can do, so more a heads up for the maintainers): See there for a reference PHP-FPM configuration used on the official instances, handling thousands of daily page views (far more than any normal/private installation) with pretty little resource usage while having a pretty snappy experience.

thespad commented 1 year ago

Users can make modifications to the php config via /config/php/www2.conf and /config/php/php-local.ini

szerencl commented 1 year ago

My instance was really slow and crashing since updating to latest image: "build_version": "Linuxserver.io version:- v4.0.2-ls209 Build-date:- 2023-08-19T07:20:16+00:00"

$ tail php/error.log
[01-Sep-2023 21:42:23] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[01-Sep-2023 21:43:10] WARNING: [pool www] child 273 exited with code 124 after 126.148156 seconds from start
[01-Sep-2023 21:43:10] NOTICE: [pool www] child 315 started
[01-Sep-2023 21:43:11] WARNING: [pool www] child 291 exited with code 124 after 48.688618 seconds from start
[01-Sep-2023 21:43:11] NOTICE: [pool www] child 316 started
[01-Sep-2023 21:43:11] WARNING: [pool www] child 276 exited with code 124 after 81.822156 seconds from start
[01-Sep-2023 21:43:11] NOTICE: [pool www] child 317 started
[01-Sep-2023 21:44:04] WARNING: [pool www] child 275 exited with code 124 after 152.250477 seconds from start
[01-Sep-2023 21:44:04] NOTICE: [pool www] child 318 started
[01-Sep-2023 21:44:12] WARNING: [pool www] child 315 exited with code 124 after 61.950871 seconds from start
[01-Sep-2023 21:44:12] NOTICE: [pool www] child 319 started
[01-Sep-2023 21:47:09] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[01-Sep-2023 21:48:08] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[01-Sep-2023 21:48:49] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

I tried https://github.com/linuxserver/docker-grocy/issues/67#issuecomment-1676298979 and https://github.com/linuxserver/docker-grocy/issues/67#issuecomment-1676356432 but loading times are still slow compared to what it was < 4.0.0. It is more stable now though.

MatthijsH commented 1 year ago

The latest update (v4.0.3-ls212) made massive speed improvements for me, the performance is close to as v3.3.2-ls195 was.

szerencl commented 1 year ago

I concur, v4.0.3-ls212 is heaps better.

enjunear commented 1 year ago

I concur. I only have one line in the logs from the last week:

[08-Sep-2023 15:27:33] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

Performance is much better.

LinuxServer-CI commented 12 months 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.

troymroberts commented 11 months ago

I have a brand new instance of Grocy installed on an unraid server and am experiencing this problem. How do i go about diagnosing it?

j0nnymoe commented 11 months ago

@troymroberts please open a fresh issue and provide the information requested

j0nnymoe commented 11 months ago

Closing as original issue is no longer a problem.

github-actions[bot] commented 10 months ago

This issue is locked due to inactivity