ladění výkonu PHP: 12 jednoduchých tipů

v každé webové aplikaci PHP je výkon opravdu důležitý. Uživatelé si stěžují na pomalé načítání stránek, nepřístupné stránky, nereagující odkazy a mnoho dalších faktorů, které vedou ke ztrátě těchto uživatelů jako zákazníků. Aby bylo možné uspokojit potřeby vašich uživatelů, musí být výkon neustále kontrolován a sledován. Každá softwarová aplikace potřebuje nástroje pro monitorování a měření výkonu systému. Zde je 12 jednoduchých tipů pro ladění výkonu PHP.

Tip: najděte chyby aplikace a problémy s výkonem okamžitě pomocí Stackify Retrace

řešení problémů a optimalizace kódu je snadné díky integrovaným chybám, protokolům a informacím o výkonu na úrovni kódu.

Vyzkoušejte dnes zdarma

PHP Performance Tuning tipy

úzká místa

prvním krokem je identifikovat překážky ve výkonu vaší aplikace s cílem najít příčinu problému. Identifikací problému můžete naplánovat a vybrat nejlepší možné řešení a možnost pro vaši aplikaci. Poté můžete implementovat řešení a poté můžete měřit výsledky. K vyladění výkonu PHP můžete použít nástroje jako Prefix nebo Retrace.

Prefix se používá k zvýraznění pomalých dotazů, které ověřují chování vašeho kódu a mnohem více. Měli byste si uvědomit, který optimalizační nástroj vám může pomoci při měření výkonu vaší aplikace. Měli byste také vytvořit seznam potřeb vaší aplikace a objednat ji od nejvyšší po nejnižší prioritu. Tímto způsobem můžete zjistit, že některé položky nejsou důležité se obávat.

profilování

jeden tip pro ladění výkonu PHP je profilování. Existuje mnoho profilovacích nástrojů, které potřebujete k identifikaci, které by vyhovovaly vašim potřebám. Každý Profiler PHP má své vlastní vlastnosti a výhody. Procházel jsem profil PHP na internetu a každý má své vlastní výhody a nevýhody při jeho používání. Stackify má předponu, která se používá jako profilovací nástroj. Má jedinečné vlastnosti, které vám umožňují získat nepřetržitou zpětnou vazbu o výkonu kódu na straně serveru, SQL a dalších metod používaných ve vašem systému. Nejlepší a nejpůsobivější funkce v Prefix je, že vizualizuje celý požadavek potrubí při vývoji webových aplikací.

jakmile stáhnete a nainstalujete předponu, můžete přímo vidět informace o

  • celkový čas potřebný k zobrazení stránky
  • došlo k chycené výjimce
  • vrácený stavový kód byl 200

a další důležité detaily, které je třeba sledovat a vědět o vaší aplikaci.

Optimalizace kódu

jednou z metod ladění výkonu PHP, která zajišťuje kvalitu vašeho kódu, je nejlepší proces a techniky optimalizace kódu. Váš kód může být optimalizován tak, že využívá paměť, provádí rychleji a také provádí méně vstupních a výstupních operací. Přestože optimalizace kódu je jedním z nejlepších tipů pro ladění výkonu PHP, neznamená to, že váš kód musí být složitý, nebo je třeba nahradit všechny standardní knihovny. Někdy optimalizace zabere spoustu času na sledování a údržbu kódu. V nejhorším případě tyto optimalizace nepřispívají k žádné výhodě, protože ztrácíte spoustu času optimalizací nekritických částí aplikace.

většina aplikací obvykle používá více závislostí, jako jsou PaaS services, ElasticSearch, Redis, queueing, SQL & NoSQL databáze, MongoDB a mnoho dalšího. Prefix pomáhá vývojářům pochopit, zda jejich kód používá všechny závislosti správně. Umožňuje také vývojáři vědět, jak všechny závislosti ovlivňují výkon jejich aplikace.

optimalizace konfigurace

v jakékoli aplikaci PHP musíte nejprve nastavit konfiguraci a další prostředí použitelná ve vaší aplikaci. Možná budete moci přidat tolik funkcí, které zvýší výkon vaší aplikace a optimalizují váš kód, ale záleží také na správné konfiguraci vašeho runtime prostředí PHP. Optimalizace konfigurace vám také umožňuje optimalizovat výkon vaší aplikace a zajistit spolehlivost a nákladovou efektivitu úložiště vašeho systému aplikací. Změna nastavení aplikace může způsobit, že některé aplikace PHP přestanou fungovat. Je nutné, abyste pochopili myšlenku úpravy určitých nastavení, ale vždy mějte na paměti, že když něco zakážete, musíte sledovat své změny testovacím spuštěním ve vašem prostředí.

