PHP Performance Tuning: 12 enkla Tips
i varje PHP-webbapplikation spelar prestanda verkligen roll. Användare klagar över långsam laddning av sidor, otillgängliga sidor, svarande länkar och många andra faktorer som leder till att de användare som kunder förloras. För att tillgodose dina användares behov måste prestanda kontinuerligt kontrolleras och övervakas. Varje programvara behöver verktyg för övervakning och mätning av systemets prestanda. Här är 12 enkla PHP prestanda tuning tips.
PHP prestanda Tuning Tips
flaskhalsar
det första steget är att identifiera hinder i programmets prestanda för att hitta orsaken till problemet. Genom att identifiera problemet kan du planera och välja den bästa möjliga lösningen och alternativet för din ansökan. Du kan sedan implementera lösningen, och efteråt kan du mäta resultaten. Du kan använda verktyg som Prefix eller Retrace för att ställa in PHP-prestanda.
Prefix används för att markera långsamma frågor, som validerar beteendet hos din kod och mycket mer. Du bör känna igen vilket optimeringsverktyg som kan hjälpa dig att mäta prestanda för din applikation. Du bör också göra en lista över din applikations behov och beställa den från Högsta till LÄGSTA prioritet. På så sätt kan du identifiera att vissa saker inte är viktiga att oroa sig för.
profilering
ett tips för PHP-prestandajustering är profilering. Det finns många profileringsverktyg du behöver för att identifiera som passar dina behov. Varje PHP-profiler har sina egna funktioner och fördelar. Jag har bläddrat efter en PHP-profiler på internet och alla har sina egna fördelar och nackdelar med att använda den. Stackify har Prefix som används som ett profileringsverktyg. Den har unika egenskaper som gör att du kan få kontinuerlig feedback om prestanda för din serverkod, SQL och andra metoder som används i ditt system. Den bästa och mest imponerande funktionen i Prefix är att den visualiserar hela begäran pipeline när man utvecklar webbapplikationer.
när du har laddat ner och installerat Prefix kan du direkt se information om
- den totala tiden det tog att visa sidan
- det fanns ett fångat undantag
- statuskoden som returnerades var 200
och andra viktiga detaljer som du behöver för att övervaka och veta om din ansökan.
kodoptimering
en av PHP – prestandajusteringsmetoderna för att säkerställa kvaliteten på din kod är att ha den bästa kodoptimeringsprocessen och teknikerna. Din kod kan optimeras så att den använder minne, körs snabbare och utför även färre ingångs-och utgångsoperationer. Även om kodoptimering är ett av de bästa PHP-prestandajusteringstipsen betyder det inte att din kod måste vara komplex eller att du måste byta ut alla standardbibliotek. Ibland tar optimering mycket tid att spåra och underhålla koden. I värsta fall bidrar dessa optimeringar inte till någon fördel eftersom du slösar mycket tid på att optimera icke-kritiska delar av din applikation.
de flesta applikationer använder vanligtvis flera beroenden som PaaS-tjänster, ElasticSearch, Redis, queueing, SQL & NoSQL-databaser, MongoDB och mycket mer. Prefix hjälper utvecklare att förstå om deras kod använder alla beroenden korrekt. Det låter också utvecklaren veta hur alla beroenden påverkar prestandan för deras app.
Konfigurationsoptimering
i alla PHP-applikationer är det första du gör att konfigurera konfigurationen och andra miljöer som är tillämpliga i din applikation. Du kanske kan lägga till så många funktioner som ökar din applikationsprestanda och optimerar din kod, men en korrekt konfiguration av din PHP runtime environment skulle också betyda. Konfigurationsoptimering gör det också möjligt för dig att optimera prestandan för din applikation, samt säkerställa tillförlitligheten och kostnadseffektiviteten för din applikationssystemlagring. Om du ändrar några inställningar för din applikation kan vissa PHP-applikationer sluta fungera. Det är nödvändigt att du förstår tanken på att ändra vissa inställningar, men kom alltid ihåg att när du inaktiverar något måste du följa upp dina ändringar med en testkörning i din miljö.
distribuerad databehandling
distribuerad databehandling praktiseras för att öka potentialen för parallell körning. Denna teknik kan öka belastningen på delade resurser troligen i databassystem. De flesta webbapplikationer har problem och problem när det gäller latens och bandbreddsfördelning, men distribuerad databehandling kan hjälpa till att minimera latensen och undvika flaskhalsar. På så sätt kan distribuerad databehandling vara mycket fördelaktig för ditt system från distribuerade cachar. Caching tips kommer att vara nästa ämne nedan.
Cachningsstrategi
en bra cachningsstrategi kan minska antalet databasoperationer och kodkompilering. Det är ofta klokt att använda Memcache för att sänka databasbelastningen, den alternativa PHP-cachen(APC) för opcode caching och kodoptimering. Det finns många alternativ när vi pratar om caching i PHP opcode. Dessa inkluderar APC (som är gratis!), eAccelerator (gratis), XCache (gratis) och Zend-plattformen. Stackify använder Först Windows Azure Managed Cache, men ett par klagomål har mottagits. Så Stackify bestämde sig för att prova Redis, som nu stöds av Azure. Redis rekommenderas mycket mer än Windows Azure Managed Cache. Mitt bästa råd är att utvärdera ordentligt varje cache-strategi för att se vilka som bäst passar dina behov och ger de bästa resultaten.
lastbalansering
i en webbapplikation har lastbalansering inte mycket att göra med applikationen, men det kommer att påverka mer på värd och infrastruktur. I PHP konfigureras lastbalansering i plugins med olika tekniker som slumpmässigt, round-robin och användarens filter. Du kan också göra en del prioritering när det gäller serverns uppdrag; på detta sätt kan viss prioritering vara praktisk i heterogena miljöer. Det enda du alltid bör tänka på är att sessionsobjekt bör undvikas eftersom det lagras i minnet på din lokala maskin. På detta sätt kan synkronisering av dina data vara vilseledande under säkerhetskopiering eller under den faktiska databehandlingen.
förutom att undvika sessionsobjekt bör du inte också lagra filer som bilder på servern. Det skulle vara bättre att placera dem i molnet. Slutligen, om du har servrar som har samma konfiguration, kom alltid ihåg att vissa servrar är bättre än andra i hårdvarukonfiguration.
i de flesta fall är det största problemet med lastbalansering när man hanterar databasen och säkerhetskopieringen. I Stackify är lastbalansering inte mycket av ett problem eftersom det optimerar molnet, Azure för att vara specifikt. Molnet erbjuder en katastrofåterställningsmiljö som är konfigurerad, klar och skalad på lämpligt sätt vid behov.
Undvik klientsidan
i varje webbapplikation, när du har så många omdirigeringar av dina sidor, kan det minska sidhastigheten avsevärt. Det föreslås att du ständigt kontrollera och ta bort eller minska omdirigering av dina sidor. Å andra sidan fungerar inte omdirigering av användare till en SSL-version av din sida alls.
säkerhet (HTTP/2 över SSL)
Hypertext Transfer Protocol är ett applikationsprotokoll som fungerar på TCP/IP-lagret. HTTP ansvarar för att upprätta en anslutning mellan server och klient. Det ansvarar också för att behandla användarnas begäran på en webbsida eller i webbläsaren. Secure Socket Layer (SSL), å andra sidan, är den säkrade versionen av HTTP. Det mesta av kommunikationen mellan webbserver och klient krypteras med SSL.
i dagens teknik stöder de flesta av våra webbläsare redan HTTP/2. Även om webbläsare stöder HTTP / 2, har det faktiskt begränsningar på serversidan.
SQL
en databas är en av de mest grundläggande elementen i en webbapplikation. I SQL-databasen måste du alltid förstå hur de grundläggande resurserna fungerar korrekt. SQL Server har sina egna dynamiska hanteringsvyer (DMV) som är inbyggda i den. De flesta DVM: er ger data om frågestatistik, genomförande av planer och många fler. Det som är bra med DVMs är att det alltid är tillgängligt för att tillhandahålla grundläggande samlad statistik, men det kan inte visualisera de frågor som anropas över tiden.
Application performance management (APM) verktyg har förmågan att spåra SQL-frågor. Retrace ger SQL-spårningsfrågor på flera databaser leverantörer inklusive SQL Server. Retrace berättar också hur många gånger en fråga har utförts, och vilka transaktioner kallar det. Den mest relevanta fördelen med att använda Retrace är att den har detaljerad rapportering över appar, per app och fråga. Det kan visa detaljerade transaktioner om hur frågor används i din app. Detta är den viktigaste informationen när det gäller PHP-prestandajustering för SQL.
content delivery network (CDN)
content delivery network (CDN) är ett av de mest effektiva och effektiva sätten att påskynda leveransen av webbplatser med hög trafik och webbplatser som har global räckvidd. Många företag använder redan CDN när de hanterar storskaliga webbplatser för att öka den geografiska räckvidden. Denna teknik kan minska latensen, minska bandbreddskonsumtionen och säkra applikationer medan den också kan blockera spammare och andra dataskrapare som kan attackera ditt system.
felhantering
felhantering är en av de viktigaste delarna av någon applikationsutveckling. PHP tillhandahåller olika tekniker och strategier för att hantera fel. De tillåter dig att fastställa dina egna felhanteringsregler och ändra hur fel kan loggas. Detta gör att du kan utveckla och förbättra felrapportering som bäst passar dina behov.
felsökning är huvudvärk under och efter utveckling, och Stackify utformade en lösning på problemet. Retraces mest kraftfulla funktion är kodprofilering, som även kan spåra fel även om du inte loggar. Den hittar dolda fel i din kod, och det ger dig snabbt meddelande via e-post och SMS innan alla dina kunder påverkas. Övervakningen av fel i Retrace är inte bara begränsad under utvecklingen, men också i din produktionsmiljö, och det kommer automatiskt att uppdatera nya fel och loggar.
sammanfattning
det finns många prestandaövervakningsverktyg tillgängliga på marknaden. Välj det bästa som passar dina behov i din ansökan.
Stackify tillhandahåller många paket som varje utvecklare, systemadministratör eller till och med Databasadministratör alltid skulle ha nytta av. Med våra Stackify-produkter kan du enkelt övervaka, logga, felsöka data och många fler detaljer som hittar orsaken till problem med webbapplikationer och du blir mer produktiv. Du kan prova och kolla vår GRATIS Provperiod nu.
mer information
dessa artiklar ger ytterligare information om PHP-prestandajustering som kan vara användbar för dina PHP-applikationer.
- 18 PHP-verktyg för utvecklare på alla nivåer
- varför För tidig optimering är roten till allt ont
- optimering av webbprestanda: Topp 3 server-och klientsidan Prestandatips
- grunderna i webbapplikation prestandatestning
- jämförelse av 18 APM & Programövervakningsverktyg
- om författaren
- senaste inläggen
om Juliet Mendez
Juliet Mendez är Professor vid Institutionen för data-och informationsvetenskap och doktorand specialiserad på informationsteknologi. Hon har en bakgrund inom CCNA, datorprogrammeringar som PHP, JAVA, mobilutveckling och projektledning.
- Visa alla PHP-fel: grundläggande & avancerad användning-27 mars 2020
- PHP Performance Optimization Guide-Oktober 9, 2018
- 5 PHP prestanda testverktyg du behöver veta-September 26, 2018
- Laravel vältalig handledning med exempel-September 24, 2018
- få detaljerad PHP Trater-Augusti 20, 2018