Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-02-2008 21:41:39

Laurent
Membre
Date d'inscription: 23-04-2007
Messages: 15

ZF et forte charge

Bonjour,

J'ai un gros projet en cours et je suis très tenté d'utiliser le ZF.
Je suis donc à la recherche de retours d'expériences sur le déploiement d'une telle solution pour de gros sites à forte charge.

Merci.

---
Laurent

Hors ligne

 

#2 19-02-2008 06:36:52

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: ZF et forte charge

perso, j'ai un énoorme développement à faire, qui va demander plusieurs ressources tel qu'un graphiste, d'autres développeurs. N'ayant pas d'expérience dans les gros développements (type CRM), je ne me vois pas commençer mon application sans utiliser un framework. ZF est vraiment compliqué pour moi, mais après c'est un choix : je préfère perdre du temps maintenant sur son apprentissage (et je ne suis pas prêt d'avoir fini).

Voilà, pour résumé mon choix d'utiliser ZF (j'y suis que depuis qq semaines d'auto-formation) :
- je ne veux pas m'occuper de l'intégration du graphisme, l'aspect VUE m'interesse (je pourrais utiliser un moteur de template comme Smarty aussi)
- je ne veux pas que chaque développeur programme à sa sauce et s'il quitte le projet, recommencer son travail. Il est important pour moi que l'équipe suit un modèle de développement, alors Z-F répond parfaitement à mes attentes de ce côté
- Je ne supporte pas faire des copier coller de code et de travailler sans cesse sur des classes buggés : ZF met à ma disposition des modèles de gestions de bd, authentification, droit, etc. Bon, pour l'instant étant donné que je maitrise que dalle, je ne peux pas vraiment parler mais j'espère que ça viendra)
- ZF est orienté objet, c'est super, ça limite le bourrinage
- Partisan du suite www.developpez.com, j'ai vu qu'il y'avait un sous forum ZF et pleins de tutos français : alors ça me garanti le serieux du framework
- enfin, la communauté de ZF france est petite (ce sont toujours les mêmes qui répondent aux questions du forum présent), mais avec une réactivité étonnante ! Perso je suis complêtement charmé : aucun de mes problèmes n'a été sans suite et pourtant les questions débiles j'en ai posé et j'en pose encore. Franchement merci aux admins et autres personnes du forum, vous donnez envie de contribuer pour ZF.

Quoi qu'il en soit, mon appli à réaliser est énorme et met en oeuvre beaucoup de point que je n'ai pas encore abordé avec ZF (javascript, template, couplage avec d'autre cms/crm, etc...). Je te parle en tant que super débutant.

Bon courage !

Dernière modification par whitespirit (19-02-2008 06:37:56)

Hors ligne

 

#3 19-02-2008 08:45:30

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: ZF et forte charge

La charge à gérer dépend énormément de la nature du site que tu souhaites faire. La charge coté serveur n'est pas la même pour un site d'information que pour un site de e-commerce.
Nous avons actuellement un site institutionnel sous ZF, cela marche correctement, pas de problème particulier à remonter,  la charge n'est pas non plus très forte, de l'ordre de 170 000 visiteurs/jours grand max, mais elle devrait augmenter quand de la pub pour le site aura été faite.
Néanmoins, le ZF seul n'est pas particulièrement performant, pas plus que du php natif. Il y a un beaucoup de chose à faire pour rendre un site performant, que ce soit au niveau code, au niveau hardware ou au niveau config.
On utilise même l'autoload et le Zend_Loader alors qu'il est décrié dans un autre thread pour ses performances, donc tu vois, tout dépend comment tu utilises la chose et ce que tu fais.

Hors ligne

 

#4 19-02-2008 14:38:58

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: ZF et forte charge

Bonjour,

J'ai un site avec un trafic relativement fort (900 000 pages vues / mois, 500 000 visites/mois) qui fonctionne bien avec le ZF (1.0.3).
Les caractéristiques sont :
- 1 serveur apache
- 1 base séparée
- site assez simple fonctionnellement
- Pas activé APC
- Pas utilisé Zend_Cache

J'avais implémenté un système de cache, mais comme ça tient la charge, je ne l'ai pas activé.

Ca tient bien. Même remarque que Titerm, PHP n'est pas réputé pour sa vitesse, le ZF non plus, cependant avec les serveurs actuels on peut déjà atteindre des trafics sympa sans se poser trop de question... (certes, mon site est un lilliputien par rapport à celui de Titerm smile )

Sinon Zend_Cache est bien pensé et facile à mettre en place en cas de besoin.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 19-02-2008 15:14:41

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: ZF et forte charge

Bah on trouve toujours plus fort en fréquentation, c'est toujours relatif...
Par apport au site public, notre site institutionnel n'a aucune charge. La seule particularité pour nous, c'est que la fréquentation est en dent de scie. Juste avant des évènements genre gros euromillions, super cagnotte etc.. on peut avoir des pointes genre 1 millions visiteurs / heure mais c'est une charge qui dure maxi quelques heures... Le reste du temps, c'est beaucoup plus "calme". Néanmoins, face a des sites type vente-privee , doctossimo, etc on reste un petit site en terme de fréquentation.

Par contre, il est clair que vu les pointes qu'on a, on est obligé d'optimiser au mieux pour éviter d'avoir une architecture délirante juste pour faire face au pointe de charge.
Alors pour nous c'est :
- APC : Oui (ca coute rien, c'est une extension a chargé, et c'est tout, et gros gain en perf, gros gain en éco CPU)
- Zend_Cache : Non, on utilise une version de jpcache complètement customisé, plus d'autre système de cache perso. En tout, on doit avoir 3 ou 4 niveau de cache distinct.
- Apache compilé en statique : Gain de perf, pas de module a charger
- 2 Apache en proxy : Le premier sert les ressources statique, et si c'est du php, il proxy au second qui ne fait que du php. L'intérêt c'est de pouvoir avoir une config optimisé a la fois pour les ressources statique et pour le php.
- BDD séparée aussi mais ca tombe sous le sens.
- Système de template perso.
- Gros site en terme fonctionnelle. Environ 500 pages administrable via le back à 95%. En gros, les 5% qui reste, c'est les layouts, css et js.

Hors ligne

 

#6 19-02-2008 19:03:48

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: ZF et forte charge

PHP est un langage de script très performant.
Le problème avec les frameworks, n'est pas tellement le code objet ( même si les __call, __autoload et autres call_user_* ne sont pas des plus perfomants ) mais le nombre de fichiers à inclure.

PHP n'est pas un langage compilé => il compile chacun de ses scripts à la volée, puis les execute. (Parsing, Compilation OPCodes, puis Execution de l'OPCode par le ZendEngine)
Lors d'un appel include, l'execution du moteur est mise en pause, et l'adresse de la pile est mémorisée. PHP commence alors à parser le fichier inclut, puis à le compiler, pour enfin l'executer, et retourner à l'adresse de pile précédemment sauvée.
Et ainsi de suite.

