Website-Optimierung für Geschwindigkeit – Wie verbessern?

Was sind eure Gedanken zu diesen Performance-Test-Websites? Ich habe gerade 3 Tests durchgeführt:
GTmetrix, PageSpeed und WebpageTest. Einige Varianten, natürlich, aber auch einige Ähnlichkeiten. Gestern hatte ich bei GTmetrix eine Note C, also ist ein B eine coole Verbesserung – ich bin mir aber nicht sicher, woher das kommt.

Soweit ich das beurteilen kann, scheinen die häufigsten Probleme meiner Website bei diesen 3 Tests die Ladezeiten mit Javascript und CSS zu sein. Liegt das JS überhaupt in meiner Kontrolle? GTmetrix listet die 2 URLs als ungenutztes JS auf, aber das sind doch Dinge, die in Discourse eingebaut sind?

https://forums.gonomad.me/assets/chunk.2c7ac65fdfc1f35c61b6.d41d8cd9.js
https://forums.gonomad.me/assets/vendor.47fe1949ff0285dbc995d87a6ae0d449-223fd39128ca149073c28a57e41e969bafdb0a241e1149adab6918b27e7a3265.js

Und dann habe ich diese als 38,8s Pfadlatenz gesehen, was mein Interesse geweckt hat. Wie zum Teufel optimiere/behebe ich das?

PageSpeed listete irgendwie dasselbe mit dem Problem der render-blockierenden Ressourcen von JS/CSS auf. Die größten JS-Dateien, die die Website verlangsamen, sind:

https://forums.gonomad.me/assets/chunk.2c7ac65fdfc1f35c61b6.d41d8cd9.js
https://forums.gonomad.me/assets/locales/en-d255b87afa1b13a48418c34b7c45d8aa69fce223261f36c9a101fb022c7cb8e5.js

Aber auch hier denke ich, dass das etwas ist, das in Discourse eingebaut ist?

Schließlich ergab ein direkter Lighthouse-Test aus der Entwicklerkonsole eine Punktzahl von 63:

Hängt das mit dem anderen Thema zusammen, bei dem einige Benutzer Lade-Probleme hatten?

Ich würde stattdessen die Hosting-Umgebung betrachten. :thinking:
Das Ergebnis sieht für mich aber in Ordnung aus.

1 „Gefällt mir“

So lala. Die ganze Sache hat mich zum Nachdenken gebracht, haha.

Das war auch mein Hauptgedanke, aber ich mag auch einige der Ergebnisse auf diesen Performance-Seiten nicht (was, ja, ich schätze, Host-Probleme sein könnten?).

Richten Sie ein CDN ein, ist immer ein guter Anfang. :rocket:

2 „Gefällt mir“

Ich habe in letzter Zeit viel über CDNs auf meiner Optimierungsreise gelesen. Das werde ich mir ansehen!

1 „Gefällt mir“

Hmmm … das ist viel zusätzliche Komplexität für nicht viel.\n\nIch habe mehrere Jahre lang eine erfolgreiche Community betrieben, ohne ein CDN nutzen zu müssen.

3 „Gefällt mir“

Hohes Verkehrsaufkommen? Könnten Sie mir seine Serverkonfiguration nennen?

Sollte kein hoher Traffic sein. Nur ein paar registrierte Benutzer. Habe die Seite erst vor etwa 12 Tagen erstellt. Scheint für einige zu Spitzenzeiten, in denen der Server gehostet wird, langsam zu sein, für andere aber in Ordnung. Die Server-/VPS-Spezifikationen sind:

3 GB RAM
2 vCPU
35 GB SSD
1 Gbit/s unbegrenzte Bandbreite
1 x IPv4
KVM
Ubuntu 22

EDIT: Oh, Verzeihung, war mir nicht sicher, ob ich Ihnen oder Robert antworte.

1 „Gefällt mir“

Niedrig genug, damit die Website jederzeit sehr reaktionsschnell bleibt.

4 GB/3 vcores + 2 GB Swap.

2 „Gefällt mir“

CDN hilft ein wenig, wenn es ein großes globales Publikum gibt und/oder der VPS hinter einem Low-End-Server steckt. Und PHP-basierte Websites können eine etwas bessere Verbesserung erzielen, aber eine gute Caching-Richtlinie hilft mehr.

Die Natur von Discourse hat die Tendenz, solche Verbesserungen zunichte zu machen, oder, wenn man es so sagen möchte: Sie braucht solche Hilfen nicht.

Diese Metrikdienste haben viele Probleme und selten können diese „einfach so“ gelesen werden.

1 „Gefällt mir“

Ja, darüber bin ich ein wenig verwirrt. Im Grunde scheinen all die Punkte, die mir angerechnet werden, in Discourse eingebaut zu sein (lange JS-Ladezeiten/Blockierungen usw.) + vielleicht eine Kombination aus meinem Theme. Bedeutet das, dass eine Discourse-Website niemals eine gute Bewertung dafür erzielen wird, lol? Ich bezweifle das aber irgendwie. Insbesondere Foren.

Das bedeutet es. Man kann wenig helfen, indem man einige (unnötige) Funktionalitäten wegnimmt, hauptsächlich durch Plugins, aber… es gibt keine wirklichen Vorteile.

Die gute Nachricht ist, dass es überhaupt keine Rolle spielt. Und die Internetdienste und Geräte Ihrer Benutzer sind ein größeres Nadelöhr.

Wenn Sie zu viel Freizeit haben, können Sie dies und das und etwas anderes entwickeln, und alles, was Sie bekommen, ist vielleicht eine Sekunde hier und eine weitere von dort – und diese Ersparnisse sind nur durch Labortests messbar.

Lassen Sie das Team und die Plugin-/Theme-Entwickler ihre Arbeit machen. Das reicht.

Wenn Sie eine WordPress-, Drupal- usw. „echte“ Webplattform hätten, gäbe es eine Tonne anderer Tricks zu tun. Jetzt ist die Lösung grundlegend anders.

Und sicher – ich bin nur ein weiterer selbstgemachter Admin/Webmaster und werde korrigiert, wenn ich falsch liege. Aber das bin ich nicht :rofl:

1 „Gefällt mir“

Ok, ja, ich habe gerade dieselben Tests auf einem brandneuen Standard-Theme ohne Komponenten durchgeführt und Folgendes erhalten:

Es scheint, dass die Blockierungszeit immer das Hauptproblem ist (zumindest für mich, wenn ich diese ausführe). Müssen die Discourse-Entwickler es also besser optimieren oder? Ich frage wirklich, ich versuche nicht, etwas schlechtzumachen.

Das ist nicht das, was ein Mensch sieht. Noch einmal: Discourse ist eine Web-App, die zuerst notwendige Dateien verschiebt und danach ist alles (fast) nur JSON-Text. Dieser Test funktioniert irgendwie, wenn eine Website Seiten auf Serverebene generiert und lesbares HTML an den Client sendet. So wie es WordPress tut.

Und diese Zeit ist gar nicht schlecht.

Was Sie jetzt vorschlagen, ist, dass Discourse eine vollständige App sein sollte und nicht über Browser nutzbar ist, zum Beispiel.