sql >> Databáze >  >> RDS >> Mysql

Osvědčené postupy pro optimalizaci stránek LAMP pro rychlost?

Zde je několik osobních povinností, které vždy nastavuji ve svých aplikacích LAMP.

  • Nainstalujte mod_deflate pro Apache a nepoužívejte obslužné nástroje gzip v PHP. mod_deflate vám umožní komprimovat statický obsah, jako je javascript/css/static html, stejně jako obvyklý dynamický výstup PHP a je to o jednu věc méně, o kterou se musíte ve svém kódu starat.

  • Buďte opatrní se soubory .htaccess! Povolení souborů .htaccess pro adresáře ve vaší aplikaci znamená, že Apache musí neustále skenovat souborový systém a hledat direktivy .htaccess. Je mnohem lepší umístit direktivy do hlavní konfigurace nebo do konfigurace vhost, kde jsou načteny jednou. Kdykoli se můžete zbavit souboru s přístupem na úrovni adresáře jeho přesunem do hlavního konfiguračního souboru, ušetříte čas přístupu na disk.

  • Připravte databázovou vrstvu vaší aplikace tak, aby používala nějaký druh správce připojení (používám většinou aplikace Singleton). Není to příliš těžké a snížení počtu databázových připojení, které aplikace otevírá, šetří zdroje.

  • Pokud si myslíte, že vaše aplikace zaznamená značné zatížení, memcached dokáže zázraky. Mějte to na paměti, zatímco budete psát svůj kód... možná jednoho dne místo vytváření objektů za chodu je budete získávat z memcached. S trochou předvídavosti bude implementace bezbolestná.

  • Jakmile bude vaše aplikace spuštěna, nastavte pomalý čas dotazu MySQL na malé číslo a pomalý dotaz pečlivě sledujte. To vám ukáže, odkud pocházejí vaše problémové dotazy, a umožní vám optimalizovat vaše dotazy a indexy dříve, než se stanou problémem.

  • Pro seriózní vylepšení výkonu budete chtít zkompilovat PHP ze zdroje. Instalace z balíčku nainstaluje spoustu knihoven, které možná nikdy nepoužijete. Vzhledem k tomu, že prostředí PHP jsou načtena do každé instance vlákna Apache, i 5 MB režie paměti z extra knihoven se rychle stane 250 MB ztracené paměti, když neexistuje 50 vláken Apache. Vedu si seznam mých standardních ./configure line, které používám při sestavování PHP zde a zjistil jsem, že vyhovuje většině mých aplikací. Nevýhodou je, že pokud skončíte s potřebou knihovny, musíte PHP překompilovat, abyste ji získali. Analyzujte svůj kód a otestujte jej ve vývojovém prostředí, abyste se ujistili, že máte vše, co potřebujete.

  • Minifikujte svůj Javascript.

  • Buďte připraveni přesunout statický obsah, jako jsou obrázky a video, na nedynamický webový server. Napište svůj kód tak, aby všechny adresy URL pro obrázky a videa byly snadno konfigurovatelné tak, aby v budoucnu ukazovaly na jiný server. Webový server optimalizovaný pro statický obsah může snadno sloužit desítky nebo dokonce stovkykrát rychleji než server s dynamickým obsahem.

To je to, co si dokážu myslet z hlavy. Když si na Googlu vyhledáte osvědčené postupy PHP, najdete spoustu tipů, jak psát rychleji/lepší kód (např.:echo je rychlejší než print ).



  1. Proč jsou názvy tabulek/sloupců/indexů Oracle omezeny na 30 znaků?

  2. Pořadí mazání s omezeními cizího klíče,

  3. RDBMS vs NoSQL

  4. Jak vypočítat procento?