Ce processus est très couteux lorsque beaucoup de fichiers et d'inclusions entrent en jeu.
Un cache d'OPCode permet d'éviter toutes ces étapes en gardant en mémoire vive le code compilé, et évite ainsi de lourdes étapes, répétitives, à PHP.

Cacher au niveau HTTP est aussi une très bonne chose pour optimiser les perfs, toute la question réside dans le TTL à utiliser. Sur les sites très dynamiques, cette solution devient peu appropriée, même si les ressources statiques peuvent toujours être cachées ( et doivent l'être ).
Utiliser du load balancing pour gérer le contenu statique/dynamique est une bonne solution à rajouter.

Compiler Apache avec PHP en statique est très bon aussi, de même que compiler PHP soi-même avec toutes les options d'optimisations pour sa machine, et en virant tous les modules non nécéssaires.

Hors ligne

 

#7 20-02-2008 10:36:50

Laurent
Membre
Date d'inscription: 23-04-2007
Messages: 15

Re: ZF et forte charge

@whitespirit:
Je suis bien d'accord avec toi sur les avantages du ZF et franchement, je ne le trouve pas compliqué. Bon, il faut dire que j'ai suivi son évolution depuis le début, appris progressivement à m'en servir et souvent mis le nez dans les classes pour en apprendre plus ou quand la doc n'était pas jour... Et ZF est devenu le 1er Framework PHP que j'apprécie.
Et comme toi, j'aime aussi ce forum qui est toujours agréable et réactif grâce à sa petite communauté, même si je n'y suis pas beaucoup.

@TiTerm et philippe
Merci pour vos retours.

Donc, pour l'instant, par de site avec PHP/ZF sur plusieurs serveurs (LVS, répartition de charge...)?

Dernière modification par Laurent (20-02-2008 10:38:46)

Hors ligne

 

#8 20-02-2008 13:47:06

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: ZF et forte charge

Bah si, nous, on a plusieurs frontaux... Bon c'est pas du LVS, c'est vraiment des serveurs physiques et le load balancing est fait par un proxy en amont. Chaque frontal est autonome. Tous nos sites tournent sur ces mêmes serveurs, le public, l'institutionnel, etc...

Hors ligne

 

#9 21-02-2008 14:27:02

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: ZF et forte charge

Bonjour,

suite à ce sujet, j'ai mis en test une application sous Zend_framework avec APC.
Mes premiers résultats sur plutot spectaculaire (5 fois plus rapide sur ma page de login par exemple).

J'en appel au retour d'expérience :
Y - a-t-il des contre indication à utiliser APC ?
Y a t- il un impact sur le développement (y a til des règles a respecte?) , lorsque l'on met en place APC ?
Quels valeurs de configuration utilisez-vous pour le shm .... ?

Avez-vous des liens intéressants sur le sujet ?

au vu des premiers résultats :
Pourquoi APC est dans PECL et non nativement dans  PHP ?

Hors ligne

 

#10 21-02-2008 17:46:19

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: ZF et forte charge

1/ Perso, je n'ai jamais eu de pb d'utilisation avec APC. On a parfois trouvé des bugs mais après soit une ouverture, soit une proposition de patch, c'est rapidement intégré dans le trunk et dispo dans la version suivante. La team qui gère est relativement réactive.
2/ Aucun impact sur le dev si tu te contente d'utiliser le cache d'op code. La valeur pour le shm dépend de la consommation que tu en feras personnellement dans tes dev indépendamment du cache d'opcode. De toute facon, le cache d'opcode ne consomme quasi rien (sur mon serveur actu, 1000 fichiers = 15Mo).

Si APC n'est pas déjà dans le core, cela ne devrait plus tarder. Je pesne que Zend a traîné les pieds car il vende aussi un cache d'opcode mais il me semble qu'il est acté que APC doit intégrer le core. En revanche, il sera probablement off par défaut dans php.ini.
Avec la distrib apc, tu doit avoir un apc.php, met le sur ton serveur web, tu auras pas mal d'info en live sur ton APC.

Hors ligne

 

#11 21-02-2008 18:59:14

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: ZF et forte charge

merci pour ta réponse,
je pense que je vais le déployer sur ma recette voir ce que ca donne.

>> apc.php j'ai testé le script (tres bien fait d'ailleurs).

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages