Performata slaba PHP pe IIS

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?

2 Likes

@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.

1 Like

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.

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).

1 Like

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

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

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

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

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 !

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

1 Like

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!

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.

1 Like

@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.

2 Likes

Si zici ca nu ai schimbat hostul?

Dude !
Este localhost.

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

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ă)

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?

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

Nu e chiar contraintuitiv, chiar si pentru localhost se apeleaza resolverul si ar putea aparea intarzieri din cauza asta, mai ales daca nu este bagat in /etc/hosts (sau unde naiba e in Windows).

LE: si mai e o chestie. Cel putin pe Linux, “localhost” este rezolvat prima data pentru ipv6. Aplicatia s-ar putea in prima faza sa incerce sa se conecteze la ::1, asteapta pana da timeout si abia dupa aia sa incerce pe 127.0.0.1

2 Likes

Sa fim seriosi! ce delay poti avea la apelarea resolverului local pentru inregistratea localhost? cateva microsecude poate! nedetectabil pentru tine ca user! doar nu face query pe la vreun root domain server si apoi mai departe la tld?