Optimizarea apache 2, php și mysql în mediul Windows

Așa cum am promis, voi scrie despre cum să configurați Apache, PHP și MySql pe o gazdă locală Windows pentru performanță maximă.







Mulți programatori, atunci când dezvoltă și testează site-uri, folosesc un computer personal local care rulează sistemul de operare Windows pe care emulau munca de hosting real. Aveți posibilitatea să instalați Apache, PHP și MySql pe computerul dvs., puteți utiliza pachete de instalare gata precum Denver, XAMPP și altele. Setările implicite pentru pachetele instalate lasă mult de dorit și de aceea.

Am personalități destul de puternice, dar am fost surprins de faptul că diferența de generare a acelorași pagini pe o gazdă reală cu o configurație aproximativă de hardware cu un server local este de 10-100 de ori! Windods este atât de rău pentru Apache, PHP și MySql? Dar funcționează rapid și eficient IIS și ASP pe servere și pe un server local, mă mișc rapid pe IIS. Se pare că toată chestia din "mâinile strâmbe" ca să zicem :)

Analiza problemei și compararea diferitelor metode de markeri de măsurare a performanței în script, studiind fișierele de configurare, cum ar fi Apache si MySql Server si IIS și MS SQL Server, Ryskov pe numeroase forumuri găsit cauza. În mod implicit, incluse în distribuțiile setărilor Apache, PHP și MySql sunt cel mai probabil destinate platformelor Linux / Unix. Prin urmare rake-ul crește.

Optimizarea Apache 2 și PHP.

Principala problemă în performanța aplicației Apache + PHP pe platforma Windows este operațiunile de fișiere lente. Linux / Unix cu fișiere este foarte rapid și este setat la nivelul sistemului de operare. Nu știu ce setări pentru optimizarea sistemului de fișiere în Windows, poate că sunt, dar nu știu despre ele. (Am găsit mai târziu o astfel de setare)







Pentru un număr mic de pagini implicate în generarea de fișiere din diferența aproape imperceptibilă între generarea de Unix și Windows, dar de multe ori site-uri folosind diverse motoare sau biblioteci, și constau din sute sau chiar mii de pripoane. De exemplu, Joomla 1.5 conține mai mult de 6000 de fișiere de dimensiuni mici. Practic, sunt scripturi PHP. Pentru a le accesa și a citi ca pagina este generată, timpul principal este cheltuit.

Experimentat sa constatat că trebuie să optimizați cache-ul de fișiere și cache-ul de memorie. Ce ne schimbăm?

Acestea sunt setările de bază care afectează în mod semnificativ performanța, puteți juca cu alții, dar ele dau deja un rezultat mai puțin semnificativ și depind mai mult de un anumit caz.

De asemenea, vă recomandăm să configurați memoria cache a sistemului.

Optimizarea MySql.

Cu baza de date MySql, timpul principal este setarea conexiunii. După cum sa dovedit în mod implicit, conexiunea trece prin portul tcp / ip. Imaginați-mi surpriza când am văzut că este nevoie de aproximativ 0,7-0,5 secunde pentru a instala o conexiune la baza de date MySql din PHP! Și cu cererile ulterioare, acest timp practic nu scade. Pentru a accelera pe serverele Unix, atunci când utilizați o conexiune locală, este recomandat să utilizați socket = mysql (stream direct special), dar acest lucru nu se întâmplă pe Windows. Dar există

numit-pipe. Atunci când se utilizează o conductă numită, timpul de conectare este mai mic de 0,01 - 0,005 sec, iar în cererile ulterioare, practic, tinde la zero. Dar cum să-l folosesc și să-l configurez este scris foarte puțin pe forumuri, mi-a fost greu de găsit pe forumuri pentru burghezi, cum să configurez și cum să folosesc corect conducta numită atunci când sunt conectată.

Includeți-l în configurația my.cnf și când accesați scripturile PHP în acest caz, trebuie să accesați serverul local ca ".". De asemenea, vă recomandăm în php.ini să setați mysql.default_host = ".", Deci, în mod implicit, cu un nume de server nespecificat în conexiune, utilizați pipe-ul numit în loc de portul tcp / ip.

Acestea sunt setările de bază care afectează în mod semnificativ performanța, puteți juca cu alții, dar ele dau deja un rezultat mai puțin semnificativ și depind mai mult de un anumit caz.

Folosind parametrii de mai sus, am accelerat rapid generarea paginilor care rulează CSM Joomla 1.5 de la 2.1 - 1.8 secunde la 0.8 - 0.3 secunde pe gazda locală. Pe o gazdă plătită real pentru unix, aceleași pagini sunt generate de 0,3 - 0,14 secunde.

Instrucțiuni pentru optimizarea PHP și configurarea canalelor MySql numite în Denwer.
  • Logstalgia - un instrument pentru vizualizarea lucrării Apache
  • despre zei, și am fost încurcat pentru câțiva ani la viteza de Joomla

    realpath_cache_size = 16000k (implicit - 16k)
    realpath_cache_ttl = 1200 (implicit - 120)

    într-adevăr a ajutat, vă mulțumesc!







    Articole similare

    Trimiteți-le prietenilor: