!Friendica Support
Mittlerweile habe ich รผber 50.000 Worker in der Warteschlange. Und sie werden mehr.
Das Laden der Bilder ist nach wie vor schnarchlangsam.
Hab das Filesystembackend von einem per sshfs gemounteten Datentrรคger auch ein schnelles Volume bei Hetzner gewechselt. Keine รnderung.
Meine Datenbank ist 19GB groร und das Filesystembackend ebenfalls.
Ich hab eingestellt, dass alte Beitrรคge gelรถscht und Avatare gecached werden.
Es macht mich noch wahnsinnig, dass friendica so derartig langsam geworden ist.
Bin auf 2022-12-rc
Mittlerweile habe ich รผber 50.000 Worker in der Warteschlange. Und sie werden mehr.
Das Laden der Bilder ist nach wie vor schnarchlangsam.
Hab das Filesystembackend von einem per sshfs gemounteten Datentrรคger auch ein schnelles Volume bei Hetzner gewechselt. Keine รnderung.
Meine Datenbank ist 19GB groร und das Filesystembackend ebenfalls.
Ich hab eingestellt, dass alte Beitrรคge gelรถscht und Avatare gecached werden.
Es macht mich noch wahnsinnig, dass friendica so derartig langsam geworden ist.
Bin auf 2022-12-rc
Michael ๐บ๐ฆ
โขjakob ๐ฆ๐น โ
โขhoergen
โขMit der aktuellen RC flutscht hier Friendica so schnell wie nie.
jakob ๐ฆ๐น โ
โขWurde da was geรคndert? Muss ich den irgendwie anders aufrufen?
Und kann ich die worker irgendwie anders als mit ps checken?
hoergen
โขjakob ๐ฆ๐น โ
โขWie hoch soll ich das Log drehen?
hoergen
โขAlles รผber 3 Meter ist sinnlos und dann nur mit Doppelknoten ๐
Leider ist die Einteilung der Log Level nicht erklรคrt bzw ich finde keine dazu. Und sie ist auch nicht logisch aufeinander aufbauend, soweit ich mich erinnere.
Da mรผsste ein Developer mal ein paar Sรคtze zu verlieren, wie das zu verstehen ist. ๐
Ich wรผrde mal mit Debug anfangen und mich durch die Log Level durcharbeiten.
Rick
โขDEBUG = loggt alles
INFO: alles ab Info oder wichtiger
NOTICE: alles auรer INFO und DEBUG
WARNING: alles auรer NOTICE, INFO, DEBUG
ERROR: nur ERROR Fehler
jakob ๐ฆ๐น โ
โขDie Logfiles geben รผberhaupt nix her, was auf eine Fehlfunktion schlieรen lieรe...
Es werden Avatare geholt, Profildaten abgerufen usw.
Selbst die load ist sehr รผberschaubar, wie auch die RAM-Auslastung
Ab und zu ist ein Worker dabei, der "keine Netzwerkverbindung" meldet. Gehe ich dann auf den angemoserten Link, ist die dortige Website down oder das Zertifikat abgelaufen (ich nehme an, diese Worker gehen dann in die verzรถgerten Worker).
Es dauert auch die Suche und das Posten eines neuen Beitrages mittlerweile ewig lange... und Worker hab ich mittlerweile รผber 60.000 in der Warteschlange (nicht die Verzรถgerten!!!)
hoergen
โขHast du mal versucht testweise den daemon.php im Terminal manuell zu starten?
Oder manuell die bin/worker.php ?
Kommt da was Verwertbares auf dem Terminal raus? Oder reduziert das die Warteschlange?
jakob ๐ฆ๐น โ
โขich hab den friendica workerdaemon mit dieser systemd-Unit
# systemctl cat friendicaworkerdaemon # /etc/systemd/system/friendicaworkerdaemon.service [Unit] Description=Friendica Worker Daemon After=network.target mysqld.service Requires=network.target remote-fs.target nss-lookup.target OnFailure=failed-email@%n.service StartLimitIntervalSec=1m [Service] Type=forking Restart=always User=www-data Group=www-data WorkingDirectory=/var/www/soc.schuerz.at/ ExecStart=/usr/bin/php bin/daemon.php start ExecStop=/usr/bin/php bin/daemon.php stop #StandardOutput=null #StandardError=syslog
Und wenn ich das journal befrage, gibts aber keinen weiteren Output:
... show more# systemctl status friendicaworkerdaemon.service โ friendicaworkerdaemon.service - Friendica Worker Daemon
ich hab den friendica workerdaemon mit dieser systemd-Unit
# systemctl cat friendicaworkerdaemon # /etc/systemd/system/friendicaworkerdaemon.service [Unit] Description=Friendica Worker Daemon After=network.target mysqld.service Requires=network.target remote-fs.target nss-lookup.target OnFailure=failed-email@%n.service StartLimitIntervalSec=1m [Service] Type=forking Restart=always User=www-data Group=www-data WorkingDirectory=/var/www/soc.schuerz.at/ ExecStart=/usr/bin/php bin/daemon.php start ExecStop=/usr/bin/php bin/daemon.php stop #StandardOutput=null #StandardError=syslog
Und wenn ich das journal befrage, gibts aber keinen weiteren Output:
# systemctl status friendicaworkerdaemon.service โ friendicaworkerdaemon.service - Friendica Worker Daemon Loaded: loaded (/etc/systemd/system/friendicaworkerdaemon.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-12-17 20:47:37 CET; 1 day 14h ago Main PID: 924332 (php) Tasks: 15 (limit: 9276) Memory: 801.8M CPU: 12h 7min 55.320s CGroup: /system.slice/friendicaworkerdaemon.service โโ 924332 /usr/bin/php bin/daemon.php start โโ1202022 /usr/bin/php bin/worker.php --no_cron โโ1250646 /usr/bin/php bin/worker.php --no_cron โโ1268324 /usr/bin/php bin/worker.php --no_cron โโ1268329 /usr/bin/php bin/worker.php --no_cron โโ1269940 /usr/bin/php bin/worker.php --no_cron โโ1271395 /usr/bin/php bin/worker.php --no_cron โโ1271924 /usr/bin/php bin/worker.php --no_cron โโ1278085 /usr/bin/php bin/worker.php โโ1278100 /usr/bin/php bin/worker.php --no_cron โโ1278102 /usr/bin/php bin/worker.php --no_cron โโ1279334 /usr/bin/php bin/worker.php --no_cron โโ1281348 /usr/bin/php bin/worker.php โโ1281354 /usr/bin/php bin/worker.php --no_cron โโ1281356 /usr/bin/php bin/worker.php --no_cron Warning: journal has been rotated since unit was started, output may be incomplete.
hoergen
โขProbiere es mal manuell und schaue, ob und was passiert.
jakob ๐ฆ๐น โ
โข# sudo -u www-data bin/worker.php
laufen lassen... es beendete nach 6 Minuten mit Returncode 0 und ohne Output.
hoergen
โขjakob ๐ฆ๐น โ
โขWeltraumeindringling
โขHab keine Friendica-Instanz am Laufen, finde das Thema aber interessant. Kannst Du in der DB nachverfolgen, ob der Worker รผberhaupt irgendwas tut? Kann es sein, dass die Prozesse in einen Timeout laufen?
jakob ๐ฆ๐น โ
โขStarten, beenden, abrufe... nix auffรคlliges. Keine Timeouts oder connectionprobleme. Jene die das haben, wandern eh in die verzรถgerten...
Weltraumeindringling
โขIch habe keine Ahnung, welche Tabs/Spalten am hรคufigsten benutzt werden: Falls Du das noch nicht gemacht hast, stelle mal sicher, dass auf denen ein Index liegt.
Besteht das Prob noch (?).
jakob ๐ฆ๐น โ
โขIch habe hier die config/local.config.php im php-format...
hoergen
โขjakob ๐ฆ๐น โ
โข
... show more2022-12-19T10:42:39Z daemon [INFO]: Worker jobs are calling to be forked. {"pid":-1} - {"file":"daemon.php","line":242,"function":null,"uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:39Z daemon [NOTICE]: Load: 0.81/20 - processes: 27143/19/63159 - jpm: 5/8/60 (0:0, 20:0/3, 30:3/113, 40:16/73319, 50:3/16867) - maximum: 18/20 [] - {"file":"Worker.php","line":817,"function":"to oMuchWorkers","uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:39Z daemon [NOTICE]: Active worker limit reached, quitting. [] - {"file":"Worker.php","line":191,"function":"isReady","uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:44Z daemon [INFO]: Worker jobs are calling to be forked. {"pid":-1} - {"file":"daemon.php","line":242,"function":null,"uid":"9efbb1","process_id":1290980}
2022-12-19T10:42:39Z daemon [INFO]: Worker jobs are calling to be forked. {"pid":-1} - {"file":"daemon.php","line":242,"function":null,"uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:39Z daemon [NOTICE]: Load: 0.81/20 - processes: 27143/19/63159 - jpm: 5/8/60 (0:0, 20:0/3, 30:3/113, 40:16/73319, 50:3/16867) - maximum: 18/20 [] - {"file":"Worker.php","line":817,"function":"to oMuchWorkers","uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:39Z daemon [NOTICE]: Active worker limit reached, quitting. [] - {"file":"Worker.php","line":191,"function":"isReady","uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:44Z daemon [INFO]: Worker jobs are calling to be forked. {"pid":-1} - {"file":"daemon.php","line":242,"function":null,"uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:44Z daemon [NOTICE]: Load: 0.8/20 - processes: 27143/19/63159 - jpm: 5/8/60 (0:0, 20:0/3, 30:3/113, 40:16/73319, 50:3/16867) - maximum: 18/20 [] - {"file":"Worker.php","line":817,"function":"too MuchWorkers","uid":"9efbb1","process_id":1290980} 2022-12-19T10:42:44Z daemon [NOTICE]: Active worker limit reached, quitting. [] - {"file":"Worker.php","line":191,"function":"isReady","uid":"9efbb1","process_id":1290980}
ps auxfww zeigt mir 18 workerprozesse an.
Die Queue wรคchst und wรคchst..
wuffel
โขReicht das RAM?
jakob ๐ฆ๐น โ
โขIch hab die Registrierung geschlossen. RAM und CPU sind im Langeweile-Modus...
Es wird auch offenbar einiges gearbeitet... weil das Log durchrausch mit geforkten Worker-Jobs, Contact-Updates, limit errreicht-Warnungen, APDeliverys... usw.
und die Load ist unter 1
Weltraumeindringling
โข๐ค ๐ณ๐ต๐ผ๐บ๐ฎ๐ โ ๐๐
โขsollte eigentlich passen das zeigt soweit ich weiร das htop so an - aber
@๐๐ฎ๐ธ๐ผ๐ฏ :๐ณ๐ฟ๐ถ๐ฒ๐ป๐ฑ๐ถ๐ฐ๐ฎ: ๐ฆ๐น โ kann dir die Ausgabe sicherlich schicken.
Andrรฉ Bonhรดte :ch_Bale_Ville:
โขjakob ๐ฆ๐น โ
โขdie load steigt aber nichtmal รผber 1...
und worker_queues hab ich mal auf 30 angehoben, jetzt steigt die loag ein wenig รผber 1...
jakob ๐ฆ๐น โ
โขjakob ๐ฆ๐น โ
โขjakob ๐ฆ๐น โ
โขRaroun
โขDa ja hier fast schon alles abgeklopft wurde:
Vor kurzem was an der Datenbank geรคndert, oder ein update von MariaDB gemacht?
Hat das System Waitstates?
jakob ๐ฆ๐น โ
โขwas meinst du mit Waitstates?
Raroun
โขDas System kann durchaus rumidlen, aber dennoch nicht vorwรคrtskommen, wenn es waitstates gibt. Das ist quasi das "arten auf das Dateisystem" - vereinfacht ausgedrรผckt.
Wenn du "top" ausfรผhrst, das rot eingekreiste sollte 0.0 sein.
In der Mariadb bzw Mysql-Konsole mal dieses Statement ausfรผhren:
]SELECT @@version;
Und bitte die Version mitteilen.
jakob ๐ฆ๐น โ
โขMariaDB [(none)]> SELECT @@version; +---------------------------+ | @@version | +---------------------------+ | 10.5.18-MariaDB-0+deb11u1 | +---------------------------+ 1 row in set (0.000 sec)
Ich hab bei top kein ws sondern wa, das hรผpft zwischen 0,1 und 2 herum.
Raroun
โขTrag dies bitte mal in deine MariaDB-Config ein:
optimizer_use_condition_selectivity = 1
optimizer_switch='rowid_filter=off'
MariaDB hat ab Version 10.4 eine ganz wirre Indexbehandlung, welche die Datenbank unendlich langsam macht.
Mit diesen Eintrรคgen verhรคlt sich MAriaDB wieder wie vor Version 10.4.
Danach muss Du MariaDB einmal bitte neu starten.
Die 0.2 wa sind zwar nicht schรถn, aber in Ordnung und nichts was das System so beeinflussen sollte.
jakob ๐ฆ๐น โ
โขIch habs in die section [mariadb] in /etc/mysqld/mariadb.conf.d/50-server.conf eingetragen.
Raroun
โขjakob ๐ฆ๐น โ
โขjakob ๐ฆ๐น โ
โขDas scheint jetzt das Laden der Bilder in der Tat massiv beschleunigt zu haben.
Aber die Worker werden nach wie vor mehr. bin schon fast bei 71000... Tendenz steigend.
Raroun
โขIch habe keine Ahnung ob das auch Auswirkungen auf die Worker hat, aber die allgemeine Performance von Friendica erhรถht sich ab MariaDB 10.4 dadurch enorm. ๐
jakob ๐ฆ๐น โ
โขtop - 12:47:42 up 1 day, 6 min, 3 users, load average: 0.46, 0.60, 0.77 Tasks: 229 total, 1 running, 228 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.8 us, 0.4 sy, 0.5 ni, 96.9 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st MiB Mem : 7767.0 total, 209.2 free, 3497.0 used, 4060.8 buff/cache MiB Swap: 8192.0 total, 7880.7 free, 311.2 used. 3860.3 avail Mem
Rick
โขjakob ๐ฆ๐น โ
โข# innotop --askpass -u root Can't locate Term/ReadKey.pm in @INC (you may need to install the Term::ReadKey module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/x86_64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/bin/innotop line 1413. BEGIN failed--compilation aborted at /usr/bin/innotop line 1413.
hmmm... das mag nicht.
jakob ๐ฆ๐น โ
โขDas ist jetzt auch nicht sooo die Menge...
jakob ๐ฆ๐น โ
โข# uptime 12:47:04 up 1 day, 6 min, 3 users, load average: 0.74, 0.67, 0.80
jakob ๐ฆ๐น โ
โข# free -h total used free shared buff/cache available Mem: 7.6Gi 3.5Gi 320Mi 129Mi 3.8Gi 3.7Gi Swap: 8.0Gi 311Mi 7.7Gi
jakob ๐ฆ๐น โ
โข[RO] Dashboard (? for help) localhost, 1d0h, 324.58 QPS, 101/1/95 con/run/cac thds, 10.5.18-MariaDB-0+deb11u1 Uptime MaxSQL ReplLag QPS Cxns Run Miss Lock Tbls Repl SQL 1d0h 324.58 6 1223.60 0 808
jakob ๐ฆ๐น โ
โขJetzt schon >72000
jakob ๐ฆ๐น โ
โข๐ค ๐ณ๐ต๐ผ๐บ๐ฎ๐ โ ๐๐
โขWie viele Nutzer hast du denn auf deiner Instanz laufen?
Also ich hab gerade mal 3 aktive und einer davon ist ein Bot.
Die Datenbank war auch immer das Problem von der Grรถรe.
Ich habe dann die Avatar Bilder nicht mehr in der Datenbank gespeichert (das war irgendeine Einstellung) und dann wurde die immer kleiner und kleiner.
Ich vermute mal daran wird es wohl liegen, das #friendica so langsam reagiert, oder wurden irgendwelche Indizes nicht oder nicht so ganz glรผcklich gesetzt Aber dazu kann ich nichts sagen, das ich da noch nie nachgeschaut h... show more
Wie viele Nutzer hast du denn auf deiner Instanz laufen?
Also ich hab gerade mal 3 aktive und einer davon ist ein Bot.
Die Datenbank war auch immer das Problem von der Grรถรe.
Ich habe dann die Avatar Bilder nicht mehr in der Datenbank gespeichert (das war irgendeine Einstellung) und dann wurde die immer kleiner und kleiner.
Ich vermute mal daran wird es wohl liegen, das #friendica so langsam reagiert, oder wurden irgendwelche Indizes nicht oder nicht so ganz glรผcklich gesetzt Aber dazu kann ich nichts sagen, das ich da noch nie nachgeschaut habe.
Habe das nur in anderen groรen Arbeitsprojekten festgestellt, das dies manchmal wunder gewirkt hat.
Hier kรถnnten wohl nur die erfahrenen Entwickler was dazu sagen.
Weltraumeindringling
โขVllt. gibt's hier ja irgendwo einen #Admin der sich mit #MariaDB auskennt?
๐ค ๐ณ๐ต๐ผ๐บ๐ฎ๐ โ ๐๐
โขdas klingt fast so - da der Server sich ja mehr oder weniger "langweilt" aber die Worker nicht abgearbeitet werden.
@๐๐ฎ๐ธ๐ผ๐ฏ :๐ณ๐ฟ๐ถ๐ฒ๐ป๐ฑ๐ถ๐ฐ๐ฎ: ๐ฆ๐น โ
jakob ๐ฆ๐น โ
โขSuche Profil, Profil gefunden, Start job, stop job, APDelivery nach AP...
Also da wird schon fest gearbeitet... wie es ausschaut.
Ich hab hier meinen Account mit knapp 1000 Followern und zwei Foren mit je ~1200 Followern. Also 3 User mit รผber 3000 Followern.
Die Maschine ist eine VM bei Hetzner mit 4 Kernen und 8GB RAM.
Drauf lรคuft auch noch eine Nextcloud, wo 2 User aktiv sind. Sprich ab und zu mal ein Foto hochladen und die Adressbรผcher und Kalender synchronisieren mit mehreren Clients. Sonst tut sich in der Nextcloud meist nicht sehr viel.
Hab schon probeweise die Nextcloud aus der nginx-Konfig rausgenommen... was die Anzahl der Worker in der Warteschlange auch nicht beeinflusst hat.
๐ค ๐ณ๐ต๐ผ๐บ๐ฎ๐ โ ๐๐
โขdas ist eine Menge an Nutzern - aus dem Grund habe ich meine Instanz bisher auch nicht auf gemacht. Das einzige was lรคuft ist ein Bot mit รผber 1000 Nutzern.
@Weltraumeindringling
Cord
โขjakob ๐ฆ๐น โ
โขDie Einstellungen von https://friendica.opensocial.space/display/8ffdf77c-1663-a1a4-9de6-e64098311889 haben dann geholfen.
Aber die Worker in der Warteschlange werden mehr und mehr...
๐ค ๐ณ๐ต๐ผ๐บ๐ฎ๐ โ ๐๐
โขAlso ich hab hier die gleiche Version der Maria laufen - aber OK kaum Nutzer drauf und bisher auch nicht diese Probleme. Was geรคndert werden muss habe ich mir mal notiert, falls die Maschine auch Probleme verursacht.
Bin allerdings immer noch auf der letzten Final, da ich mit RC immer so meine "schlechten" Erfahrungen habe fรผr ein Produktivsystem
@Weltraumeindringling
Weltraumeindringling
โขjakob ๐ฆ๐น โ
โขCord
โขjakob ๐ฆ๐น โ
โขSah fรผr mich wirklich nicht groรartig aus.
Aber seitdem werden die Worker in der Warteschlange langsam weniger statt mehr...
Bin in 36h jetzt von kanpp 80.000 schon auf 55.000 herunter gekommen.
Das seh ich als Erfolg.
Cord
โขjakob ๐ฆ๐น โ
โขJetzt habe ich die User-discovery auf lokale Kontakte beschrรคnkt.
Und es dauerte 3 Tage, bis die Worker nunvon fast 80.000 auf 0 abgebaut wurden.
Auch die verzรถgerten Worker reduzierten sich von gestern 26.000 auf heute diesen Wert vom Screenshot.
Raroun
โขDeine Instanz ist alt (im positiven Sinne) und dementsprechend gut vernetzt.
Ich hatte einen guten VPS Server und manchmal auch 20000 Eintrรคge im Worker.
Ich habe es mit Hardware erschlagen - seit dem gib es quasi keine ausstehenden Aufgaben bzw. Worker. Alles ist immer 0 - auch beim User Discovery.
Wenn du eine gut vernetzte Instanz hast, kann es vielleicht wirklich an dem massiven Ansturm auf Mastodon bzw. Allgemein im Fediverse liegen - ist aber nur eine Vermutung ๐