Performance Channel

Folgende Herausforderung. Ich betreibe 2 Accounts mit den identischen Kanaleinstellungen, auf dem gleichen Server. Konto A hat ca. 40% weniger Kontakte als Konto B.

Circle/Kanal
– Neu – Empfangen

Tag Auschließen
– 12 Begriffe

Sprachen
language = ‚un‘ OR language = ‚de‘ OR language = ‚en‘

Aufrufzeit Kanal mit Account A

Datenbank: 0.571/0, Netzwerk: 0, Darstellung: 0.07, Sitzung: 0, I/O: 0, Sonstiges: 0.16, Gesamt: 0.8
Class-Init: 0.011, Boot: 0.143, Init: 0.002, Inhalt: 0.627, Sonstiges: 0.013, Gesamt: 0.797

Aufrufzeit Kanal mit Account B

Datenbank: 7.949/0, Netzwerk: 0, Darstellung: 0.06, Sitzung: 0, I/O: 0, Sonstiges: 0.15, Gesamt: 8.16
Class-Init: 0.01, Boot: 0.15, Init: 0.002, Inhalt: 7.989, Sonstiges: 0.011, Gesamt: 8.162

Database Read:
Database::select (422), Timeline::getRawChannelItems (241), Timeline::getChannelItems (216), Network::content (236): 7.457

Log für Account B

2025-07-05 18:13:10	8.374	Timeline.php	422	getRawChannelItems	/*Database::select (422), Timeline::getRawChannelItems (241), Timeline::getChannelItems (216), Network::content (236) */ SELECT `uri-id`, `owner-id`, `comments`, `activities`, `received` FROM `post-searchindex-user-view` WHERE (NOT `uri-id` IN (SELECT `uri-id` FROM `post-tag` INNER JOIN `tag` ON `tag`.`id` = `post-tag`.`tid` WHERE `post-tag`.`type` = 1 AND `name` IN ('xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx')) AND (`language` = 'un' OR `language` = 'de' OR `language` = 'en') AND `uid` = xxxx AND (NOT `restricted` OR EXISTS(SELECT `id` FROM `post-user` WHERE `uid` = xxxx AND `uri-id` = `post-searchindex-user-view`.`uri-id`)) AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = xxxx AND `cid` = `post-searchindex-user-view`.`owner-id` AND (`ignored` OR `blocked` OR `collapsed` OR `is-blocked` OR `channel-frequency` = 1))) ORDER BY `received` DESC LIMIT 40

Die schlechte Performance auf Konto B war schleichend. Die Aufrufzeiten waren zuvor identisch zu Konto A. Erst brachen sie Zeitweise ein, normalisierten sich jedoch wieder. Nach Optimierung der DB Tabellen hat sich das jetzt leider dauerhaft verschlechtert und der Aufruf wird immer langsamer.

Die DB ist 145 GB groß.

Kennt jemand das Problem? Wie habt ihr es gelöst?

!Friendica Support

[‚loma]

Schreibe einen Kommentar

Falls du auf diesen Beitrag mit einem Artikel auf deiner eigenen Webseite geantwortet hast, kannst du hier die URL deines Beitrags eingeben. Dabei sollte es sich um die Permalink-URL handeln. Deine Antwort wird dann (möglicherweise nach der Moderation) auf dieser Seite angezeigt. Falls du deine Antwort aktualisieren oder entfernen möchtest, aktualisiere oder lösche deinen Beitrag auf deiner eigenen Webseite und gib die URL des Beitrags erneut ein. (Erfahre mehr über Webmentions.)