Apache Thrift PHP er Slow

Apache Thrift PHP er Slow


Det er mange grunner til at noen programmering prosjekter, for eksempel PHP Thrift, er betydelig treg. Mulige årsaker omfatter maskinvare og operativsystem, kjøretidskonfigurasjonsproblemer og kompilere-time konfigurasjonsfeil. Alle disse tingene må tas opp for å holde Apache server alltid opp og kjører effektivt. Sviktende å løse noen av disse problemene, men kan resultere i kontinuerlig nedgang i ytelsen til Apache server og betydelig degradering av hastighet ved lasting dine prosjekter.

Bruksanvisning

1 Kjør den nyeste utgaven og sikkerhetsoppdateringen for operativsystemet på serveren din, vanligvis er det den mest stabile versjonen. Mange betydelige ytelsesforbedringer er lagt til kommunikasjons stabler og gjenge biblioteker av flere eksisterende operativsystemer, så å oppgradere til den nyeste versjonen vil hjelpe fart på serverens ytelse.

2 Påfør koden nedenfor til serveren din, så det vil deaktivere Domain nettverkstjeneste, eller DNS, oppslag med unntak av HTML og .cgi filer. Dette vil gjøre prosjektet til å laste raskere fordi det bare gjøre forespørsler basert på de nevnte kriteriene:

HostNameLookups off

<Files ~ "(html | cgi). $">

HostNameLookups på

</ Files>

3 Lim inn følgende kode for å aktivere "FollowSymLinks" og "SymLinksIfOwnerMatch" på prosjektet til minst kontrollere flere kontroller gjort på Document banen:

Document / www / htdocs

<Directory />

alternativer FollowSymLinks

</ Directory>

<Directory / www / htdocs>

Alternativer -FollowSymLinks + SymLinksIfOwnerMatch

</ Directory>

Disse ekstra sjekkene er unødvendig og de kan virkelig tregere lasting av PHP-prosjektet.

4 Deaktiver "lingering_close" -funksjonen i http_main.c katalogen på serveren din, men ta ekstra omsorg i å gjøre det fordi denne funksjonen er nødvendig for sikker gjennomføring av PHP prosjektet:

void lingering_close (int s)

{

røye junk_buffer [2048];

/ Shutdown sendersiden /

nedleggelse (s, 1);

signal (SIGALRM, lingering_death);

alarm (30);

for (;;) {

velger (s for lesing, to andre timeout);

if (feil) break;

if (s er klar for lesing) {

if (lese (s, junk_buffer, sizeof (junk_buffer)) <= 0) {

gå i stykker;

}

/ Bare kaste bort alt som er her /

}

}

stenger);

}

Dette er mer en siste utvei triks og i enkelte situasjoner gjelder ikke i det hele tatt. Det er bare ett av de verktøyene som vil enten hjelpe eller ødelegge koden din.

Hint

  • Lær mer om PHP ved å bli med diskusjonsfora for å søke råd fra eksperter.
  • Prøv så mange verktøy som mulig på lokalt vert nettsted for å få mer erfaring med PHP.