I have a Delphi web server application that receives XML documents via an HTTP post command. The application does a Firebird database lookup and responds to the HTTP post. In development and debugging, we compile and run this as a standalone windows application where we can see the input and output. For production, we re-compile the same code as a windows service.
We are having performance issues with the service application on Windows Server 2008 R2. It is running about 30 to 50% slower than the standalone application. On Window Server 2000 and 2003 the performance was the same for the stand alone application and the service.
In troubleshooting the problem, we have recompiled the application to run as an ISAPI dll. We put this dll under an Apache Web server. We are seeing the same slow performance with the ISAPI dll.
I have used the Process Monitor (procmon.exe) from sysinternals.com and it appears that both the stand alone application and the service application are doing the same work, but the service is taking longer to do the database lookups.