39 votes

Accélérer CakePHP

J'ai été un fan et utilisateur de CakePHP environ 2,5 ans maintenant, mais le principal bugbear que la plupart des autres développeurs de niveau au le cadre, c'est que c'est lent, et l'envoi de cycle prend trop de temps pour en faire une solution viable pour les environnements de production.

J'espère que cette question va inspirer les gens à partager leurs conseils, astuces et hacks pour accélérer CakePHP performance.

Le blog que j'ai le plus souvent référence à est ici, http://www.pseudocoder.com/archives/8-ways-to-speed-up-cakephp-apps Qui a beaucoup de conseils, mais il doit être plus là-bas!

N'hésitez pas à partager vos idées pour faire de ce cadre idéal que beaucoup plus agile!

31voto

JoeyP Points 1042

Je pense que c'est vraiment une bonne question. Voici un couple de choses-je faire pour accélérer le gâteau apps.

  1. Comme mentionné dans les commentaires de l'article lié, la coupe vers le bas sur l' $uses tableau aide un peu. Vous pouvez accéder aux modèles associés en passant par leur associationg. Donc, si la Ville et l'Adresse où l'associé, vous pouvez accéder à l'adresse en $this->City->Address au lieu de l'inclure à la fois dans l' $uses tableau

  2. Dans apache, déplacer le code de votre .htaccess dans le serveur principal config/vhost/whatever et définissez AllowOverride None.

  3. Dans une charge équilibrée de l'environnement, de déplacer des séances de la DB à memcache. Memcache est facile comme l'enfer à l'installation, et le gâteau de la DB classe session, laisse beaucoup à désirer. En haute charge de l'application de la collecte des déchets va vous tuer, qu'il termine la course à pied à toutes les secondes. Aussi, voici un bon petit script qui vous donne des stats sur votre memcache d'utilisation (en fonction de apc.php) http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/

  4. Comme Mark l'Histoire mentionne dans la section des commentaires de la 8 façons de l'article, la compression de vos biens est une très bonne idée. Voici un bon script qui minifies les deux fichiers css et js, qui peut être utilisé pour remplacer la valeur par défaut css.php livré avec un gâteau. http://www.milesj.me/blog/read/32/CSSJSAsset-Compression-In-CakePHP

  5. Si, pour une raison quelconque les gens frappé beaucoup d'images/css/js qui n'existent plus, il peut être utile de s'assurer que ces pages ne génèrent pas un gâteau erreur 404), car il doit passer par tout le gâteau processus de distribution, génère une session etc. C'est aussi simple que de changer ce:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
    

    pour cela:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/(img|css|js)/(.*)$
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
    

9voto

mark Points 15535

Je viens d'écrire quelques conseils supplémentaires pour accélérer considérablement les applications cakephp avec un code pratique joint: http://www.dereuromark.de/2012/02/13/what-really-speeds-up-your-cakephp-app/

3voto

supermethod Points 331

Quelques autres bons conseils ici, y compris l’utilisation d’un routeur :: url helper modifié pour la performance, ainsi que du bon sens:

http://www.chainfire.eu/articles/76/CakePHP_and_performance_for_noobs_/

1voto

trafalgar Points 135

Pour CakePHP et d’autres choses, procurez-vous un serveur plus puissant, plus de GHz et de RAM. Les prix sont moins chers chaque année. Bien que si vous êtes sur un VPS, je comprends que les choses peuvent être serrées.

Et parfois, un nouveau matériel coûte moins cher que de payer pour optimiser le code ...

0voto

Er.KT Points 1132

Pour Minify CSS et Js dans Cakephp 2, vous pouvez utiliser l’un des plugins.

https://github.com/Er-Kalpesh/CakePHP-Combinator-Plugin

ce qui est le mieux pour l'optimisation de CSS et js.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X