doekia Posted November 6, 2012 Share Posted November 6, 2012 Tout est dans le sujet. J'ai quelques soucis avec un gros PS/apache. Cdlt, (d)oekia Link to comment Share on other sites More sharing options...
Vinum Posted November 7, 2012 Share Posted November 7, 2012 Tu devrais donner plus d'explications. Link to comment Share on other sites More sharing options...
doekia Posted November 7, 2012 Author Share Posted November 7, 2012 Genre? ... 48GB/16CPU => pic 400-500 P/s Je pense que la question est claire pour celui qui connait Link to comment Share on other sites More sharing options...
Vinum Posted November 7, 2012 Share Posted November 7, 2012 (edited) Bah, je pense m'y connaitre un peu et désolé mais je ne comprends ce que tu veux et quel est le problème. Et vu le nombre de réponse, je ne pense pas être le seul. Mais si c'est parce que ton serveur rame ou freeze, tu devrais virer des modules apaches qui ne servent à rien et montrer ta config apache pour voir ce qui peut être amélioré. utilises tu un système de cache ? Utilises tu eAccelerator et Nginx ? etc .... Edited November 7, 2012 by Vinum (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted November 8, 2012 Share Posted November 8, 2012 Vinum à entièrement raison, on ne connait même pas ta version de prestashop, des principaux modules utilisés, les tests que tu aurait déjà effectués... Link to comment Share on other sites More sharing options...
doekia Posted November 8, 2012 Author Share Posted November 8, 2012 Les tests que j'ai fait?? J'ai un site qui est proche des 1millions de visite jours avec des pics à 500 par secondes ... je demande juste si quelqu'un a de l'expérience avec un infrastructure similaire pour échanger autour des problèmes rencontrés sur ce type d'install. Je demande pas si quelqu'un s'y connait un peu je demande si il y a un expert dans les lecteurs de ce forum ... comme j'ai demandé ailleurs. Voilà. Link to comment Share on other sites More sharing options...
Gehasia Posted November 13, 2012 Share Posted November 13, 2012 Un gros apache avec 500rq/sec qui prefork un processus à chaque fois ça doit commencer à bien charger la ram et à rigoler du côté de apache, même 48GB, si htop/top te donne une consommation mémoire trop importante alors : migration apache ->nginx+php-fpm (httpd+mod-php c'est vraiment l'horreur côté consommation mémoire, surtout que httpd fork un process pour chaque requête, donc tes 500rq/sec ça doit te charger mini 20GB) Mais ça peut être aussi une histoire d'I/O, soit network (quelle idée de faire tourner le truc sur un seul serveur ?!?!), peut-être même disque, et dans ce cas, mieux vaut trois serveurs moyens et un bon load balancing en frontal (surtout que si ça tombe il t'en reste toujours deux...). Ah et puis pourquoi pas la BDD d'ailleurs ?... Donc ta pointure tu la veux comment ? Une pointure en base de donnée, une pointure en réseaux, une pointure en optimisation apache, il faut que tu cernes un peu mieux le problème avant de trouver la personne compétente pour le résoudre... Link to comment Share on other sites More sharing options...
doekia Posted November 14, 2012 Author Share Posted November 14, 2012 Cool enfin quelqu'un qui parle ma langue. Oui ça plombe pas mal surtout quand fcgid 2.3.6 a quelques pb dans la gestion de la process table et part dans les chouquettes. Bon ok j'ai compile la 2.3.8 spécialement mais franchement la limite de 600 tps/s ... il doit me manquer un truc car j'arrive pas a passer la limite. Coté i/o nickel, coté réseau calme plat mais coté process alloc c'est bloquage .... tu as des pistes? Je viens de passer 2j a tenter un cache nginx en front ... ça n'a pas l'air de scale mieux ... Perso je suis a 11MB /proc donc normalement je devrais si mes chiffres sont juste scaler jusque 1000/s sauf erreur de calcul. PS: pick time je suis a 8GB/mn rss commit et 123GB/mn vsize commit si ça te parle Link to comment Share on other sites More sharing options...
Gehasia Posted November 14, 2012 Share Posted November 14, 2012 Bon déjà cool, pas de mod-php, les valeurs de 20GB pour 500rq/sec c'était pour lui, en apache prefork-mpm, en fcgid c'est normal que tu sois bcps plus faible en emprunte mémoire par processus . Je suppose que tu as déjà tout essayé côté fcgid avec les options ( MaxRequestPerprocess, MaxProcesscount,MinSpareThreads,ThreadsPerChild et j'en oublie plein). Mais en fait ça fait quoi, il n'arrive plus à allouer des processus alors que t'as de la ressource de dispo ? Même en mettant des valeurs démentielles il ne fait plus rien et ne monte plus ? Le load monte ? La conso mémoire ? Ou rien de tout ça, il arrive juste pas à allouer des process supplémentaires alors que c'est configuré pour ?! Avec des options telles que MaxRequestsPerProcess tu peux aussi jouer sur des trucs genre FcgidSpawnScore et FcgidSpawnScoreUpLimit pour arriver à trouver le bon compromis de recyclage des process. C'est du fine tuning option par option, le problème c'est que ça fait trop longtemps que je n'ai pas mis les doigts la dedans pour te proposer une config "gros serveur". Peut-être que la config de fcgid impose un renouvellement trop important des process. Tu devrais pouvoir manger plus que 500rq/s en fcgid avec un tel serveur, c'est clair (bon prestashop, c'est pas ce qu'on fait de plus light en terme de requetes...). C'est bien juste le fcgid qui te fait chier, pas le apache (en worker-mpm je suppose) ? Après perso, pour arrêter de m'emmerder, et prendre de base l'option la plus rapide/light, j'ai tout basculé en php-fpm à la place de fcgid, tu gagneras peut-être pas grand chose, mais l'inverse m'étonnerait (et maintenant je monte tout avec nginx au lieu d'apache en plus...). C'est quand même bizarre que ton reverse proxy nginx+cache ne fasse rien, si tu caches tous tes fichiers statiques genre 48h, rien que ça devrait t'éviter un max de requetes vers ton backend apache (et donc si tu caches tous les fichiers tu devrais encore améliorer la chose puisque là tu vas virer du process fcgi, mais je t'accorde que c'est pas toujours évident sur des sites qui bougent beaucoup et/ou il y a beaucoup de contenu spécifique utilisateur de mettre un cache en place pour ça) T'as pas moyen de copier/coller les configs de fcgid et de nginx ? Sinon, j'imagine que c'est le bordel vu le nbre de req/sec le serveur est déjà en production, mais si tu peux remplacer par php-fpm tu t'éviteras le spawning manager de mod-fcgid qui apparemment te pose problème. (et au fait, tu es bien sûr que ta config mysql n'est pas anémique pour absorber tout ça ? Genre une config par défaut et des process fcgi qui attendent longtemps les réponses mysql. Ca m'étonnerait que ce soit ça, mais sait-on jamais). Je peux pas trop t'aider réellement, puisque je scale horizontalement perso (pas sur du prestashop pour lequel j'ai très peu de charge, mais sur d'autres systèmes) : Un load balancer, et X serveurs derrière pour absorber tout ça (nginx+php-fpm+cache). C'est bon à faire une fois qu'on sait que sa config serveur est ok, ce qui n'est apparemment pas encore ton cas. Link to comment Share on other sites More sharing options...
doekia Posted November 14, 2012 Author Share Posted November 14, 2012 J'ai un SpawnScore à 50, le sql est tranquille ... en fait tout a coup sans crier gare apache arrête de prendre les connexions ... Des fois a 600tps des fois a 450 ... La bascule php-fpm ... là avec la montée en charge de Décembre ... j'ose même pas imaginer ... nginx... je suis une bille ... et j'arrive pas a faire plus de 50 cnx concurrentes ... On se PM ... Link to comment Share on other sites More sharing options...
Recommended Posts