Very low performance - pages loading very slow with ~3+ users

Hi!

I wanted to host Nextcloud Talk for my family, so I installed Nextcloud via NextcloudPi on my Proxmox cluster. However, pages are taking a very long time to load, typically around 10-30 seconds depending on the user. Messages are also taking approximately 5 seconds to send within Nextcloud Talk. I’ve tried reinstalling from scratch a couple of times, but the issue persists. I highly doubt this is a hardware issue, as my system is running on a Ryzen 7 7840HS with 16 GB of RAM allocated.

The performance seems acceptable when testing as a single user, but as soon as more users join, the situation deteriorates significantly, even with just 2-3 users online who are only chatting.

Here are the installation steps I followed:

  1. Install NextcloudPi on Proxmox via tteck’s/community scripts
  2. Edit config.php (most notably forcing ā€˜pl’ language globally and setting the domain)
  3. Install Nextcloud Talk plugin
  4. Configure Nginx Proxy Manager

My ncp-report:

NextcloudPi diagnostics

NextcloudPi version  v1.55.4
NextcloudPi image    NextcloudPi_lxc_05-06-25
OS                   Debian GNU/Linux 12. 6.8.12-9-pve (x86_64)
automount            no
USB devices          none
datadir              /opt/ncdata/data
data in SD           yes
data filesystem      zfs
data disk usage      2.6G/8.0G
rootfs usage         2.6G/8.0G
swapfile             none
dbdir                /var/lib/mysql
Nextcloud check      ok
Nextcloud version    31.0.4.1
HTTPD service        up
PHP service          up
MariaDB service      up
Redis service        up
HPB service          down
Postfix service      up
Internet check       ok
Public IPv4          ***REMOVED SENSITIVE VALUE***
Public IPv6          ***REMOVED SENSITIVE VALUE***
Port 80              open
Port 443             open
IP                   ***REMOVED SENSITIVE VALUE***
Gateway              ***REMOVED SENSITIVE VALUE***
Interface            eth0
Certificates         ***REMOVED SENSITIVE VALUE***
NAT loopback         no
Uptime               1:29

Nextcloud configuration

{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": {
            "0": "localhost",
            "7": "nextcloudpi",
            "5": "nextcloudpi.local",
            "8": "nextcloudpi.lan",
            "3": "nextcloudpi2.<mydomainhere>.com",
            "1": "10.0.2.14",
            "14": "nextcloudpi2.local",
            "15": "nextcloud2.<mydomainhere>.com",
            "16": "nextcloud.<mydomainhere>.com"
        },
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "31.0.4.1",
        "overwrite.cli.url": "https:\/\/nextcloud.<mydomainhere>.com\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "tempdirectory": "\/opt\/ncdata\/data\/tmp",
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "preview_max_x": "2048",
        "preview_max_y": "2048",
        "jpeg_quality": "60",
        "overwriteprotocol": "https",
        "maintenance": false,
        "logfile": "\/opt\/ncdata\/data\/nextcloud.log",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "loglevel": "2",
        "log_type": "file",
        "mail_sendmailmode": "smtp",
        "mail_smtpsecure": "ssl",
        "mail_smtpauth": 1,
        "mail_smtpport": "465",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "force_language": "pl",
        "force_locale": "pl_PL"
    }
}

HTTPd logs

[Tue May 06 10:48:00.377435 2025] [authz_host:error] [pid 233:tid 278] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/settings-white.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:48:00.378110 2025] [authz_host:error] [pid 233:tid 280] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/wizard.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:48:00.786623 2025] [authz_host:error] [pid 233:tid 285] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/favicon.png failed, reason: unable to get the remote host name
[Tue May 06 10:48:00.815904 2025] [authz_host:error] [pid 233:tid 285] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/favicon.png failed, reason: unable to get the remote host name
[Tue May 06 10:48:02.801850 2025] [authz_host:error] [pid 233:tid 261] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:02.830769 2025] [authz_host:error] [pid 233:tid 261] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:02.883586 2025] [authz_host:error] [pid 233:tid 263] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:02.912044 2025] [authz_host:error] [pid 233:tid 263] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:05.701265 2025] [authz_host:error] [pid 233:tid 262] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/info.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:48:05.731058 2025] [authz_host:error] [pid 233:tid 262] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/info.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:48:10.833312 2025] [authz_host:error] [pid 233:tid 264] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:10.863711 2025] [authz_host:error] [pid 233:tid 264] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:18.722134 2025] [authz_host:error] [pid 233:tid 267] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:18.733569 2025] [authz_host:error] [pid 233:tid 265] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/green-circle.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:48:18.752353 2025] [authz_host:error] [pid 233:tid 267] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:48:18.763282 2025] [authz_host:error] [pid 233:tid 265] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /img/green-circle.svg failed, reason: unable to get the remote host name, referer: https://10.0.2.14:4443/css/ncp.css
[Tue May 06 10:50:12.762988 2025] [authz_host:error] [pid 233:tid 266] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:50:12.792848 2025] [authz_host:error] [pid 233:tid 266] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:50:16.228342 2025] [authz_host:error] [pid 233:tid 270] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name
[Tue May 06 10:50:16.258369 2025] [authz_host:error] [pid 233:tid 270] [remote 10.0.0.14:35145] AH01753: access check of 'localhost' to /ncp-launcher.php failed, reason: unable to get the remote host name

