Jump to content

Cherche pointure apache pour gros site (proche 1M hits/jour)


doekia

Recommended Posts

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 by Vinum (see edit history)
Link to comment
Share on other sites

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

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

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

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

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...