Pagini PHP pe server Web IIS de la Microsoft

De obicei, paginile Web scrise cu PHP sunt asociate cu serverul Apache rulând pe Linux. E drept, PHP-ul rula și pe Windows, dar nu la fel de rapid…

Vremurile s-au schimbat. Pentru IIS 7.0 din Windows Server 2008, s-a lucrat intens la tehnologia FastCGI, un model de procesare prin care performanțele site-urilor PHP sunt îmbunătățite considerabil pe platforma Microsoft. FastCGI a fost apoi adaptat și la IIS 6.0.

Pentru cei care sunt familiarizați și vor să testeze PHP-ul pe Internet Information Services chiar acum, iată ce recomand de pe site-ul iis.net:

Ceva mai adânc din punct de vedere tehnologic

Există diferențe fundamentale între modelele de procesare "multi-tasking" pe Windows versus Linux. Pe Linux, pornirea unui nou proces se face foarte rapid; în funcție de cum se face bifurcarea, procesele își pot partaja ușor anumite zone de memorie. La Windows, pornirea unui nou proces este foarte "costisitoare"; când un proces are nevoie de mai multe fire de execuție, bifurcarea rapidă se face prin multi-threading în cadrul aceluiași proces.

Pentru orice "servire" a unei pagini de Web PHP, un nou proces era deschis pentru interpretarea codului ei. Și, bineînțeles, pe Linux mergea ca uns. Dar pe Windows – mai greu, pentru că pornirea fiecărui nou proces era lentă. FastCGI a fost conceput tocmai pentru a simula cu thread-uri procesele necesare interpretării PHP.

Comparație de performanțe PHP – IIS pe Windows versus Apache pe Linux

Dacă activăm funcțiile de caching și optimizăm setări (de exemplu Default Document), perfomanțele sunt aproape aceleași. Dar pentru ce scenariu? Sunt convis că unii partizani deja își pregătesc scuipații🙂 ca să intre în bătălia ideologică Windows versus Linux. Dacă mă întrebați pe mine, un site web simplu poate servi drept benchmark, dar va fi irelevant. Pentru că aplicațiile PHP implică de multe ori acces la date sau consum de servicii Web, de exemplu. Cu alte cuvinte, perfomanțele motorului de date sau ale driverelor de acces de pe o platformă sau alta vor influența considerabil testele comparative. Și vom ajunge în aceeași fundătură: nu cred să existe un benchmark relevant și corect pentru toate scenariile. În consecință, comparația ar trebui făcută pe situație sau soluție punctuală.

Site-uri PHP sau ASP.NET?

Dacă am stabilit că e greu să compari corect și relevant PHP pe Windows sau Linux, comparația între PHP și ASP.NET (pe Windows) ar trebui să fie ceva mai ușoară. Pentru că PHP este un limbaj interpretat, pe când paginile ASP.NET sunt clase compilate.

O pagină PHP va fi reinterpretată la fiecare cerere – este o procesare relativ lentă pe care o poți întrucâtva ocoli prin caching. Pagina ASPX (ASP.NET) este compilată la prima cerere către ea, dar cererile ulterioare se vor rezolva prin executarea de cod compilat, nu prin interpetare. Un cod compilat este mai sigur și mai puțin susceptibil la erori. Mai mult, site-urile Web ASP.NET pot fi pre-compilate ca DLL-uri înainte de instalare. Dacă adaugi și caching la pagini…

În consecință, cel puțin teoretic, site-urile ASP.NET ar trebui să fie mai rapide decât cele PHP.

One thought on “Pagini PHP pe server Web IIS de la Microsoft

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s