Limiter nombre visiteurs simultanés ?

Discussion dans 'Administration d'un site Web' créé par alaincassis, 16 Mars 2012.

  1. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Bonjour, un de mes site a fait l'objet hier soir d'un article élogieux ( :D ) . ET l'affluence a expolé et continue d'exploser.
    Sauf que qu'au dela + de 50 à 70 visiteurs simultanés ( le visiteur regarde pas mal de pages) , la base SQL rend l'âme et plante le VDS.
    Et quand ca plante pas, ca ralentit, et donc fait tort au site, car il est d'habitude très rapide.
    Est-il possible -provisoirement bien sur- au dela d'un certain nombre d'users simultanés, de diriger les visiteurs suivants vers une simple page html dans laquelle l'on explique qu'il faut revenir plus tard ? ou bien limiter le temps de connextion ?
    Et cela avec htaccess ?
    Merci d'avance ... ca urge, car pour l'instant je surveille, et quand le load dépasse 50 (!), je met à la place de l'index une page html, pendant une demi-heure, le temps que ca se calme un peu.
     
  2. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    pour moi la solution c'est une gestion de cache. Si elle est bien faite elle affiche la version cache d'une page en cas de saturation de mysql car il vaut mieux une version de la page un peu ancienne qu'un message d'erreur.
     
  3. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Non, cela ne peut pas être caché, chaque visiteur effectue des requètes différentes ( c'est un site médical) , et a des résultats différents d'un autre visiteur.
     
  4. JanoLapin
    JanoLapin WRInaute accro
    Inscrit:
    21 Septembre 2008
    Messages:
    4 250
    J'aime reçus:
    0
    c'ets l'intérêtd es hébergement réellement cloudisés (cad virtualisés + "à la dmeande"): tu peux pousser les manettes quand tu le veux pour augmenter les ressoruces matérielles, et tu arrêts quand tu veux. Tu ne paies qu'à ce que tu as consommé.
     
  5. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 231
    J'aime reçus:
    0
    Si tu as trop de visiteurs tu peux me les renvoyer gratuitement, c'est cadeau ;-)
     
  6. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 257
    J'aime reçus:
    1
    au dela + de 50 à 70 visiteurs simultanés la base SQL rend l'âme

    si ton site doit devenir un site qui fait des visites, il faut absolument que toutes les pages (sauf le moteur de recherche bien sur) fonctionnent même la base éteinte. 50 Vu simultanée, tu peux les tenir sur un VDS. il suffit de générer le contenu, avec une régénération sur modification
     
  7. marc.teyssier
    marc.teyssier Nouveau WRInaute
    Inscrit:
    14 Octobre 2011
    Messages:
    4
    J'aime reçus:
    0
    Bonjour,

    Il est assez difficile de répondre directement avec aussi peu d'information.
    Quel est votre serveur (ressource disponible) ?
    Est-ce un serveur dédié à la base ?
    Quel type de base de données ? mysql ?

    Effectivement, 50 à 70 utilisateurs simultanés c'est assez faible. La base de données devrait pouvoir supporter plus.

    Il se peut que les problèmes viennent de la construction (schéma) de votre base de données. Les requêtes comportent-elles plusieurs jointures ? Est-ce sur des tables avec une grande quantité de données ? Combien y a-t-il de requêtes par utilisateur et par page ? Les tables ont-elles des clés étrangères ? des index ?

    Comme vous pouvez le voir il y a beaucoup d'élément qui peuvent être contrôlé afin d'optimiser au mieux les accès à la base. Avec le peu d'information, je pense que la direction à prendre est de réduire le temps d’exécution pour gagner en nombre d'utilisateur
     
  8. Dharius
    Dharius WRInaute impliqué
    Inscrit:
    6 Avril 2005
    Messages:
    746
    J'aime reçus:
    0
    Si la config de ton serveur permet de faire des exec en PHP, tu peux utiliser ce code par exemple :

    Code:
    	$nb_connectes = exec('ps auxwf | grep httpd | wc -l')/1;
    	
    	if ($nb_connectes > 50) 
    	{
    		header("HTTP/1.1 503 Service Unavailable");
    		echo "<h1>503 Service Unavailable (too many connections)</h1>"; 
    		exit();
    	}
    
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 078
    J'aime reçus:
    295
  10. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Sans forcément mettre en cache, "simultané" ne veut RIEN dire !
    A la rigueur tu me dis 50 visiteurs par milliseconde, j'accepte la simultanéité mais ça reste faux.

    Donc, au niveau de ton site des petites choses à faire pour soulager le SQL.
    Si visiteurs > 50
    tu désactives des fonctions qui bouffent (par exemple un compteur d'affichage d'une page, ça fait déjà un UPDATE en moins par page).

    A noter qu'une optimisation de ton "VDS" (je sais pas ce que c'est, si on me sort un "Virtual" "Dedicated" "Server" je pense arrêter mon travail :p C'est dédié ou ça l'est pas :p)

    Comme option pour pallier au plus vite, tu aurais de désactiver le keepalive (un confort en moins pour tes surfeurs, mais un confort en plus pour le serveur).
    Au niveau de MySQL, tu pourrais régler des petites options (voir les outils proposés par spout).
     
Chargement...
Similar Threads - Limiter nombre visiteurs Forum Date
Limiter un nombre à une valeur max dans SQL Administration d'un site Web 29 Mars 2018
Comment limiter le nombre de caractères d'un texte Développement d'un site Web ou d'une appli mobile 6 Août 2014
Limiter le nombre de redirections Demandes d'avis et de conseils sur vos sites 25 Septembre 2013
MAGPIE RSS : Limiter le nombre de caractères "description" Développement d'un site Web ou d'une appli mobile 11 Mars 2011
Limiter nombre de connexions par IP et référencement Débuter en référencement 1 Décembre 2010
Code php pour limiter le nombre de recherche. Développement d'un site Web ou d'une appli mobile 29 Septembre 2010
Limiter la zone d'expédition pour un produit e-commerce 24 Octobre 2019
Arfooo PHP 7 : (2) session_start(): Cannot send session cache limiter Annuaires et moteurs 31 Janvier 2019
Duplicate content, 2 sites, même contenu. Comment limiter les dégâts ? Débuter en référencement 17 Juin 2014
Cannot send session cache limiter - headers already sent en php5 Développement d'un site Web ou d'une appli mobile 14 Mars 2013