Ik had hier en daar gelezen dat FastCGI werd gebruikt om websites te draaien die best wel veel te verwerken krijgen, om de performantie te verhogen.
Als ik het goed begrijp, gaat het vooral over een nieuwe manier om met de HTTP server te binden. (Nu ja nieuw, het is in 1996 opgestart dacht ik). Als vroeger bijna iedereen PHP.EXE over CGI gebruikte, kan ik er in komen dat dat daar een verbetering is.
Te meer omdat ik al een ISAPI extension en Apache module heb draaien, lijkt het me zeker dat het stukje performantie die je kan winnen door een dun laagje over CGI te bouwen, klein moet zijn en maar opvalt als je heel veel werk over de server stuurt.
Toch ben ik gewonnen omdat het een open, onafhankelijke en straight-forward interface is met gelijk welke HTTP server (IIS, Apache, lighttpd en er zijn er nog andere die het aankunnen). En dan nog eens omdat ik al op zoek was naar een manier om toch een CGI handler te kunnen maken, maar dan toch vanuit een lang draaiend proces (om de session-data in memory te kunnen houden), maar da's een ander verhaal.
Nu, ik heb Apache 2.2 draaien, met mod_fastcgi.dll van de website en dit in de httpd.conf:
Code:
LoadModule fastcgi_module modules/mod_fastcgi.dll
FastCgiExternalServer C:\\test\\FastCGI\\dfctest.exe -socket dfctest
<Location /dftest>
SetHandler fastcgi-script
</Location>
Maar op alles wat met "http://localhost:8080/dftest/" begint krijg ik een 404. En ook zie ik met ProcessExplorer dat httpd.exe de Named Pipe "\\.\pipe\FastCGI\dftest" heeft staan! Moet mijn proces die niet definieren en op luisteren?
Bookmarks