PHP Performance Tuning: 12 Simple Tips

jokaisessa PHP web-sovelluksessa suorituskyvyllä on todella väliä. Käyttäjät valittavat hidas lastaus sivuja, saavuttamattomissa sivuja, reagoimattomia linkkejä ja monia muita tekijöitä, jotka johtavat menettää nämä käyttäjät asiakkaina. Käyttäjien tarpeiden tyydyttämiseksi suorituskykyä on jatkuvasti tarkistettava ja seurattava. Jokainen ohjelmistosovellus tarvitsee työkaluja järjestelmän suorituskyvyn seuraamiseen ja mittaamiseen. Tässä 12 yksinkertaista PHP suorituskyvyn tuning vinkkejä.

vinkki: löydä sovellusvirheet ja suorituskykyongelmat heti stackify Retracen avulla

vianmääritys ja koodin optimointi on helppoa integroitujen virheiden, lokien ja kooditason suorituskyvyn avulla.

kokeile tänään ilmaiseksi

PHP Performance Tuning Tips

pullonkaulat

ensimmäinen askel on tunnistaa sovelluksen suorituskyvyn esteet ongelman perimmäisen syyn löytämiseksi. Tunnistamalla ongelman voit suunnitella ja valita sovelluksellesi parhaan mahdollisen ratkaisun ja vaihtoehdon. Voit sitten toteuttaa ratkaisun, ja sen jälkeen voit mitata tuloksia. Voit käyttää työkaluja, kuten etuliite tai Retrace virittää PHP suorituskykyä.

etuliitettä käytetään korostamaan hitaita kyselyitä, mikä validoi koodin käyttäytymisen ja paljon muuta. Sinun pitäisi tunnistaa, mikä optimointityökalu voi auttaa sinua sovelluksen suorituskyvyn mittaamisessa. Sinun tulisi myös tehdä lista sovelluksen tarpeista ja tilata se korkeimmasta alimpaan prioriteettiin. Näin voit tunnistaa, että jotkut kohteet eivät ole tärkeitä murehtia.

profilointi

yksi vinkki PHP: n suorituskyvyn viritykseen on profilointi. On olemassa paljon profilointi työkaluja sinun täytyy tunnistaa, jotka sopivat tarpeisiisi. Jokaisella PHP-profiloijalla on omat ominaisuutensa ja etunsa. Olen selaillut PHP-profiloijaa Internetissä ja jokaisella on omat etunsa ja haittansa sen käytössä. Stackifylla on etuliite, jota käytetään profilointityökaluna. Sillä on ainutlaatuiset ominaisuudet, joiden avulla voit saada jatkuvaa palautetta palvelinpuolen koodin, SQL: n ja muiden järjestelmässäsi käytettyjen menetelmien suorituskyvystä. Paras ja vaikuttavin ominaisuus etuliitteessä on se, että se visualisoi koko pyyntöputken verkkosovelluksia kehitettäessä.

kun olet ladannut ja asentanut etuliitteen, näet suoraan tiedot

  • kokonaisaika, joka kului sivun palvelemiseen
  • oli pyydetty poikkeus
  • tilakoodi palautettiin oli 200

ja muita tärkeitä yksityiskohtia, joita sinun täytyy seurata ja tietää hakemuksestasi.

koodin optimointi

yksi PHP suorituskyvyn viritysmenetelmistä koodin laadun varmistamiseksi on saada paras koodin optimointiprosessi ja tekniikat. Koodi voidaan optimoida niin, että se hyödyntää muistia, suorittaa nopeammin, ja myös suorittaa vähemmän Tulo-ja tulostustoimintoja. Vaikka koodin optimointi on yksi parhaista PHP suorituskyvyn tuning vinkkejä, se ei tarkoita, että koodi on monimutkainen, tai sinun täytyy korvata kaikki tavalliset kirjastot. Joskus optimointi vie paljon aikaa jäljittää ja ylläpitää koodia. Pahimmassa tapauksessa, nämä optimoinnit eivät edistä mitään etua, koska olet tuhlaa paljon aikaa optimoimalla ei-kriittisiä osia sovelluksen.

useimmat sovellukset käyttävät tyypillisesti useita riippuvuuksia, kuten PaaS-palvelut, ElasticSearch, Redis, jonotus, SQL & NOSql-tietokannat, MongoDB ja paljon muuta. Etuliite auttaa kehittäjiä ymmärtämään, käyttääkö heidän koodinsa kaikkia riippuvuuksia oikein. Se myös antaa kehittäjälle tietää, miten kaikki riippuvuudet vaikuttavat sovelluksen suorituskykyyn.

konfiguraatio-optimointi

