CakePHP'ye hızlandırmak

4 Cevap php

Şimdi yaklaşık 2,5 yıldır CakePHP keskin bir fan ve kullanıcı oldum, ama çoğu dost geliştiriciler çerçevesinde de seviyesi ana öcü yavaş olmasıdır, ve sevk döngüsü, üretim ortamları için uygulanabilir bir çözüm yapmak için çok uzun sürüyor .

Bu soru CakePHP performansını hızlandırmak için kendi ipuçları, hileler ve kesmek paylaşmak için insanlara ilham olacağını umuyorum.

Ben en sık başvurmak blog yazısı büyük ipuçları var Hangi burada, http://www.pseudocoder.com/archives/8-ways-to-speed-up-cakephp-apps, ama orada daha fazla olmalı!

Böylece çok daha çevik, bu mükemmel çerçeve yapma düşüncelerinizi paylaşmak için çekinmeyin!

4 Cevap

Bu gerçekten iyi bir soru olduğunu düşünüyorum. İşte ben kek uygulamaları hızlandırmak için yapılacak bir kaç şey vardır.

  1. $uses dizisinde aşağı kesim, bağlantılı makalenin Açıklamalarda belirtildiği gibi biraz yardımcı olur. Onların associationg geçerek ilişkili modelleri erişebilirsiniz. Şehir ve adres nerede ilişkili Yani, yerine $uses dizide hem dahil olmak $this->City->Address ile adres erişebilir

  2. Apache, ana sunucu config / sankondan / içine .htaccess gelen kodu taşımak ne olursa olsun ve set AllowOverride None.

  3. In a load balanced environment, move sessions from the DB to memcache. Memcache is easy as hell to setup, and the cake's DB session class leaves much to be desired. In high load application the garbage collection will kill you, as it ends up running every second or so. Also, here's a great little script that gives you stats about your memcache usage (based of apc.php) http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/

  4. As Mark Story mentions in the comments section of the 8 ways article, compressing your assets is a very good idea. Here is a good script that minifies both js and css files, which can be used to replace the default css.php that comes bundled with cake. http://www.milesj.me/blog/read/32/CSSJSAsset-Compression-In-CakePHP

  5. Nedense insanlar artık yok images / css / js sürü isabet ederse, o üretir, bu bütün pasta sevkiyat sürecinden geçmesi için olduğu gibi bu sayfaları, bir pasta 404 hatası üretemeyen emin olmak için faydalı olabilir Bu değiştirmek gibi basit bir oturum vb:

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

    Bunun için:

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

Performans için modifiye edilmiş bir yönlendirici :: url yardımcısı yanı sıra bazı sağduyu kullanarak dahil burada da bazı iyi ipuçları:

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

Hem CakePHP ve diğer şeyler için, sadece, daha GHz ve RAM daha güçlü bir sunucu alabilirsiniz. Fiyatlar her yıl daha ucuz olsun. Eğer bir VPS üzerinde iseniz, ben anlamak rağmen işler sıkı olabilir.

Ve bazen yeni donanım kodu optimize etmek biri için ödeme daha ucuz ...

CakePHP'de 2 Minify css ve Js için, eklentinin birini kullanabilirsiniz

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

hangi css ve js optimizasyonu için en iyisidir.