Limiter le nombre de personnes connectées au site

Discussion dans 'Administration d'un site Web' créé par julesdsl, 9 Janvier 2008.

  1. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Bonjour à tous et à toutes,

    Tout d'abord bonne année ! (puisque ce n'était pas encore fait)...

    Nous administrons des serveurs hébergeant un site de e-commerce (sous os-commerce)...

    Nous avons déjà fait beaucoup d'optimisation :
    - config d'apache custom
    - mysql et apache sur 2 serveurs séparés
    - images servies par lighttpd sur serveur mysql
    - système de cache

    Malgrès tout à chaque période de soldes les serveurs sont sur les genoux... et 100% des visiteurs sont pénalisés (ainsi que le proprio de la boutique).

    J'ai deux questions par rapport à cette situation délicate :
    1 - Voyez-vous une autre optimisation possible ?
    2 - Connaissez-vous un moyen de limiter le nombre de personnes connectées au site ?
    J'ai déjà vu cette solution mise en place sur certains sites, quand on arrive sur le site s'il y a déjà trop de monde connecté un message demande de revenir plus tard... ce n'est pas très élégant mais si cela peut permettre aux personnes connectées de commander correctement... plutôt que de pénaliser 100% des visiteurs...


    Merci d'avance pour votre aide... comme vous l'avez deviné nous sommes au début des soldes et la situation est un peu tendue.

    Cordialement.
    Julian
     
  2. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 979
    J'aime reçus:
    121
    Rajouter des index dans les tables. On avait ce genre de soucis sur un OSCOMMERCE dans ma boîte, et ça a résolu pas mal de choses.
     
  3. Ron56
    Ron56 WRInaute occasionnel
    Inscrit:
    20 Novembre 2005
    Messages:
    460
    J'aime reçus:
    0
    Maxclients de combien pour quel serveur ?
     
  4. Serious
    Serious WRInaute passionné
    Inscrit:
    21 Novembre 2005
    Messages:
    1 834
    J'aime reçus:
    0
    Determiner le goulot d'etranglement.
    Louer des serveurs supplementaires pendant la periode des soldes.
     
  5. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Salut,

    Merci pour la suggestion, on a déjà fait ça mais j'ai oublié de le mettre dans ma liste...

    Donc pas grand chose à gagner de ce côté.
     
  6. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Pour préciser un peu :
    - Les machines sont 2 serveurs Core 2 duo avec 2Go de Ram
    - Le site reçoit environs 4000 visiteurs uniques / jour en temps normal, avec les soldes, je n'ai pas encore les chiffres mais on est peut-être au double
    - Le Maxclients d'apache est réglé à 65 (nous avons fait différents essais)

    Voilà, si cela peut vous aider à analyser ?

    Merci d'avance.
     
  7. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    65 seulement ? :O
    Essaye avec 150 :)

    Il serait bon dans un premier temps d'enregistrer le nombre de personnes connectées en même temps.
    Et comme situation temporaire, tu vérifies ce nombre au chargement des pages, si trop élevé, tu bloques l'accès aux nouveaux arrivants. (utilisation de cookies)
     
  8. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Salut et merci pour ton aide,

    Je ne veux pas être péssimiste mais je ne pense pas que de passer le Maxclients à 150 soit une bonne idée... si mes calculs sont bons chaque process apache prends environ 25Mo en Ram donc 25x150... il nous faudrait quasiment 4Go de Ram (nous n'en avons que deux).

    Nous avons fait des essais mais au delà de 80 le serveur commence à swapper et là c'est le cauchemar.

    Dis-moi si tu pense que mon calcul est erroné ou s'il y a quelque chose que je zap ?

    A+
     
  9. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 873
    J'aime reçus:
    0
    Si tes process font 25 Mo c'est que ce n'est pas optimisé! :wink:

    1 - A la compilation de PHP désactive tout ce dont tu ne te sert pas
    2 - Idem pour apache
    3 - sur le deuxiéme serveur (celui des images) installe tous tes fichiers statiques (js, cs etc ...), puis sur le serveur principal tu peux alors mettre keepalive à Off et maxrequestperchild à 1, cela évitera que la taille de tes processus augmente dans le temps. Ensuite tu peux refaire le calcul du maxclient.
    4 - Ensuite, je ne connais pas ta liberté d'intervention sur le code, tu peux installer memcache avec PHP. Il peut te servir à mettre en cache les paniers des utilisateurs ce qui limitera considérablement les accés BDD. Tu peux aussi y cacher les requetes BDD.

    Il y aurais encore beaucoup à dire mais, pour te donner un exemple, sur une config identique (serveur 1 apache+php et serveur 2 lighttpd +images + css + js +php pour la partie admin) installée sur deux Dedibox je sert jusqu'à 25.000 VU/Jour (il est surement possible d'aller au delà mais cela ne s'est pas encore produit :cry: :wink: )
     
  10. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0

    Salut fandecine,

    Merci pour ton aide.

    J'ai lu ton thread sur l'optimisation serveur et m'en suis inspiré.

    C'est sûr que os-commerce pourrait être encore optimisé mais cela demande du temps dont nous ne disposons pas étant donné la situation de crise... disons en tout cas qu'il nous faut commencer par ce qui sera le plus efficace et rapide.

    En ce qui concerne les modules Apache et PHP inutiles, il me semble que le ménage à été fait. Par contre il est clair que PHP5 est bien plus gourmand en ram que PHP4.

    Pour ce qui est des configs MaxRequestPerClient=1 et KeepAlive->off, cela n'étant valable que si tous les fichiers statiques sont délivrés par lighttpd, je pense que nous ne pourrons pas optimiser cela rapidement (nous le ferons dans un second temps).

    Il nous reste donc la solution d'installer memcache... est-ce compliqué ou long à mettre en oeuvre (je ne l'ai jamais fait) ?

    Merci d'avance.
     
  11. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    J'en profite pour vous communiquer les chiffres du jour :
    8945 visiteurs uniques
    170115 pages vues
    1623437 hits

    Mais j'imagine qu'il y a pas mal de monde qui n'a pas attendu les 30s à 50s nécessaires pour qu'une page soit délivrée... :(
     
  12. NxtGen
    NxtGen WRInaute impliqué
    Inscrit:
    24 Octobre 2006
    Messages:
    563
    J'aime reçus:
    0
    étrange tout de meme...
    9000 vu/jour ce n'est pas si énorme que ca
    je fesais tourner ~15000 vu/jour sur une dédibox avec la config par defaut, mais certes, c'était pas du oscommerce :)
     
  13. oberon
    oberon WRInaute discret
    Inscrit:
    26 Septembre 2003
    Messages:
    147
    J'aime reçus:
    0
    9000 vu par jour c'est l'audience d'un petit blog sur un hébergement mutualisé à 50€ par an non ?
     
  14. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 873
    J'aime reçus:
    0
    Je viens te t'envoyer un MP et de publier un Tuto sur l'installation de memcache :wink:

    https://www.webrankinfo.com/forum/viewt ... 617#832617

    Ce qu'il faut pas faire :mrgreen:
     
  15. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Salut,

    Je veux bien qu'il y ai encore de l'optimisation à faire, nous y travaillons... cela dit, on ne peut absolument pas comparer un site sous os-commerce (même bien optimisé) avec un blog dont les pages sont en cache 9 fois sur 10 (donc quasiment un site statique)...

    A mon avis.
     
  16. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0

    Super, merci...

    On va regarder ça de près.

    Par ailleurs je t'ai envoyé la liste des modules Apache et exentions PHP chargées pour avis.

    A+
     
  17. julesdsl
    julesdsl WRInaute discret
    Inscrit:
    8 Décembre 2003
    Messages:
    103
    J'aime reçus:
    0
    Salut à tous,

    Merci pour votre aide précieuse, et tout particulièrement à fandecine.

    Nous sommes finalement sortis de notre situation de crise en prenant les mesures suivantes (si ça peut aider d'autres personnes sous os-commerce) :

    Nous avons :
    - déporté les images sur le serveur hébergeant MySQL et elles sont maintenant servie par lighttpd (gain faible)
    - fait le ménage dans les modules Apache et extensions PHP chargées et réajusté la config d'Apache (gain faible)
    - viré certaines requètes inutiles sur la table specials, notamment une requête chargée d'afficher les produits de façon aléatoire les produits en soldes sur la page d'accueil du site (gain significatif sur le serveur DB)
    - installé eAccelerator (gain 10% de charge environ)
    - ajusté le wait_timeout sur le serveur MySQL (gain moyen)
    - désactivé le cache des urls rewritée (contrib SEO URL) dans la base de données (gain fort) c'est là que se situait le goulot d'étranglement.

    Voilà, il nous reste encore quelques optimisations à faire (essayer qq trucs avec memcache) mais nous avons déjà retrouvé des serveurs "dans le vert"... l'utilisation mémoire du serveur WWW est passée de 1,3Go à 300Mo et le load average de 15 à 0,6 ;)

    PS : les process Apache sont redescendu autour de 20Mo

    A+
     
Chargement...
Similar Threads - Limiter nombre personnes Forum Date
limiter le nombre de personnes connectées URL Rewriting et .htaccess 8 Décembre 2008
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
Limiter nombre visiteurs simultanés ? Administration d'un site Web 16 Mars 2012
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 le nombre de pages par visiteurs Administration d'un site Web 28 Décembre 2008
Limiter le nombre de téléchargements simultanés Développement d'un site Web ou d'une appli mobile 21 Août 2007
limiter le nombre d'envoi de mails d'une meme ip en php Développement d'un site Web ou d'une appli mobile 15 Mars 2006
limiter le nombre d'enregsitrements dans une table mysql Développement d'un site Web ou d'une appli mobile 28 Septembre 2005
Pourquoi limiter le nombre de mots clés dans les meta ? Débuter en référencement 7 Mai 2005
limiter nombre de caractère d'une phrase Administration d'un site Web 9 Septembre 2004
Limiter nombre requetes Administration d'un site Web 29 Octobre 2003
Limiter le nombre de hits par htaccess (ovh 60gp) URL Rewriting et .htaccess 30 Septembre 2003
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