distribuované výpočty

distribuované výpočty se praktikují pro zvýšení potenciálu paralelního provádění. Tato technika může zvýšit zatížení sdílených zdrojů s největší pravděpodobností v databázových systémech. Většina webových aplikací má problémy a problémy, pokud jde o latenci a distribuci šířky pásma, ale distribuované výpočty mohou pomoci minimalizovat latenci a vyhnout se úzkým místům. Tímto způsobem může být distribuované výpočty pro váš systém velmi výhodné z distribuovaných mezipaměti. Tipy pro ukládání do mezipaměti budou dalším tématem níže.

strategie ukládání do mezipaměti

dobrá strategie ukládání do mezipaměti by mohla snížit počet databázových operací a kompilace kódu. Často je moudré používat Memcache pro snížení zatížení databáze, alternativní mezipaměť PHP (APC) pro ukládání do mezipaměti opcode a optimalizaci kódu. Existuje mnoho možností, když mluvíme o ukládání do mezipaměti v PHP opcode. Patří mezi ně APC (což je zdarma!), eAccelerator (zdarma), XCache( zdarma) a platforma Zend. Stackify nejprve používá spravovanou mezipaměť Windows Azure, ale bylo přijato několik stížností. Stackify se tedy rozhodl vyzkoušet Redis, který je nyní podporován Azure. Redis je mnohem více doporučován spíše než mezipaměť spravovaná systémem Windows Azure. Moje nejlepší rada je správně vyhodnotit každou strategii mezipaměti, abyste zjistili, která nejlépe vyhovuje vašim potřebám a přináší nejlepší výsledky.

Load balancing

ve webové aplikaci nemá load balancing s aplikací mnoho společného, ale bude to mít větší dopad na hosting a infrastrukturu. V PHP je vyvažování zátěže konfigurováno v pluginech pomocí různých technik, jako je náhodný, kulatý a uživatelský filtr. Můžete také provést určité stanovení priorit, pokud jde o přiřazení serveru; tímto způsobem může být určité stanovení priorit užitečné v heterogenních prostředích. Jediná věc, kterou byste měli mít vždy na paměti, je, že objektům relace je třeba se vyhnout, protože jsou uloženy v paměti místního počítače. Tímto způsobem může být synchronizace vašich dat zavádějící během zálohování nebo během skutečného zpracování dat.

kromě vyhýbání se objektům relace byste také neměli ukládat soubory, jako jsou obrázky, na server. Bylo by lepší je umístit do cloudu. A konečně, pokud máte servery se stejnou konfigurací, vždy mějte na paměti, že některé servery jsou v hardwarové konfiguraci lepší než jiné.

ve většině případů je hlavní problém s vyrovnáváním zatížení při práci s obnovou databáze a zálohování. Ve Stackify není vyrovnávání zátěže velkým problémem, protože optimalizuje cloud, Azure být konkrétní. Cloud nabízí prostředí pro obnovu po havárii, které je v případě potřeby vhodně nakonfigurováno, připraveno a upraveno.

Vyhněte se straně klienta

v každé webové aplikaci, když máte tolik přesměrování vašich stránek, může výrazně snížit rychlost stránky. Doporučuje se, abyste neustále kontrolovali a odstraňovali nebo omezovali přesměrování svých stránek. Na druhou stranu přesměrování uživatelů na verzi SSL vaší stránky nebude fungovat vůbec.

Security (HTTP/2 over SSL)

Hypertext Transfer Protocol je aplikační protokol, který pracuje na vrstvě TCP / IP. HTTP je zodpovědný za navázání spojení mezi serverem a klientem. Je také zodpovědný za zpracování požadavků uživatelů na webové stránce nebo v prohlížeči. Secure Socket Layer (SSL), na druhé straně, je zabezpečená verze HTTP. Většina komunikace mezi webovým serverem a klientem je šifrována pomocí SSL.

v dnešní technologii většina našeho prohlížeče již podporuje HTTP / 2. Ačkoli prohlížeče podporují HTTP / 2, ve skutečnosti má omezení na straně serveru.

SQL