Database logs

tail: cannot open '/var/log/mysql/*.log' for reading: No such file or directory

Nextcloud logs

{"reqId":"aBnXd_el63r4Ec2xCPnxewAAAIs","level":2,"time":"2025-05-06T09:34:10+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"GET","url":"/ocs/v1.php/cloud/capabilities?format=json","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXePel63r4Ec2xCPnxfAAAAIo","level":2,"time":"2025-05-06T09:34:10+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v4/room?includeStatus=true&modifiedSince=0&noStatusUpdate=0","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXeGb_YKnOqRPmuPk7nQAAAAk","level":2,"time":"2025-05-06T09:34:10+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"GET","url":"/ocs/v2.php/apps/user_status/api/v1/user_status","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXd2b_YKnOqRPmuPk7nAAAAAY","level":2,"time":"2025-05-06T09:34:10+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"POST","url":"/ocs/v2.php/apps/notifications/api/v2/push","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXe2b_YKnOqRPmuPk7ngAAAAU","level":2,"time":"2025-05-06T09:34:10+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"GET","url":"/ocs/v2.php/apps/user_status/api/v1/user_status","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXkIMI1iSDAWl4vqEckgAAAYk","level":2,"time":"2025-05-06T09:34:34+00:00","remoteAddr":"10.0.0.27","user":"fancyusername","app":"notes","method":"GET","url":"/index.php/login/flow/grant?clientIdentifier=&user=&providedRedirectUri=&direct=0&stateToken=k1a41uQn6sjLbWXmPINXblSbeGIIT1gsXZxTpkScdVMOlsBBEUrJV4NUxZs9vatu","message":"Failed to get notes folder for user fancyusername: Notatki is not a folder","userAgent":"DESKTOP-149AFA (Talk Desktop Client - Windows)","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBnXqvel63r4Ec2xCPnxnQAAAIc","level":2,"time":"2025-05-06T09:34:39+00:00","remoteAddr":"10.0.0.27","user":"iamcool","app":"notes","method":"GET","url":"/ocs/v2.php/cloud/capabilities","message":"Failed to get notes folder for user iamcool: Notatki is not a folder","userAgent":"Mozilla/5.0 (Windows) Nextcloud-Talk v1.1.7","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBnXk4MI1iSDAWl4vqEclQAAAYo","level":2,"time":"2025-05-06T09:35:02+00:00","remoteAddr":"141.70.45.1","user":false,"app":"core","method":"GET","url":"/ocs/v2.php/apps/user_status/api/v1/user_status","message":"Login failed: 'tomaszb' (Remote IP: '141.70.45.1')","userAgent":"Mozilla/5.0 (iOS) Nextcloud-Talk v21.0.5","version":"31.0.4.1","data":{"app":"core"}}
{"reqId":"aBnXzfel63r4Ec2xCPnxxgAAAJU","level":2,"time":"2025-05-06T09:35:10+00:00","remoteAddr":"10.0.0.27","user":"fancyusername","app":"notes","method":"GET","url":"/ocs/v2.php/cloud/capabilities","message":"Failed to get notes folder for user fancyusername: Notatki is not a folder","userAgent":"Mozilla/5.0 (Windows) Nextcloud-Talk v1.1.7","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBnX2oMI1iSDAWl4vqEc2gAAAYU","level":2,"time":"2025-05-06T09:35:41+00:00","remoteAddr":"10.0.1.125","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: agnieszkam@<mydomainhere>.com (Remote IP: 10.0.1.125)","userAgent":"DESKTOP-AG2TA (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBncKAZVI_AZsFZU_IquqwAAAJE","level":2,"time":"2025-05-06T09:53:59+00:00","remoteAddr":"10.0.0.14","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: ilovepancakes@<mydomainhere>.com (Remote IP: 10.0.0.14)","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBncQFOASWjhg7lal_RLwAAAAU8","level":2,"time":"2025-05-06T09:54:29+00:00","remoteAddr":"10.0.0.14","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: ilovepancakes@<mydomainhere>.com (Remote IP: 10.0.0.14)","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBncXgZVI_AZsFZU_IquzAAAAIM","level":2,"time":"2025-05-06T09:54:58+00:00","remoteAddr":"10.0.0.14","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: ilovepancakes@<mydomainhere>.com (Remote IP: 10.0.0.14)","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBncmIqdBN_rVecd7quVSAAAAMA","level":2,"time":"2025-05-06T09:56:04+00:00","remoteAddr":"10.0.0.14","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: ilovepancakes@<mydomainhere>.com (Remote IP: 10.0.0.14)","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBncu4qdBN_rVecd7quVYgAAAMk","level":2,"time":"2025-05-06T09:56:34+00:00","remoteAddr":"10.0.0.14","user":false,"app":"no app in context","method":"POST","url":"/index.php/login","message":"Login failed: ilovepancakes@<mydomainhere>.com (Remote IP: 10.0.0.14)","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":[]}
{"reqId":"aBnc8cowyjeVlfCvMCJeGQAAAAk","level":2,"time":"2025-05-06T09:57:06+00:00","remoteAddr":"10.0.0.14","user":"ilovepancakes","app":"notes","method":"GET","url":"/index.php/login/flow/grant?clientIdentifier=&user=&providedRedirectUri=&direct=0&stateToken=8lg6wEmYQbmNWf78mFjU8L6PPSNgEckCMvRvHBBQvIwStM9YQrr6KCRrd5fyxKPd","message":"Failed to get notes folder for user ilovepancakes: Notatki is not a folder","userAgent":"DESKTOP-T9398 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBndEBSTtl2ZtfF5lFCfnQAAARM","level":2,"time":"2025-05-06T09:57:36+00:00","remoteAddr":"10.0.0.14","user":"ilovepancakes","app":"notes","method":"GET","url":"/ocs/v2.php/cloud/capabilities","message":"Failed to get notes folder for user ilovepancakes: Notatki is not a folder","userAgent":"Mozilla/5.0 (Windows) Nextcloud-Talk v1.1.7","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBneBoXKk1dev8wE9Ie1sAAAAAk","level":2,"time":"2025-05-06T10:01:43+00:00","remoteAddr":"10.0.0.27","user":"spiderman","app":"notes","method":"GET","url":"/index.php/apps/dashboard/","message":"Failed to get notes folder for user spiderman: Notatki is not a folder","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBnegs3LXqTuD6JWP8axtQAAAIs","level":2,"time":"2025-05-06T10:03:47+00:00","remoteAddr":"10.0.0.27","user":"spiderman","app":"notes","method":"GET","url":"/index.php/login/flow/grant?clientIdentifier=&user=&providedRedirectUri=&direct=0&stateToken=88ptUiYFdhgMDt65RPAtAliOb7NTPYyVXbWSfJQ7GGAIdRvaEDrO4Y24WlBcjr2c","message":"Failed to get notes folder for user spiderman: Notatki is not a folder","userAgent":"DESKTOP-A56423 (Talk Desktop Client - Windows)","version":"31.0.4.1","data":{"app":"notes"}}
{"reqId":"aBnev4EbvONiXd-H-Yx1VwAAAMs","level":2,"time":"2025-05-06T10:05:15+00:00","remoteAddr":"10.0.0.27","user":"spiderman","app":"notes","method":"GET","url":"/ocs/v2.php/cloud/capabilities","message":"Failed to get notes folder for user spiderman: Notatki is not a folder","userAgent":"Mozilla/5.0 (Windows) Nextcloud-Talk v1.1.7","version":"31.0.4.1","data":{"app":"notes"}}

