Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-08-2009 09:04:27

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Performances sur hébergement partagé

Bonjours,
disposant d'un serveur ayant une mémoire limitée et hébergeant déjà une trentaine de sites, l'ajout de 2 gros sites en Zend arrivent à faire ramer voir planter le serveur à cause de la mémoire saturée.
Peut-être que certains ont eu ce problème et la question me turlupine beaucoup. Comment faire pour rendre Zend plus performant et moins gourmand en mémoire?

EDIT: est-ce que Zend Optimizer répond à mes attentes? si oui, est-ce que sa mise en place est facile à mettre dans les différents projets?

Dernière modification par throrin19 (05-08-2009 09:48:44)

Hors ligne

 

#2 05-08-2009 10:13:50

yvann
Membre
Date d'inscription: 24-07-2008
Messages: 81

Re: Performances sur hébergement partagé

Ce n'est pas une question à laquelle nous pouvons répondre simplement, de nombreuses améliorations sont possibles, mais combien de temps vas-tu perdre ? Ne devrais-tu pas commencer par regarder du côté architecture de ton côté ?

Il y forcément un moment où en ajoutant des sites tu vas arriver à saturation, il y a ce lien qui est pas mal intéressant : http://www.wowww.ch/index.php?post/2009 … benchmarks
Tu y verras les gains en changeant le serveur Apache et en lui greffant une couche de cache

Hors ligne

 

#4 05-08-2009 10:21:21

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

merci beaucoup, je vais regarder cela ^^.

Hors ligne

 

#5 05-08-2009 10:21:30

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: Performances sur hébergement partagé

yvann a écrit:

Ce n'est pas une question à laquelle nous pouvons répondre simplement, de nombreuses améliorations sont possibles, mais combien de temps vas-tu perdre ? Ne devrais-tu pas commencer par regarder du côté architecture de ton côté ?

+1

Si tu as la main sur l'architecture un upgrade de mémoire vive ou la récupération de vielles machines peut faire des merveilles pour pas chère smile


aka miboo

Hors ligne

 

#6 05-08-2009 10:28:30

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

on fait appelle à un service extérieur pour le serveur, pour le moment je me renseigne juste sur ce qu'il est possible de faire pour diminuer la mémoire utilisée par tous les sites au total. (même si je m'axe principalement sur les plus gourmands => ceux en zend)

Hors ligne

 

#7 05-08-2009 11:00:29

yvann
Membre
Date d'inscription: 24-07-2008
Messages: 81

Re: Performances sur hébergement partagé

