Limitation de débit inattendue sur la vue Calendrier malgré des paramètres de limitation d'API personnalisés élevés

Description

Après une récente reconstruction de Discourse (auto-hébergé), je rencontre constamment des limitations de débit côté utilisateur (erreurs 429) lors de la visualisation du calendrier principal, même si mon site a une activité très faible (1 à 2 utilisateurs simultanés). Ce comportement a commencé à apparaître après mes deux dernières reconstructions.

Ma configuration de limitation de débit (telle que définie dans app.yml) :

  • DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE : 4x la valeur par défaut
  • DISCOURSE_MAX_REQS_PER_MINUTE : 4x la valeur par défaut
  • DISCOURSE_MAX_REQS_PER_DAY : 4x la valeur par défaut
  • Aucune limitation de débit par adresse IP n’est spécifiée.

Observations

  • Aucune erreur n’est affichée dans /logs.
  • Aucun proxy inverse n’est utilisé (conteneur Let’s Encrypt standard et un enregistrement A sur le domaine).
  • Seules les vues du calendrier semblent déclencher cette limitation de débit inattendue.
  • Aucun changement n’a été apporté à l’activité des utilisateurs ou aux plugins personnalisés.
  • Cela n’a commencé qu’après une récente reconstruction de Discourse.
  • Les journaux d’administration (Admin > Logs) sont propres au moment de l’incident.

Dépannage jusqu’à présent

  • Confirmation que les paramètres personnalisés de limitation de débit sont présents et bien supérieurs aux valeurs par défaut.
  • Essai de plusieurs navigateurs, vidage des caches.
  • Création d’un calendrier de test avec seulement quelques événements, toujours reproductible.
  • Les sujets de meta.discourse.org suggèrent qu’il pourrait y avoir des limitations de débit internes supplémentaires non documentées qui remplacent les valeurs personnalisées après les mises à niveau.

Références


Demande

Pourriez-vous s’il vous plaît :

  1. Confirmer s’il existe de nouveaux limiteurs de débit cachés qui affecteraient les requêtes d’arrière-plan ou générées par des plugins après une mise à jour/reconstruction récente, et si oui, décrire comment les outrepasser ou les ajuster.
  2. Expliquer pourquoi mes limites de débit personnalisées élevées ne sont pas respectées pour la vue du calendrier.
  3. Suggérer d’autres étapes de dépannage ou modifications de configuration, le cas échéant.

Merci !

Il semble que cela puisse être lié à Re-add full ics export - #9 by kelv car 100 événements semblent s’afficher, puis après environ 2 minutes, un autre grand lot peut s’afficher, et ils n’apparaissent pas progressivement mais par gros blocs.

Edit : Ce comportement limité par le débit est gérable pour le moment, mais devient apparent lorsque l’on avance loin ; je peux voir tous les événements de ma semaine actuelle et tous les événements de la semaine suivante, c’est si je passe ensuite à la semaine suivante que j’atteins la limite stricte.

Je dois également préciser que le calendrier complet des événements à venir v6 n’était pas limité par le débit à ce point, avant que je ne définisse les paramètres personnalisés de limitation de débit de l’API. Ces paramètres app.yml n’ont pas modifié la limitation de débit visible sur FullCalendar :wink:

@kelv pourriez-vous regarder ceci s’il vous plaît ?

Je peux toujours reproduire ce problème

Nous ne parvenons pas du tout à reproduire cela pour le moment. Sur quel commit êtes-vous ? Combien d’événements avez-vous ?

Discourse latest-release +369

Docker_manager 3e5ec72d

Bbcode 633030d8

Categories suppressed d5550658

Who’s online 3fe319b8

Thèmes et Composants

Défaut


[Bannières de Catégorie]

Affichez des bannières sur les pages de catégories en utilisant les détails de vos catégories existantes. En savoir plus

[Sujet Cliquable]

Si vous souhaitez modifier ce thème, vous devez soumettre une modification sur son dépôt

[Liens d’en-tête personnalisés (icônes)]

Si vous souhaitez modifier ce thème, vous devez soumettre une modification sur son dépôt

[Gifs Discourse]

Si vous souhaitez modifier ce thème, vous devez soumettre une modification sur son dépôt

[Aperçus PDF en ligne]

Si vous souhaitez modifier ce thème, vous devez soumettre une modification sur son dépôt

[Mode Lecteur]

Si vous souhaitez modifier ce thème, vous devez soumettre une modification sur son dépôt

44 la semaine prochaine

aucun des ~40 la semaine d’après

FullCalendar s’est enfin calmé

beaucoup, je pense que MAX_RESULTS a dépassé sa limite maintenant après le 27 septembre. Je dois actualiser Full Calendar pour voir mes événements chaque fois que je regarde

Je suis désolé, mais je n’arrive pas à vous suivre. Pourriez-vous faire une vidéo de vous naviguant dans le calendrier, s’il vous plaît ?

1 « J'aime »

sur une PWA

1 « J'aime »

Alors où est le 429 ?

Je ne pense pas qu’il s’agisse de ce type de limite de débit. Lorsque j’ai mentionné les paramètres d’étranglement de l’API, je voulais vraiment dire que mon Discourse est configuré pour gérer de nombreux sujets d’événements, mais que la vue FullCalendar ne fonctionne pas aussi bien qu’avant la fusion du code

Désolé pour la confusion

Edit : j’ai modifié le message d’origine pour refléter l’absence d’erreurs 429

Je suis sur les dernières versions. D’un point de vue de l’interface utilisateur, ce problème s’est résolu tout seul du jour au lendemain. J’ai mis à jour hier soir mais le problème ne s’est pas résolu immédiatement. Le nombre total d’événements qui sont passés est d’environ 270. J’ai maintenant rebasculé vers l’utilisation de PWA…

Mon instance Discourse est maintenant à jour. J’ai reçu hier un rapport d’un autre utilisateur de mon instance indiquant qu’une vue de semaine future ne chargeait pas tous les événements. Ayant déjà remarqué que cette erreur n’affectait pas l’interface utilisateur de la vue de la semaine actuelle, j’ai essayé de localiser l’erreur sur mon ordinateur portable. Ci-dessous, la reproduction vidéo ;

J’ai reconstruit et ce problème continue d’apparaître lors du passage de la semaine en cours à la semaine suivante.

Avons-nous pu le diagnostiquer ?

La mise à jour de Discourse par les 20 derniers commits a corrigé ce bug

Je n’ai pas mis à jour, mais ce bug a recommencé à se produire

Edit : je suis retourné dans PWA et le bug ne se produit pas

Edit2 : j’ai toujours l’erreur dans la console de mon navigateur sur mon ordinateur portable, je n’ai pas vérifié le calendrier cependant