missä tahansa PHP-sovelluksessa, ensimmäinen asia, jonka teet, on konfigurointi ja muut sovellettavat ympäristöt sovelluksessa. Saatat pystyä lisäämään niin monia ominaisuuksia, jotka lisäävät sovelluksen suorituskykyä ja optimoida koodin, mutta oikea kokoonpano PHP runtime ympäristö olisi myös väliä. Konfiguraatio-optimoinnin avulla voit myös optimoida sovelluksen suorituskyvyn sekä varmistaa sovellusjärjestelmän tallennustilan luotettavuuden ja kustannustehokkuuden. Sovelluksen asetusten muuttaminen voi aiheuttaa joidenkin PHP-sovellusten toiminnan loppumisen. On välttämätöntä, että ymmärrät idean muuttaa tiettyjä asetuksia, mutta aina pitää mielessä, että kun poistat jotain sinun täytyy seurata muutoksia testi ajaa omassa ympäristössä.

hajautettua laskentaa

hajautettua laskentaa harjoitetaan rinnakkaisen suorituksen mahdollisuuksien lisäämiseksi. Tämä tekniikka voi lisätä jaettujen resurssien kuormitusta todennäköisimmin tietokantajärjestelmissä. Useimmissa verkkosovelluksissa on ongelmia ja ongelmia, kun on kyse latenssista ja kaistanleveyden jakamisesta, mutta hajautettu laskenta voi auttaa minimoimaan latenssin ja välttämään pullonkauloja. Näin hajautettu laskenta voi olla erittäin hyödyllistä järjestelmällesi hajautetuista välimuisteista. Caching vinkkejä on seuraava aihe alla.

Välimuististrategia

hyvä välimuististrategia voisi vähentää tietokantaoperaatioiden ja koodin kokoamisen määrää. On usein viisasta käyttää Memcachea tietokannan kuormituksen alentamiseen, vaihtoehtoista PHP-välimuistia (APC) opcode-välimuistiin tallentamiseen ja koodin optimointiin. On olemassa paljon vaihtoehtoja, kun puhumme välimuistiin PHP opcode. Näitä ovat APC (joka on ilmainen!), eAccelerator (ilmainen), XCache (vapaa) ja Zend Platform. Stackify käyttää ensin Windows Azure Managed Cache-välimuistia, mutta pari valitusta on tullut. Niinpä Stackify päätti kokeilla Redistä, jota Azure nyt tukee. Redis on paljon suositeltavampi kuin Windows Azure Managed Cache. Minun paras neuvo on arvioida oikein kunkin välimuistin strategia nähdä, mikä parhaiten suite tarpeisiisi ja tuottaa parhaat tulokset.

kuormitustasapaino

verkkosovelluksessa kuormitustasapainolla ei ole paljon tekemistä sovelluksen kanssa, mutta se vaikuttaa enemmän isännöintiin ja infrastruktuuriin. PHP: ssä kuormituksen tasapainottaminen on määritetty liitännäisissä käyttäen erilaisia tekniikoita, kuten random, round-robin ja user ’ s filter. Voit myös tehdä joitakin priorisointi, kun se tulee palvelimen toimeksianto; tällä tavalla, jotkut priorisointi voi olla kätevä heterogeenisissa ympäristöissä. Ainoa asia, joka sinun tulisi aina pitää mielessä, on, että istuntoesineitä tulisi välttää, koska se on tallennettu paikallisen koneen muistiin. Näin tietojen synkronointi voi olla harhaanjohtavaa varmuuskopioinnin tai varsinaisen tietojenkäsittelyn aikana.

istuntoobjektien välttämisen lisäksi palvelimelle ei kannata tallentaa kuvia muistuttavia tiedostoja. Olisi parempi sijoittaa ne pilveen. Lopuksi, jos sinulla on palvelimia, jotka ovat sama kokoonpano, aina pitää mielessä, että jotkut palvelimet ovat parempia kuin toiset laitteiston kokoonpano.

useimmissa tapauksissa kuormituksen tasapainottamisen suurin ongelma on tietokantaa ja varmuuskopiointia käsiteltäessä. Stackifyssa kuormituksen tasapainottaminen ei ole suuri ongelma, koska se optimoi pilveä, tarkemmin sanottuna Azurea. Pilvi tarjoaa katastrofien palautusympäristön, joka on määritetty, valmis ja skaalattu tarvittaessa sopivasti.

Vältä asiakaspuolta

jokaisessa verkkosovelluksessa, kun sivujasi uudelleenohjataan niin paljon, se voi hidastaa sivun nopeutta merkittävästi. On ehdotettu, että jatkuvasti tarkistaa ja poistaa tai vähentää uudelleenohjaus sivuja. Toisaalta, ohjaamalla käyttäjät SSL-versio sivustasi ei toimi lainkaan.

Security (HTTP/2 over SSL)

Hypertext Transfer Protocol on sovellusprotokolla, joka toimii TCP/IP-tasolla. HTTP on vastuussa yhteyden muodostamisesta palvelimen ja asiakkaan välillä. Se vastaa myös käyttäjien pyyntöjen käsittelystä verkkosivulla tai selaimessa. Secure Socket Layer (SSL), toisaalta, on suojattu versio HTTP. Suurin osa web-palvelimen ja asiakkaan välisestä viestinnästä salataan SSL: llä.

nykytekniikassa suurin osa selaimestamme tukee jo HTTP/2: ta. Vaikka selaimet tukevat HTTP/2: ta, sillä on itse asiassa rajoituksia palvelinpuolella.

SQL

