Modérateur : Équipe
Et donc quel est l'événement qui aurait occasionné la lenteur ?
Code : Tout sélectionner
SELECT test3310.*
FROM test3310
LEFT OUTER JOIN test334
ON test3310.config_name = test334.config_name
WHERE test334.config_name IS NULL
Code : Tout sélectionner
SELECT test334.*
FROM test334
LEFT OUTER JOIN test3310
ON test334.config_name = test3310.config_name
WHERE test3310.config_name IS NULL
Code : Tout sélectionner
SELECT test3310.*
FROM test3310
LEFT OUTER JOIN test334
ON test3310.config_name = test334.config_name
WHERE test334.config_value != test3310.config_value
Code : Tout sélectionner
('email_package_size', '0', 0),
Cette option était réglée à "0" sur le forum en ligne et à "2" sur le forum à la version phpBB 3.3.4 dont j'ai repris en grande partie les réglages hier soir.Taille des paquets de courriels :
Ceci est le nombre de courriels envoyés dans un paquet. Cette option est appliquée à la file d’attente des messages ; réglez cette option à « 0 » si vous rencontrez des problèmes avec des notifications de messages non délivrés.
Réponse dans le postJusqu'à présent, j'avais un nombre d'utilisateurs suffisamment restreint pour pouvoir m'en sortir avec un email_package_size de 0 (ce qui évite d'utiliser la file d'attente de notification par courriel et envoie tous les courriels de notification dès que le message est posté), mais comme le nombre d'utilisateurs a augmenté (et que la plupart des gens reçoivent des notifications pour chaque message), cette approche n'est plus idéale.
C'est pourquoi j'ai fixé la taille des paquets d'e-mails à 80, mais j'ai remarqué que les notifications mettaient un certain temps à être envoyées. En effet, la file d'attente est configurée (par défaut) pour n'être envoyée que 60 secondes après la mise à jour du fichier de file d'attente, de sorte que le propre message d'un posteur (et le retour du posteur sur le forum après le message) ne déclenche pas d'envoi. Ainsi, les notifications ne sont pas envoyées tant qu'il n'y a pas d'autre activité sur le forum (cet utilisateur ou un autre utilisateur doit se rendre quelque part sur le forum une fois les 60 secondes écoulées pour déclencher un envoi).
La solution la plus simple est de mettre queue_interval (dans la table 'phpbb_config' de la base de données) à 0, et cela semble fonctionner correctement. Le trafic n'est pas assez important pour déclencher une violation des règles imposées par mon hébergeur sur la fréquence des envois de courriels. Y a-t-il un inconvénient à cette approche en termes de performances du forum ? Elle semble aider plutôt que nuire à cet égard (en comparaison avec le fait de laisser email_package_size à 0). Y a-t-il une autre méthode que je devrais envisager ?
(Je sais que je peux mettre en place une tâche cron externe qui appelle cron.php périodiquement, mais je pense que cela créerait plus de pression sur les ressources qu'il n'y en aurait).
J'ai du mettre ce paramètre à "0" lorsque j'ai abandonné le SMTP de Gmail pour basculer sur celui de l'hébergeur, et je ne sais plus pourquoi j'ai changé de "2" à "0".Alan, tu t'y connais mieux que moi, mais un éventuel problème de performance en fixant l'intervalle de file d'attente à 0 pourrait être lié aux multiples processus liés au fichier cache (verrouillage, déverrouillage, vérification du verrou, lecture et écriture des données de la file d'attente - une fois pour chaque paquet) parce que chaque paquet suivant serait traité sans délai. Cependant, avec une taille de paquet de 80, à moins que vous n'ayez un très grand nombre d'e-mails, il n'y aura pas beaucoup d'itérations, ce qui ne posera probablement jamais de problème.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité