Aller au contenu


Photo
- - - - -

Limites de connections mysql sur un hebergement mutualisé


  • Veuillez vous connecter pour répondre
11 réponses à ce sujet

#1 izguit

izguit
  • Membre
  • 6 messages

  • Inscrit(e) : 10-août 06

Posté 09 décembre 2007 - 17:14

Salut à tous,

Je suis en hébergement mutualisé chez 1and1, et des visiteurs de mon site ( irrlicht.fr ) ont quelques fois l'erreur 1040 de mysql : "too many connections". Ce quota de connections à ne pas dépasser se situe-t-il au niveau du serveur ou de ma base? (en clair ca vient forcément de ma base ou c'est une autre base du même serv qui peut saturer le truc?)
Ca m'étonne un peu, le site ne fait pas beaucoup de pages vues par jour (entre 1500 et 3000/jour) :huh:
Vais-je être obligé d'upgrader d'offre? (je dispose de l'offre de base...)

Merci d'avance et bonne journée
  • 0

#2 Pat AfterMoon

Pat AfterMoon
  • Hubmaster
  • 106 messages

  • Inscrit(e) : 26-novembre 07
  • Genre:Homme
  • Localisation:Vercors

Posté 09 décembre 2007 - 19:18

Salut,

En principe le nombre maximum de connexions simultanées à ta base MySQL dépend de ton offre d'hébergement. Je ne connais pas trop 1and1, et en faisant une recherche rapide je n'ai pas trouvé cette info dans le détail de leurs offres. Pour donner un exemple approximatif, chez OVH dans l'offre de base 60GP (12€/an) tu as droits à 3 connexions simultanées, pour du 90Plan (45€/an), c'est 10 connexions.
  • 0
Acid Islands : Shooter 3D, WIP, Unity
COOP or DIE : coopérer ou périr pour Quake 2

#3 izguit

izguit
  • Membre
  • 6 messages

  • Inscrit(e) : 10-août 06

Posté 09 décembre 2007 - 20:52

ok merci de ta réponse. Donc il y a des chances que ça vienne de mon offre...
D'autres avis de spécialistes de 1and1?
  • 0

#4 beber24

beber24
  • Actif
  • 45 messages

  • Inscrit(e) : 10-avril 06

Posté 09 décembre 2007 - 22:23

Change d'hebergeur :whistling:
  • 0

#5 guymauve

guymauve
  • Hubmaster
  • 453 messages

  • Inscrit(e) : 04-décembre 04
  • Genre:Homme
  • Localisation:Namur

Posté 12 décembre 2007 - 22:18

Oui idem.
Tu n'auras plus ce type de soucis.
  • 0
Guymauve.be : Blog perso
MxForum.be : Communauté sur la moto tout-terrain
Freddy-Matagne.be : Portfolio photo Tractor Pulling

#6 Pat AfterMoon

Pat AfterMoon
  • Hubmaster
  • 106 messages

  • Inscrit(e) : 26-novembre 07
  • Genre:Homme
  • Localisation:Vercors

Posté 13 décembre 2007 - 00:44

De toute façon il y a toujours une limite. Voici un petit script a adapter pour connaitre la limite chez toi :
$db_server = "localhost";		 // <- a adapter
$db_user_login = "root";		  // <- a adapter
$db_user_pass = "";				// <- a adapter

$linkid = array();
for ( $i = 0;; $i++ )
{
	$linkid[$i] = mysql_connect($db_server,$db_user_login,$db_user_pass, true) or die ('Error mysql_connect');
	echo ' mysql_connect ['.($i+1).'] = '.$linkid[$i].'<br/>';
}

A vu de nez ton site utilise un portail, un forum et un wiki, tous les 3 chargent la base de donnée. Il faut voir si ceux-ci ont des options de gestion de cache, voir s'il existe des plugins. Si en plus tu as des scripts "maison" qui tournent, il peut être intéressant de jeter un coup d'œil coté optimisation.

Dans mon cas, pour le site qui est dans ma signature, j'avais intégré un script de webchat récupéré sur le net. Il faisait un accès BDD toutes les 5 secondes (refresh) multiplié par le nombre de visiteurs courant, je te laisse imaginer le malaise :smhair1:
Depuis j'ai ré-écrit l'engin et il n'y a accès à la BDD que lorsque quelqu'un ajoute un message.

En ce moment je cherche à "loguer" lorsque mon nombre de connexions simultanée se rapproche de la limite. Si cela t'intéresse, l'instruction MySQL ci-dessous renvoie une ligne par connexion ouverte :
SHOW PROCESSLIST

Modifié par Pat AfterMoon, 13 décembre 2007 - 00:46.

  • 0
Acid Islands : Shooter 3D, WIP, Unity
COOP or DIE : coopérer ou périr pour Quake 2

#7 Anonymus

Anonymus
  • Hubmaster
  • 5 139 messages

  • Inscrit(e) : 26-août 03
  • Genre:Homme
  • Localisation:Normandie.. (pas loin de Paris)
  • Société:L'atelier des Chefs

Posté 13 décembre 2007 - 02:15

Si cela t'intéresse, l'instruction MySQL ci-dessous renvoie une ligne par connexion ouverte :

SHOW PROCESSLIST

A propos de cette ligne, elle permet de voir qu'il y a un problème lorsque certaines lignes restent trop longtemps. Si tu as un programme qui utilise une connexion permanente, par exemple, il va générer un appel à la base de données, et rester 'ouvert'. Donc ca te fait déjà une connexion.. permanente :)
  • 0

#8 guymauve

guymauve
  • Hubmaster
  • 453 messages

  • Inscrit(e) : 04-décembre 04
  • Genre:Homme
  • Localisation:Namur

Posté 13 décembre 2007 - 18:21

Génial ce script.
  • 0
Guymauve.be : Blog perso
MxForum.be : Communauté sur la moto tout-terrain
Freddy-Matagne.be : Portfolio photo Tractor Pulling

#9 izguit

izguit
  • Membre
  • 6 messages

  • Inscrit(e) : 10-août 06

Posté 13 décembre 2007 - 20:04

Merci beaucoup de vos réponses
Bien trouvé le script, j'y aurais pas pensé :)
La limite est a 18-20 connections donc pas la peine de changer d'hébergement....
  • 0

#10 Kioob

Kioob
  • Membre+
  • 1 060 messages

  • Inscrit(e) : 19-avril 04
  • Genre:Homme
  • Localisation:Lyon
  • Société:Daevel

Posté 17 décembre 2007 - 10:17

Le plus simple à mon avis pour connaitre ces limitations est de demander à MySQL directement :
mysql> show variables like 'max%connections';
+----------------------+-------+
| Variable_name		| Value |
+----------------------+-------+
| max_connections	  | 200   | 
| max_user_connections | 50	| 
+----------------------+-------+
2 rows in set (0.00 sec)

Le max_connections est la limite globale, pour tout le serveur, et le max_user_connections la limite pour ton login en particulier.


Nota : je précise que les limites indiquées ici sont celles sur l'un de mes serveurs, pas 1and1
  • 0

#11 guymauve

guymauve
  • Hubmaster
  • 453 messages

  • Inscrit(e) : 04-décembre 04
  • Genre:Homme
  • Localisation:Namur

Posté 26 décembre 2007 - 23:51

Il y a possibilité de savoir ça sur du mutualisé sans passer par le script ?

Parce que l'on a pas de console nous ;-)
  • 0
Guymauve.be : Blog perso
MxForum.be : Communauté sur la moto tout-terrain
Freddy-Matagne.be : Portfolio photo Tractor Pulling

#12 Kioob

Kioob
  • Membre+
  • 1 060 messages

  • Inscrit(e) : 19-avril 04
  • Genre:Homme
  • Localisation:Lyon
  • Société:Daevel

Posté 20 janvier 2008 - 22:45

La requete SQL en question, tu peux la lancer depuis phpMyAdmin par exemple, voir depuis un script PHP... mais dans tous les cas il faudra bien à un moment ou un autre se connecter à MySQL oui :P
  • 0




0 utilisateur(s) lisant ce sujet

0 membre(s), 0 invité(s), 0 utilisateur anonyme

experts referencement   Seo .fr