My Nginx Proxy Manager custom configuration:

client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;
proxy_hide_header Upgrade; 

location ^~ /push/ {
    proxy_pass http://10.0.2.14:7867/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Could anyone kindly offer some insights or suggestions on how to diagnose and resolve this? I would be really grateful for any leads as I am out of ideas and couldn’t find any relevant solution on the forum.

I have no clue, but without HPB, up, it is difficult, without a fast and perfect network it is even more difficult, and all running on proxmox is not as easy as one may think.
Good luck.

Thanks for your answer! Doesn’t HPB improve calls performance only? I use it only for chatting as for now.

Network is fast and perfect (testing over local network, so 1Gbps symmetric)

not being a NextcloudPi user… only suggestion

don’t see settings for trusted proxies in your config though. that config is necessary for reverse proxy setup regardless which install method you’re using. see also Hosts & FQDN configuration

Thanks for your suggestion! Here’s the trusted proxies configuration:

  'trusted_proxies' =>
  array (
    11 => '127.0.0.1',
    12 => '::1',
    13 => '10.0.2.6',
  ),

10.0.2.6 is the address of my reverse proxy server.

I’ve also just set FQDN using the steps described in ā€œFQDN for Nextcloud snap instance, vm or container behind reverse proxy with terminationā€ but unfortunately, I can’t see any performance gain.

By the way, here’s the machine load graph from the last hour (basically none), while it still takes 20 seconds to load a chat via Nextcloud Talk

However, the server takes 25 seconds to respond and I can see some errors:

this doesn’t look right… that’s localhost and will reroute to DNS configured on localhost causing a loop. be sure that only your reverse proxy is listed as your single point of entry.

it could be an issue that you’re using IPv6 on that device… if IPv6 is active, then IPv6 is always preferred causing the mentioned delay until failing over to IPv4.

Alright, thank you for the tip! I’ve adjusted my config to:

  'trusted_proxies' =>
  array (
    0 => '10.0.2.6',
  ),

however, there’s no speed difference (image below), and sending messages via Nextcloud Talk app still takes ~10-18 seconds

Sorry, I’ve quoted the wrong message when replying