Hallo Community,
wir haben an diversen unserer Schulen eine NC in Version 20.0.4 am Laufen.
An einer Schule wird diese wirklich exzessiv genutzt und wir haben dort deutliche Latenzprobleme ab ca 400 gleichzeitiger Sessions auf der NC.
Ich weiĂ, dass die NC Vorgabe ein NC Cluster ist bei mehr als 150 Usern.
Allerdings schreiben andere NC Admins in div. Foren, dass Sie mit 400-600 User auch mit einer einzigen NC keine Probleme haben.
Wir haben sonst aber schon viel unternommen, bisher ohne den zĂŒndenden Erfolg.
Die VM ist auch ĂŒberhaupt nicht ausgelastet von der Hardware her, die langweilt sich fastâŠ
Nun aber mal zu den Fragen, die man beantworten sollte:
-
Bei welchen Anbieter? Was fĂŒr ein Server? v-server, shared, root, usw. Oder Lokal?
Lokaler Server an der Schule, mit VMware ESXi 6.7 -
Auf welcher Hardware? PC, Raspberry PI, Banana, NAS uswâŠ
Der Server hat 2x Intel Xeon E5-2620 v4 mit je 8 Kernen und 16 Threads.
RAM: 128GB
Als Platten haben wir 6x Intel DC 4510 SATA-3 SSD mit je 1.8TB im RAID-6
Die NextCloud lĂ€uft auf einer PCIe NVMe SSD âSamsung PM1735â.
Auf dem VMware Server laufen im Moment 8 virtuelle Server.
Das sind 4 Windows Server (AD + SchĂŒler-Fileserver, KMS, Exchange 2019 und ein Lehrer-Fileserver).
AuĂerdem kommen noch eine Firewall, die Backup-VM und ein WLAN Controller dazu.
-
Betriebssystem sowie Version ALLER beteiligten Systeme
VMware ESXi 6.7 Update 3 ist auf dem Server installiert
Die NC lÀuft auf einem Ubuntu 18.04 LTS. -
Nextcloud Version?
20.0.4 -
PHP Version?
7.4 FPM -
Welche Datenbank? MySql,Engine X (Nginx),MariaDB uswâŠ
Postgres v10 -
Apache version, usw.
Apache v2.4.29 -
LĂ€uft NC in Docker,Snap oder VM
Kein Docker und kein Snap.
NC lÀuft direkt auf der VMware VM.
Die Installation wurde mit dem Skript von âHansson ITâ gemacht.
Siehe Link: Documize -
Netzwerk Aufgliederung:
Die NC hĂ€ngt im internen Netz und alle Anfragen von extern via Port 443 werden ĂŒber die Firewall zur NC einfach stumpf weitergeleitet.
Wenn die NC aber langsam ist dann ist diese auch von intern langsam (Test ĂŒber eine der weiteren VMs).
Als Internetanschluss haben wir einen 1000/200 MBit/s Anschluss, der etwa bei 80 MBit/s steht von der Auslastung her. -
Wurden vor kurzem Server Updates gemacht? Wenn ja von was?
Klar wurden Updates gemacht, die NC VM ist vom Linux her auf dem aktuellen Stand.
Das ist aber nicht die Ursache, die Probleme gab es davor schon. -
Habt ihr die Logs angesehen von Nextcloud und von System?
In der NC sind diverse Fehlermeldungen im Log (leider), allerdings keine, die ich jetzt zu diesem Problem zuordnen wĂŒrde.
Folgende Meldungen hab ich im Log:
Module âigbinaryâ already loaded at Unknown#0
âExternal storage not available: Storage unauthorized. Invalid request for / (ForbiddenException)â
- Bei was fĂŒr einer Aktion ist der Fehler aufgetreten?
So bald wir mehr als 400 User gleichzeitig auf der NC haben.
An folgenden Config Files hab ich ĂŒberall dran gedrehtâŠ
Wir haben in der /etc/php/7.4/fpm/php.ini folgende Anpassungen gemacht:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
max_execution_time = 3600
max_input_time = 3600
memory_limit = 2048M
upload_max_filesize = 10240M
ZusĂ€tzlich habe ich obige Ănderungen auch in die /etc/php/7.4/cli/php.ini so eingetragen.
in der /etc/postgresql/10/main/postgres.conf
max_connections = 1500
in der /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Protocols h2 h2c http/1.1
in der /var/www/nextcloud/config/config.php
memcache.localâ => â\OC\Memcache\APCuâ,
filelocking.enabledâ => true,
memcache.distributedâ => â\OC\Memcache\Redisâ,
memcache.lockingâ => â\OC\Memcache\Redisâ,
redisâ =>
array (
hostâ => â/var/run/redis/redis-server.sockâ,
portâ => 0,
timeoutâ => 0.5,
dbindexâ => 0,
passwordâ => â----------------------------â,
),
quota_include_external_storageâ => false,
==> der Redis Server ist ebenfalls installiert
ZusÀtzlich haben wir folgende zwei Files angepasst:
in der /etc/php/7.4/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 360
pm.start_servers = 50
pm.min_spare_servers = 50
pm.max_spare_servers = 100
in der /etc/php/7.4/fpm/pool.d/nextcloud.conf
pm = dynamic
pm.max_children = 360
pm.start_servers = 50
pm.min_spare_servers = 50
pm.max_spare_servers = 100
==>
Was mich da aber wundert, egal was ich da einstelle an âSpare Serversâ, die Last der NextCloud geht nicht nach oben. Ăberall liest man, dass die Last dann steil nach oben geht wenn man an den Werten in diesen beiden Files dreht.
Bei uns ist da, auch nach einem Serverreboot keine Verbesserung zu sehenâŠ
Ich habe eine Auslastung von maximal 8 Kernen und 5 GB RAM, also bis zu den 16 Kernen und 16 GB RAM noch âetwasâ Luft nach oben. Ich komm einfach nicht dahinter wo es da klemmt oder besser gesagt der Limiter sitztâŠ
Vielleicht hat ja eine/r eine Idee?