Le nombre maximum de connexions MySQL est de 151. Le nombre maximum de connexions à la base de données MySQL fait référence au nombre maximum de connexions pouvant être établies avec la base de données MySQL en même temps. Ce nombre est crucial pour les applications Web à fort trafic et les applications de grande entreprise. est dépassé, la création de nouvelles connexions échouera, ce qui entraînera le blocage de l'application ou des problèmes de performances.
Le système d'exploitation de ce tutoriel : système Windows 10, mysql version 8.0, ordinateur Dell G3.
Le nombre maximum de connexions à la base de données MySQL fait référence au nombre maximum de connexions pouvant être établies avec la base de données MySQL en même temps. Ce nombre est essentiel pour les applications Web à fort trafic et les applications de grande entreprise. Si le nombre maximum de connexions est dépassé, de nouvelles connexions ne seront pas établies, ce qui entraînera des pannes d'application ou des problèmes de performances.
Habituellement, le nombre maximum par défaut de connexions MySQL est de 151 et le maximum peut atteindre 16384.
Vérifiez le nombre maximum de connexions MySQL :
show variables like '%max_connections%’;
Vérifiez le nombre maximum réel actuel de connexions utilisées :
show global status like 'Max_used_connections';
Il est plus approprié que le nombre réel de connexions soit de 85 % du nombre maximum de connexions, afin que nous puissions définissez le nombre maximum de connexions en fonction du nombre réel de connexions (si vous souhaitez définir un nombre maximum de connexions supérieur à 1024, vous devez également modifier la limite supérieure du descripteur de fichier).
Réflexion : Est-il préférable de fixer le nombre de connexions au maximum (16384) ?
Nous définissons le nombre de connexions sur le nombre maximum de connexions prises en charge par MySQL, afin que notre serveur MySQL puisse prendre en charge plusieurs connexions en même temps, et nous pouvons également rarement rencontrer le message d'erreur :
MySQL: ERROR 1040: Too many connections
.
Cependant, en raison des limitations des ressources du serveur, si max_connections est défini sur une valeur trop grande, la base de données épuisera les ressources du serveur et ne répondra plus en raison du maintien d'un grand nombre de connexions. Parce que pour chaque connexion supplémentaire, MySQL créera un thread pour maintenir la connexion, et le CPU doit recharger les informations contextuelles du thread correspondant lors du basculement entre les threads. Lorsque le nombre de connexions continue d'augmenter, le CPU continue de basculer entre les threads. requêtes de chaque connexion.
Ainsi, lors de la définition d'une valeur max_connections plus grande, il peut y avoir un risque de dégradation des performances de la base de données en raison de l'acceptation d'un trop grand nombre de connexions, ou même d'un échec de réponse en raison de l'épuisement des ressources.
Pool de connexions à la base de données
Un pool de connexions à la base de données maintient un cache de connexions à la base de données afin que la connexion puisse être réutilisée lorsqu'une requête à la base de données doit être effectuée à l'avenir. Le regroupement de connexions est utilisé pour améliorer les performances d’exécution des commandes sur la base de données. Parce que chaque fois que vous vous connectez à la base de données, vous devez passer par une connexion TCP. Si vous devez vous connecter à chaque fois que vous accédez à la base de données, fermez-la, puis reconnectez-vous la prochaine fois que vous y accéderez, ce sera du gaspillage. de ressources, nous mettons donc la connexion créée dans la connexion Dans le pool, la prenons lorsque vous en avez besoin et la remettons dans le pool de connexions lorsque vous n'en avez pas besoin (en échangeant de l'espace contre du temps).
Lorsque le nombre de connexions demandées par l'application depuis le pool de connexions dépasse le nombre maximum de connexions, ces demandes seront ajoutées à la file d'attente.
Réflexion : est-ce que plus le pool de connexions à la base de données est grand, mieux c'est ?
Ne serait-il pas préférable de définir le pool de connexions à la base de données pour qu'il soit identique au nombre maximum de connexions MySQL ? Cela peut garantir que notre service dispose du nombre maximum de connexions disponibles. Chaque fois qu'une demande de base de données arrive, nous disposons de connexions gratuites à utiliser.
Dans ce cas, nous revenons au problème rencontré ci-dessus (qui peut entraîner un risque de dégradation des performances du serveur en raison du maintien d'un trop grand nombre de connexions à la base de données, voire d'un échec de réponse dû à l'épuisement des ressources)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!