PDA

Voir la version complète: Résolu trop nombreuses erreurs db connexions lors de cache mise à jour



krisp
17-12-09, 01:17
L'autre soir, il m'est arrivé d'être éveillé, un peu après 4 heures du matin, où le forum a soudainement vers le bas pour que 20 minutes:


Erreur de base de données dans vBulletin:

mysqli_real_connect () [<a href='function.mysqli-real-connect'> function.mysqli réel connecter </ a>]: (08004/1040): trop de connexions
/ Var / www / vhosts / ... / httpdocs / includes / class_core.php en ligne 1138

Erreur MySQL:
Numéro d'erreur:
Date de la demande: Mardi 15 Décembre 2009 @ 04:28:00
Erreur Date: Mardi 15 Décembre 2009 @ 04:28:00
Scénario: http://.../
Référent:
Adresse IP:
Nom d'utilisateur:
ClassName: vB_Database_MySQLi
Version de MySQL:
-->

Maintenant, je n'ai jamais connu cela auparavant, et je me demande si c'était une coïncidence, que ce fut autour de la mise à jour du cache vb dans les tâches planifiées.

J'ai vérifié ce matin et tout était ok, donc il n'a pas répété aujourd'hui.

Le serveur ne semblait pas être souligné, car j'ai eu un autre forum sur le même serveur sans vBET, qui tournait normalement pendant la durée d'immobilisation de mon forum vBET.

En regardant les serverlog, il ne semble pas être une activité bot, mais l'activité des utilisateurs pas beaucoup. Les robots semblait OK pour obtenir 200 -, mais les utilisateurs normaux obtenu dberror. Aussi étrangement les enregistrements dans le fichier de log du serveur ne semble pas être classés par ordre chronologique ...

Un peu puzzele ... peut-être vous pouvez me dire si includes / class_core.php sur la ligne 1138 est impliqué dans la mise à jour le cache? Ou peut-être certains d'entre vous ont une idée comment résoudre cela?

vBET
17-12-09, 01:31
vBET ne crée pas de nouvelles connexions - il peut rétablir la connexion, mais cela se fait que si l'on est perdu réelle (dans le cas si les traductions arrive trop tard à partir de Google). Et cette connexion se fait par $ vbulletin-> db-> connect donc vBulletin fait toute compensation nécessaire à la fin.

Alors à ce moment nous pensons que le problème est ailleurs.

class_core.php n'est pas notre fichier et il n'utilise pas de cache directement vBET - mais si ce fichier est chargé de l'exécution d'une tâche planifiée, alors il sera également exécuter vider la mémoire cache.

vBET
17-12-09, 01:54
Une dernière chose. Si vous écrivez sur l'effacement du cache vBET, alors s'il vous plaît diable combien de données que vous avez dans le cache. Si elle est vraiment grande quantité, alors s'il vous plaît modifier votre stratégie d'effacer le cache.
vBET ne crée pas de connexions supplémentaires, mais si la compensation est trop long, puis d'autres clients sont en attente et de nouvelles connexions sont créées par VB pour les nouveaux clients, qui attendent malades. C'est pourquoi nous ajoutons une stratégie de compensation de plusieurs. Pour le montant vraiment grand de données s'il vous plaît utilisez dernière stratégie.

S'il vous plaît noter que cette question sera minimisé en 3.3.0 puisque nous allons diviser les tables de cache pour chaque langue, afin que votre index sera 52 fois plus petite et la compensation sera beaucoup plus rapide - la suppression des données est rapide, mais la mise à jour des indices de grandes pas nécessaire. Donc, à ce moment s'il vous plaît considérer l'utilisation de la stratégie de compensation d'autres, qui sont meilleurs pour les index de grande taille:)

krisp
17-12-09, 05:22
Happend nouveau 04 à 05 - tous les domaines vers le bas avec trop de connexions. Je pense que vous avez raison. Forum est occupé effacer le cache et les robots de recherche sont l'altération d'une seule demande par seconde. Je pouvais voir serverload était extrêmement élevé. Maintenant, il est à nouveau très faible. vBET db environ 1,1 Go

J'ai passé à "Supprimer toutes les données du cache une fois pour le cache TTL intervalle".

Sonne très bien en effet 330 résout ce problème!

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations delivered by vBET Translator 4.10.1