tietokanta on yksi verkkosovelluksen keskeisimmistä elementeistä. SQL-tietokannassa pitää aina ymmärtää, miten perusresurssit toimivat oikein. SQL Server – palvelimella on omat dynaamiset hallintanäkymät (DMVs), jotka on rakennettu siihen. Useimmat DVMs: t tarjoavat tietoja kyselytilastoista, suunnitelmien toteuttamisesta ja paljon muuta. DVMs: n hyvä puoli on se, että se on aina saatavilla tarjoamaan perustason rollup-tilastoja, mutta se ei voi visualisoida kyselyjä, joita kutsutaan ajan mittaan.

Application performance management (APM) – työkaluilla on kyky seurata SQL-kyselyjä. Retrace tarjota SQL seuranta kyselyt useita tietokantoja tarjoajien kuten SQL Server. Retrace kertoo myös, kuinka monta kertaa kysely on suoritettu, ja millä tapahtumilla sitä kutsutaan. Retrace-palvelun merkittävin etu on se, että siinä on yksityiskohtainen raportointi sovellusten välillä, sovelluskohtaisesti ja kysely. Se voi näyttää yksityiskohtaiset tapahtumat siitä, miten kyselyjä käytetään sovelluksessa. Tämä on tärkein tieto, kun se tulee PHP suorituskyvyn viritys SQL.

Content delivery network (CDN)

Content delivery network (CDN) on yksi tehokkaimmista ja vaikuttavimmista tavoista nopeuttaa sellaisten verkkosivustojen toimituksia, joilla on paljon liikennettä, sekä maailmanlaajuisia verkkosivustoja. Monet yritykset käyttävät jo CDN: ää käsitellessään laajamittaisia verkkosivustoja maantieteellisen ulottuvuuden lisäämiseksi. Tämä tekniikka voi vähentää latenssia, vähentää kaistanleveyden kulutusta ja suojata sovelluksia, kun se voi myös estää roskapostittajia ja muita tietojen romuttajia, jotka voivat hyökätä järjestelmääsi.

Virheiden käsittely

Virheiden käsittely on yksi tärkeimmistä osista missä tahansa sovelluskehityksessä. PHP tarjoaa erilaisia tekniikoita ja strategioita käsitellä virheitä. Niiden avulla voit luoda omat virheenkäsittelysäännöt ja muokata tapaa, jolla virheet voidaan kirjata. Näin voit kehittää ja parantaa virheilmoituksia, jotka sopivat parhaiten tarpeisiisi.

vianmääritys on päänsärky kehityksen aikana ja sen jälkeen, ja Stackify suunnitteli ongelmaan ratkaisun. Retracen tehokkain ominaisuus on koodiprofilointi, jolla voi jopa seurata virheitä, vaikka ei kirjautuisikaan. Se löytää piilotettuja virheitä koodin, ja se nopeasti antaa sinulle ilmoituksen sähköpostitse ja tekstiviestillä ennen kuin kaikki asiakkaat vaikuttavat. Virheiden seurantaa Retracessa ei rajoiteta vain kehityksen aikana, vaan myös tuotantoympäristössä, ja se päivittää automaattisesti uudet virheet ja lokit.

Yhteenveto

markkinoilla on useita suorituskyvyn seurantavälineitä. Valitse hakemukseesi tarpeisiisi parhaiten sopiva.

Stackify tarjoaa monia paketteja, joita jokainen kehittäjä, järjestelmien ylläpitäjä tai jopa tietokannan ylläpitäjä pitäisi aina hyödyllisinä. Käyttämällä Stackify-tuotteitamme voit helposti seurata, kirjata, debug-tietoja ja monia muita yksityiskohtia, jotka löytävät verkkosovellusongelmien perussyyn ja sinusta tulee tuottavampi. Voit kokeilla ja tarkistaa ilmainen kokeiluversio nyt.

lisätietoja

näissä artikkeleissa annetaan lisätietoja PHP: n suorituskyvyn virityksestä, josta voi olla hyötyä PHP-sovelluksissasi.

  • 18 PHP Tools for Developers of all Levels
  • Why Premature Optimization Is the Root of All Evil
  • Web Performance Optimization: Top 3 Server and Client-Side Performance Tips
  • Fundamentals of Web Application Performance Testing
  • Comparison of 18 APM & Application Monitoring Tools
  • tekijästä
  • viimeisimmät viestit

Juliet Mendez

Juliet Mendez on tietojenkäsittelytieteiden laitoksen professori ja tietotekniikan tohtorikoulutettava. Hänellä on taustaa CCNA: sta, tietokoneohjelmista kuten PHP: stä, javasta, Mobiilikehityksestä ja projektinhallinnasta.

  • Näytä kaikki PHP virheet: Basic & Advanced Usage – March 27, 2020
  • PHP Performance Optimization Guide-lokakuu 9, 2018
  • 5 PHP Performance Testing Tools You need To Know – September 26, 2018
  • Laravel Eloquent Tutorial with Examples – September 24, 2018
  • Get Detailed PHP Trater-August 20, 2018

Leave a Reply

Sähköpostiosoitettasi ei julkaista.