databáze je jedním z nejzákladnějších prvků webové aplikace. V databázi SQL musíte vždy pochopit, jak základní zdroje správně fungují. SQL Server má své vlastní dynamické pohledy na správu (DMV), které jsou do něj zabudovány. Většina DVM poskytuje údaje o statistikách dotazů, provádění plánů a mnoha dalších. Dobrá věc na DVMs je, že je vždy k dispozici pro poskytování základních kumulativních statistik, ale nedokáže vizualizovat dotazy, které jsou volány v průběhu času.

nástroje pro správu výkonu aplikací (APM) mají schopnost sledovat dotazy SQL. Retrace poskytují SQL sledovací dotazy na více poskytovatelů databází, včetně SQL Server. Retrace vám také řekne, kolikrát byl dotaz proveden a jaké transakce jej nazývají. Nejdůležitější výhodou používání Retrace je to, že má podrobné zprávy napříč aplikacemi, na aplikaci a dotaz. Může zobrazit podrobné transakce o tom, jak jsou dotazy používány ve vaší aplikaci. Toto je nejdůležitější informace, pokud jde o ladění výkonu PHP pro SQL.

Content delivery network (CDN)

Content delivery network (CDN) je jedním z nejúčinnějších a nejúčinnějších způsobů, jak urychlit doručování webových stránek s vysokým provozem a webových stránek, které mají globální dosah. Mnoho podniků již používá CDN při manipulaci s rozsáhlými webovými stránkami ke zvýšení geografického dosahu. Tato technika může snížit latenci, snížit spotřebu šířky pásma a zabezpečit aplikace, zatímco může také blokovat spammery a další škrabky dat, které mohou napadnout váš systém.

zpracování chyb

zpracování chyb je jednou z nejdůležitějších částí vývoje aplikací. PHP poskytuje různé techniky a strategie pro zpracování chyb. Umožňují vám vytvořit si vlastní pravidla pro zpracování chyb a upravit způsob zaznamenávání chyb. To vám umožní rozvíjet a zlepšovat hlášení chyb, které nejlépe vyhovují vašim potřebám.

odstraňování problémů je bolest hlavy během a po vývoji a Stackify navrhl řešení problému. Nejvýkonnější funkcí Retrace je profilování kódu, které může dokonce sledovat chyby, i když se nepřihlašujete. Najde skryté chyby ve vašem kódu a rychle vám dá oznámení prostřednictvím e-mailu a SMS, než budou ovlivněny všechny vaše zákazníky. Sledování chyb v Retrace není omezeno pouze během vývoje, ale také ve vašem výrobním prostředí a automaticky aktualizuje nové chyby a protokoly.

shrnutí

na trhu je k dispozici mnoho nástrojů pro monitorování výkonu. Vyberte si ten nejlepší, aby vyhovoval vašim potřebám ve vaší aplikaci.

Stackify poskytuje mnoho balíčků, které by každý vývojář, správce systémů nebo dokonce správce databáze vždy považoval za užitečné. Pomocí našich produktů Stackify můžete snadno sledovat, zaznamenávat, ladit data a mnoho dalších podrobností, které najdou hlavní příčinu problémů s webovými aplikacemi a stanete se produktivnějšími. Nyní si můžete vyzkoušet naši bezplatnou zkušební verzi.

více informací

tyto články poskytují další informace o ladění výkonu PHP, které by mohly být užitečné pro vaše PHP aplikace.

  • 18 PHP nástroje pro vývojáře všech úrovní
  • proč je předčasná optimalizace kořenem všeho zla
  • Optimalizace výkonu webu: Top 3 Server a na straně klienta výkon tipy
  • základy testování výkonu webové aplikace
  • srovnání 18 APM & nástroje pro monitorování aplikací
  • o autorovi
  • poslední příspěvky

o Juliet Mendez

Juliet Mendez je profesorka na Katedře počítačových a informačních věd a doktorandka specializující se na informační technologie. Má zázemí v CCNA, počítačové programování, jako je PHP, JAVA, mobilní vývoj, a řízení projektů.

  • Zobrazit všechny chyby PHP: základní & Pokročilé použití-27. března 2020
  • Průvodce optimalizací výkonu PHP-Říjen 9, 2018
  • 5 PHP testování výkonu nástroje, které potřebujete vědět-Září 26, 2018
  • Laravel výmluvný výukový program s příklady-Září 24, 2018
  • získejte detailní PHP Trater-Srpen 20, 2018

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna.