Performata slaba PHP pe IIS

windows-server
iis

(cosmos) #1

Salut !

Ma confrunt cu uramtoarea problema:

Pe o masina virtuala cu Windows Server 2016 + IIS 10 aplicatiile scrise in php se misca lent, adica dureaza mult pana cand se incarca pagina aplicatiei respective.
Masina virtuala este la noi in retea. Ce-i drept versiunea de php este cam veche, dar acest lucru este necesar pt a pastra compatibiliateta cu anumite biblioteci. In plus php-ul este instalat cu Microsoft® Web Platform Installer.

Aplicatiile nu sunt consumatoare de resurse.

  • O aplicatie interna pt pontaj
  • o instanta de mediawiki pt wiki-ul intern
  • altele facute in house

Pana acum, cautand pe Google am gasit ceva legat de schimbarea adrese la server-ul de baze de date din localhost in 127.0.0.1 si fastcgi.

Daca ati mai avut semenea probleme si daca mai aveti alte idei, feel free to share :slight_smile:

Multumesc !


Masina virtuala este pe un server care se afla la locul meu de munca
Azi a durat secunde bune pana cand s-a incarcat wiki-ul intern


(cosmos) #2

Intr-adevar trecerea pe apache ar rezolva toate problemele, dar este mai complicat acest lucru si nu stiu cat de mult se doreste .


(Ionuț Staicu) #4

Dacă încerci să servești o pagină simplă (e.g. phpinfo();) cât durează?

Eu am avut problema asta pe apache când aveam o versiune veche/incompatibilă de xdebug:


@Caezsar_Matei: îți înțeleg supărarea, dar nu ai dat un răspuns la întrebare. Chiar a și menționat că știe că trecerea pe apache ar rezolva multe probleme, deci ce valoare aduce răspunsul tău?


(Alex) #6

@Caezsar_Matei ai tinut mortis sa afle lumea ca esti cool pe linux?

@Cosmin_Popescu, incearca cu un debug. vezi ce-ti mananca cel mai mult timp. eu m-am jucat cu iis si php si n-am observat probleme.


(cosmos) #7

Legat de acest lucru cu xdebug citisem pe undeva despre el

Ciudat este ca daca servesc o pagina simpla nu dureaza asa mult. Momentan nu am acces la acea masina.


(Serghei Amelian) #8

Ca improvizaţie, ai putea sa incerci sa rulezi IIS pentru aplicatiile cu .net si Apache pentru alea in php. Pur si simplu rulezi Apache pe alt port sau pe alt ip (ziceai ca e in intranet, deci n-ar fi o problema sa mai aloci un ip privat, banuiesc).


(cosmos) #10

Am facut la mine pe laptop testul cu apache mediawiki si mysql. Se mica bine. Am windows 10


(cosmos) #18

Todo:
:heavy_check_mark: verificare cu debug
:heavy_check_mark: rulare iis pt .net si apache pt php
:heavy_check_mark: reverse proxy
:heavy_check_mark: schmbare localhost in 127.0.0.1
:heavy_check_mark: versiune veche de php(cu >= 7 se misca foarte bine)
Mai zice si ceva de isapi
Interesant este ca majoritatea rezultatelor google sunt destul de vechi


(cosmos) #20

Am pus eu mediawiki pe windows de test (xampp cu apache) pe laptopul meu si s-a miscat bine.


(Caezsar Matei) #21

Ai pus pe wamp pe acelasi server pe care era rulata aplicatia cu IIS? sau ai schimbat hostul?


(cosmos) #22

Legat de topic si de php pe iis am gasit urmatoarea prezentare

@Caezsar_Matei nu wamp ci xamp. nu am treaba cu hostul. am instalat media wiki la mine pe latptop

@iamntz, am vazut in thread-ul postat de tine uramtorul script

 error_reporting(E_ALL);
 ini_set('display_errors', 1);

 $time = microtime(true);
 $mem  = memory_get_usage();

 trigger_error('Whatever', E_USER_NOTICE);

 $time = microtime(true) - $time;
 $mem  = memory_get_usage() - $mem;

 $time = number_format($time, 2);

 echo "$time second(s)\n";
 echo "$mem bytes of memory used";

Il voi rula sa vad ce zice
Va multumesc pentru raspunsuri si sugestii. Le vom incerca si voi reveni cu un feedbak :slight_smile:

O sera buna !


(Serghei Amelian) #23

@Cosmin_Popescu: mai ai o variantă, reverse proxy. IIS sa fie frontend pentru Apache sau invers.


(Caezsar Matei) #24

Xamp sau wamp…same shit! varianta lui serghei cu reverse proxy e de luat in considerare…desi nu cred ca va optimiza daca e vb de aplicatie dinamica ce interogheaza baza de date, intrucat backend-ul se mica greu!


(Serghei Amelian) #26

Backend-ul va fi apache cu php, deci n-are de ce sa se miste greu. IIS va sta in faţă si doar va fi interfaţa dintre client si apache, overhead-ul e foarte mic comparativ cu orice s-ar executa pe partea de PHP.


(Alex) #27

@Caezsar_Matei, tu esti genul care arunca cu hardware intr-o problema si se lauda pe net cat de optimizat e linuxul.
@Cosmin_Popescu, incearca sa loghezi timpii de executie in diferite puncte ale aplicatiei. vezi unde moare.


(Caezsar Matei) #31

Si zici ca nu ai schimbat hostul?


(cosmos) #32

Dude !
Este localhost.

nu wamp ci xamp. nu am treaba cu hostul. am instalat media wiki la mine pe laptop


(Ionuț Staicu) #33

Pare contraintuitiv, dar ia încearcă să pui și ip-ul :slight_smile: 127.0.0.1.

(voi șterge răspunsurile ce sunt pe lângă)


(Caezsar Matei) #34

localhost sau 127.0.0.1este pe orice nod (host, computer, etc) ! Cand ai migrat fisierele aplicatiei din serverul de windows pe laptopul tau ce ai facut! Nu ai schimbat cumva hostul aplicatiei?


(cosmos) #35

Sa stii ca am mai vazut ideea asta.
Asta la fisierele de configurtie