Visiblement, tests persos (faible charge) + différents benchmarks donnent "nginx" très performant ! ( bien plus qu'Apache ), peut-être voir de ce côté là, ensuite as-tu une couche type eAccelerator ou xCache ? Apc etc ...

Hors ligne

 

#8 05-08-2009 11:14:52

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

il ne me semble pas, c'est pour sa, je me documente sur tout ceci.
Je vais me tourner vers APC et regarder aussi côté compression des en-têtes.

Est-ce que Zend Optimizer permet aussi d'améliorer les performances?? si oui, peut-on le faire fonctionner avec APC??

(si on peut mettre en place différentes optimisations en parallèles peut-être que les performances augmenterons sensiblement)

Hors ligne

 

#9 05-08-2009 13:00:37

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

d'ailleur si quelqu'un a des liens utiles pour les compressions des en-têtes sa m'interesse smile

Hors ligne

 

#10 05-08-2009 14:47:19

dev-k
Membre
Lieu: Barcelona
Date d'inscription: 18-07-2009
Messages: 77
Site web

Re: Performances sur hébergement partagé

C'est pas ça qui manque recherche mod_deflate par exemple tu trouveras ton bonheur

Hors ligne

 

#11 05-08-2009 16:45:58

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

je m'emmêle les pinceaux entre mod_deflate, les ob_start(), ...

Ce que j'aimerai faire c'est compresser en un "pseudo fichier" CSS tous mes fichiers css (même ceux de jquery et headlink())
Idem avec les fichiers javascripts et les bouts de code javascripts générés avec JQuery()

Si quelqu'un sait comment s'y prendre, j'ai beau parcourir le web j'ai pas ma réponse.

Hors ligne

 

#12 05-08-2009 17:44:25

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Performances sur hébergement partagé

Utilise ca :
http://code.google.com/p/minify/
C'est rapide a mettre en place


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#13 05-08-2009 17:46:30

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

j'ai essayé mais sans succès, impossible de faire marcher leur uri builder pourtant tous les tests passent avec succès

Hors ligne

 

#14 05-08-2009 18:21:35

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Performances sur hébergement partagé

Edit juste le fichier groupsConfig.php et rajoute ca :

Code:

return array(
    'scripts' => array('//js/global.js','//js/effects.js'),
    'style' => array('//css/ui/jquery-ui.css', '//css/form.css', '//css/style.css'),
);

C'est un exemple à toi d'ajouter tes propres fichiers.
Ensuite dans la balise head tu ajoutes ca :

Code:

<link href="/min/g=style" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="/min/g=scripts"></script>

Tu vire bien sur les autres appels de fichiers css et js

Dernière modification par alien7 (05-08-2009 18:23:18)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#15 05-08-2009 18:58:48

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

ok, pour les fichiers css et js je vois, mais pour ceux rajoutés avec headscript(), headlink() et jquery() ??

EDIT: j'ai réussi à tous les regrouper mais je trouve qu'il a un défaut, il faut reprendre tous les liens symboliques vers les images d'arrière plan, puce, ... car par défaut il prend la base à la racine du serveur et non dans le dossier des styles.

Dernière modification par throrin19 (05-08-2009 19:37:32)

Hors ligne

 

#16 05-08-2009 19:32:01

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Performances sur hébergement partagé

tu peux crée plusieurs groupe

Code:

return array(
    'scripts' => array('//js/global.js','//js/effects.js'),
    'scripts2' => array('//js/autre.js'),
    'style' => array('//css/ui/jquery-ui.css', '//css/form.css', '//css/style.css'),
    'style2' => array('//css/style2.css'),
);

$this->headLink("/min/g=style2");
$this->headscript("/min/g=scripts2");

ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#17 05-08-2009 19:38:12

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

oki, pour les js sa me simplifie tout mais pas pour le css malheureusement

Hors ligne

 

#18 05-08-2009 22:01:32

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

je dis peut être une connerie, mais en surfant sur le web à la recherche de tout ceci et commençant à avoir les paupieres lurdes je me suis dit que ceci pourrai résoudre mon problème:

Je fais ceci au niveau de mes appels css:

Code:

<?php
ob_start("ob_gzhandler");
?>
<link href="<?php echo $this->baseUrl();?>/styles/styleprincipal.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo $this->baseUrl();?>/styles/dialogues.css" rel="stylesheet" type="text/css" media="screen" />
...
<?php
$output = ob_get_contents();

echo $this->action('css', 'header', 'compression', array('contenu' => $output));

ob_end_clean();  
?>

Je ne sais pas si c'est bon mais ensuite dans le contrôleur je peu m'occuper de récupérer le contenu des fichiers et de les passer en cache. Enfin je pense que c'est faisable.
Même si je pense que le plus dur reste le traitement côté contrôleur
Qu'en dites vous??

Hors ligne

 

#19 06-08-2009 14:34:12

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

C'est bon, j'ai réussi à regrouper les css en un, me reste encore à corriger certains liens vers les images.

Par contre j'arrive pas à modifier mon en-tête pour en ressortir que mes nouvelles balises css et js
Personne a une idée de comment faire avec ob_start()??

Et comment faire pour que Zend_Cache se rénitialise quand je modifie mes fichiers javascript ou css?

EDIT: c'est bon j'y suis arrivé. Pour réinitialiser le css et le js j'ai créer une action que j'appelle quand je veux réinitialiser le cache.

Je vais voir la différence que sa prend sans cette compression d'en-tête puis quand elle y est avec enregistrement en cache (le plus long) et récupérattion du cache.

Dernière modification par throrin19 (06-08-2009 14:58:01)

Hors ligne

 

#20 07-08-2009 11:02:52

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

Désolé pour ce multi post mais j'aimerai votre avis sur ceci:

J'ai utilisé la classe donnée dans le livre ZF bien développer en PHP et quand j'ai installé APC (via la dernière dll qui traine sur le web à savoir la 3.0. je sais plus quoi -dev) bah j'arrive pas à récupérer mon style et mon javascript du cache.

J'ai essayé de voir si il s'enregistre bien, la fonction ZfBook_Cache::set($data, 'csssite'); me retourne bien true comme quoi sa a bien enregistré les données en cache mais quand je fais ZfBook_Cache::get('csssite'); sa me retourne false, comme si les données n'étaient plus dans le cache.

Et ce bug n'arrive que quand j'ai APC de lancé sur mon serveur local (j'attend de voir comment sa marche en local pour installer APC sur le serveur).

Si quelqu'un sait d'où cela peut venir.

Hors ligne

 

#21 07-08-2009 11:05:58

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Performances sur hébergement partagé

Ca serait pas plutôt comme ça ?

Code:

ZfBook_Cache::set('csssite', $data);

Hors ligne

 

#22 07-08-2009 11:12:01

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

non non, enfin dans l'exemple du livre que j'ai suivi c'est bien Zfbook_Cache::set($data, 'csssite'); et sa me retourne true donc c'est que là sa marche bien, c'est au niveau de la récupération quand j'ai le module apc que sa foire

Hors ligne

 

#23 08-08-2009 11:11:16

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

C'est bon, j'ai réussi à faire marcher APC, en fait j'ai récupérer celui présent dans XAMPP car ceux trouvable sur certains sites me faisaient planter mes sites ou corrompaient le cache.
Par contre j'ai juste une question, quelles sont les meilleurs réglages d'APC pour le Zend Framework?

Je voulais aussi tester eAccelerator pour voir mais je n'ai rien vu pour l'intégrer dans Zend_Cache.

EDIT: j'ai rajouté mes méthodes pour la partie CSS qui fonctionne impec sur mon site: http://www.throrinstudio.com/blog/index … article/21

J'essai de voir pourquoi le javascript se récupère pas entièrement selon les cas.

Dernière modification par throrin19 (09-08-2009 18:23:40)

Hors ligne

 

#24 10-08-2009 16:38:05

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

J'ai mis en stand by ma compression d'en-tête. Elle plantait quand le cache était expiré (pas tout de stocké), je viens d'installer APC sur le serveur, il y a de meilleures performances ^^.

J'optimise le tout et je posterai mes solutions.

Hors ligne

 

#25 27-08-2009 11:59:44

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Performances sur hébergement partagé

je relance ma conversation. Ma méthode du header n'est pas encore optimisée et je pense que c'est la le plus important tout de suite. On en a discuté avec notre administrateur réseau et lui nous conseille de bien régler le cache afin de bien optimiser Zend avec le cache des données qui changent le moins (liste rubrique, news, ...) et avec le cache du rendu html.
Pour la partie données je sais faire. Mais la partie html, comment la faut-on?? aussi avec Zend_Cache?? et de quel façon??

merci d'avance.

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