PDA

Bekijk Volledige Versie : PHP CGI mode super traag, PHP ISAPI mode onstabiel



TiMMiEJ
19/01/09, 16:00
Ik zit met een redelijk groot probleem. Ik heb een vrij intensieve webapplicatie gemaakt in PHP wat draait op mijn eigen framework.

Ontwikkeld op een Windows bak met Apache als webserver.

Nu heb ik vandaag alles omgezet naar een Windows Server 2003 omgeving met IIS 6.0 als webserver.

In eerste instantie heb ik PHP 5.2.8 geconfigureerd als ISAPI filter, maar dan krijg ik steeds foutmeldingen (Access Violation etc.).

Daarna PHP opnieuw geconfigureerd maar dit maal draait deze in CGI modus. Dit werkt beter, alleen de pagina's laden super traag. De pagina opsich komt snel op het scherm te staan, maar vervolgens blijft de pagina doorladen en na 2-3 sec komen pas de plaatjes die in de <img> tags staan.

Iemand een oplossing?

EWMS
19/01/09, 17:42
Je moet eens kijken naar de fastCGI implementatie voor W2K3 IIS6 en PHP. Dit zou sneller moeten werken (CGI maar dan worden de processen hergebruikt voor requests, dus zonder de penalty van een nieuw te starten proces) en minder onbetrouwbaar zijn (ISPAPI is niet tread-safe).

Overigens ben ik bij de Intrack "Microsoft Web Stack en PHP" geweest. Daar kwam naar voren dat W2K8 en IIS7 samen met PHP en fCGI nog beter en sneller zou moeten werken. Helaas heb ik dit nog niet kunnen testen, maar wellicht dat je daar zelf wel de mogelijkheden voor hebt.

Digiover
19/01/09, 21:59
Naast FastCGI (wat goed draait) moet je ook je libmysql.dll versie even downgraden, deze zorgt voor het lange laden (een of andere bug met niet afgesloten threads ofzo, heb de linkjes niet hier).

MediaServe
20/01/09, 00:24
PHP schijnt zelfs beter te draaien op IIS7 met FastCGI dan op een Apache webserver.

http://www.clazh.com/fastcgi-for-iis-is-released-php-on-iis-faster-than-on-apache/

TiMMiEJ
20/01/09, 18:20
Ik heb ondertussen een nieuwe server geinstalleerd (test in een VM).

MySQL 5.0.67
PHP 5.2.8
IIS 6
Mod-Rewrite Pro 3.6.

PHP ingesteld als ISAPI filter en dit keer heb ik nergens problemen mee. Op de productie server werkt zowel ISAPI mode en GCI mode niet zoals het zou moeten.

Testen met IIS 7 is geen optie. Ik ga morgen even proberen of de fastCGI implementatie wel het gewenste effect geeft.

Aan de hardware kan het niet liggen het is een vrijwel nieuwe xeon quadcore server van HP.

Digiover
28/01/09, 16:03
Heb je al gekeken naar het libmysql.dll bestandje? Wij hebben MySQL client API versie 5.0.22 geinstalleerd (1,470,464 bytes), omdat client API versie 5.0.51a voor de vertraging zorgt (2,076,672 bytes). Dit is een bekende bug.

De PHP ISAPI (php5isapi.dll) zou ik niet gebruiken. Ga of voor CGI (php-cgi.exe) of voor FastCGI.

emango
12/02/09, 20:01
FastCGI zal de oplossing brengen ;-)