Optimisation du site pour la vitesse - Comment améliorer ?

Qu’en pensez-vous de ces sites de tests de performance ? J’ai fait 3 tests :
GTmetrix, PageSpeed et WebpageTest. Certaines variantes, bien sûr, mais aussi des similitudes. Hier, j’étais dans la catégorie C sur GTmetrix, donc un B est une amélioration appréciable - Je ne sais pas d’où cela vient, cependant.

D’après ce que je peux voir, il semble que le plus courant sur mon site, d’après ces 3 tests, concerne les temps de chargement avec Javascript et CSS. Le JS est-il même sous mon contrôle ? GTmetrix liste les 2 URL comme JS inutilisé, mais ce sont des éléments intégrés à Discourse, n’est-ce pas ?

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

Et puis j’ai vu ceci listé comme une latence de chemin de 38.8s, ce qui a piqué ma curiosité. Comment diable pourrais-je optimiser/corriger cela ?

PageSpeed a listé à peu près la même chose avec le problème des ressources bloquant le rendu JS/CSS. Les plus gros fichiers JS qui ralentissent le site sont :

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

Mais encore une fois, je pense que c’est quelque chose d’intégré à Discourse ?

Enfin, un test Lighthouse direct depuis la Console de développement m’a donné un score de 63 :

Est-ce lié à l’autre sujet où certains utilisateurs avaient des problèmes de chargement ?

Je regarderais plutôt l’environnement d’hébergement. :thinking:
Le résultat me semble correct, cependant.

1 « J'aime »

Un peu. Tout cela m’a fait réfléchir, haha.

C’est aussi ce à quoi je pensais principalement, mais bon, je n’aime pas non plus certains des scores sur ces sites de performance (ce qui, oui, pourrait être des problèmes d’hébergement ?)

Mettre en place un CDN est toujours un bon début. :rocket:

2 « J'aime »

J’ai beaucoup lu sur les CDN dernièrement dans le cadre de ce parcours d’optimisation. Je vais vérifier cela !

1 « J'aime »

Hmmm… c’est beaucoup de complexité supplémentaire pour pas grand-chose.

J’ai géré une communauté avec succès pendant plusieurs années sans avoir à utiliser de CDN.

3 « J'aime »

Fort trafic ? Pourriez-vous me donner sa configuration serveur ?

Ne devrait pas y avoir beaucoup de trafic. Il n’y a que quelques utilisateurs enregistrés. Le site a été créé il y a seulement 12 jours. Il semble être lent pour certains pendant les heures de pointe où le serveur est hébergé, mais pas pour d’autres. Les spécifications du serveur/VPS sont :

3 Go de RAM
2 vCPU
35 Go SSD
Bande passante illimitée de 1 Gbit/s
1 x IPv4
KVM
Ubuntu 22

EDIT : oh mince, je ne savais pas si vous répondiez à moi ou à Robert

1 « J'aime »

Suffisamment faible pour que le site reste très réactif en permanence.

4 Go / 3 cœurs virtuels + 2 Go de Swap.

2 « J'aime »

Le CDN aide un peu s’il y a un large public mondial et/ou si le VPS est derrière un serveur bas de gamme. Et les sites basés sur PHP peuvent bénéficier d’une légère amélioration, mais une bonne politique de mise en cache aide davantage.

La nature de Discourse a tendance à casser de telles améliorations, ou si l’on veut dire ainsi : elle n’a pas besoin de telles aides.

Ces services de métriques ont de nombreux problèmes et il est assez rare que l’on puisse lire leurs conseils “tels quels”.

1 « J'aime »

Oui, c’est là-dessus que je suis un peu confus. Essentiellement, tous les points sur lesquels je suis pénalisé semblent être intégrés à Discourse (longs temps de chargement/blocage JS, etc.) + peut-être une combinaison de mon thème, donc cela signifie-t-il simplement qu’un site Discourse n’aura jamais un bon score sur ceux-ci, lol ? J’en doute un peu, cependant. Les forums, spécifiquement.

Cela signifie cela. Vous pouvez aider un peu en supprimant certaines fonctionnalités (inutiles), principalement via des plugins, mais… il n’y a pas de réel avantage.

La bonne nouvelle est que cela n’a absolument aucune importance. Et le service Internet et les appareils de vos utilisateurs constituent un goulot d’étranglement plus important.

Si vous avez trop de temps libre, vous pouvez commencer à développer ceci, cela et autre chose, et tout ce que vous obtiendrez sera peut-être une seconde de moins ici et une autre de moins là — et ces temps d’exécution ne sont mesurables que par des tests en laboratoire.

Laissez l’équipe et les développeurs de plugins/thèmes faire leur travail. C’est suffisant.

Si vous avez une plateforme Web « réelle » comme WordPress, Drupal, etc., il y aurait une tonne d’astuces différentes à faire. Maintenant, la solution est fondamentalement différente.

Et bien sûr — je ne suis qu’un autre administrateur/webmaster autodidacte et je me laisserai corriger si j’ai tort. Mais je ne le suis pas :rofl:

1 « J'aime »

Ok, ouais, je viens de lancer les mêmes tests sur un thème tout neuf par défaut sans aucun composant et j’ai obtenu :

Il semble que le temps de blocage soit toujours le problème principal (du moins pour moi lorsque je lance ces tests). Donc, je suppose que les développeurs de Discourse doivent l’optimiser davantage ou ? Je demande sincèrement, j’essaie pas de critiquer.

Ce n’est pas ce qu’un humain voit. Encore une fois : Discourse est une application web qui déplace d’abord les fichiers nécessaires, puis tout le reste (presque) n’est que du texte json. Ce test fonctionne, d’une manière ou d’une autre, lorsqu’un site web génère des pages au niveau du serveur et envoie du html lisible au client. Comme ce que fait WordPress.

Et ce moment n’est pas mauvais, du tout.

Ce que vous suggérez maintenant, c’est que Discourse soit une application complète et non utilisable via les navigateurs, par exemple.