Board index » delphi » ISAPI Multi Processor

ISAPI Multi Processor


2004-05-07 08:37:07 PM
delphi103
Hi
We have an ISAPI application written in Delphi 7 with ISAPIThreadPool enabled.
The ISAPI process is running High protection - so in it is own instance of
DLLHost
Server is running Win2k Server SP/4
Running on a server with twin processors during heavy usage we see one
processor hit maximum usage for sometimes several seconds at a time, the
other processor is virtually dormant all the time.
Sometimes the processor hits maximum and stays there requiring a restart of
IIS to free it up - the strange thing is that it isnt always under very
heavy load when the processor does this. Sometimes periods of very heavy
load are fine and later in the day the processor goes max and stays there
We've performed all the optimisation we can think of. We are about to
implement third party memory manager from NexusDB after reading reports of
delphi memory management problems when doing a lot of string handling.
Is this single CPU usage expected behaviour on a multi processor server or
should the ISAPI app be utilising both processors ?
Regards
Martin
 
 

Re:ISAPI Multi Processor

it should be using both CPUs... and what you see could be the result of
delphi memory manager... we gave the nexus mm a try and are very happy with
it so far :-)
Yahia
 

Re:ISAPI Multi Processor

Are you using any specific database engine? If so, it may be configured to
use only one processor (processor affinity setting - I know it is there in MS
SQL server).
Regards
Sumit
Martin <XXXX@XXXXX.COM>writes
Quote
Hi

We have an ISAPI application written in Delphi 7 with ISAPIThreadPool enabled.
The ISAPI process is running High protection - so in it is own instance of
DLLHost
Server is running Win2k Server SP/4

Running on a server with twin processors during heavy usage we see one
processor hit maximum usage for sometimes several seconds at a time, the
other processor is virtually dormant all the time.

Sometimes the processor hits maximum and stays there requiring a restart
of
IIS to free it up - the strange thing is that it isnt always under very
heavy load when the processor does this. Sometimes periods of very heavy
load are fine and later in the day the processor goes max and stays there

We've performed all the optimisation we can think of. We are about to
implement third party memory manager from NexusDB after reading reports of
delphi memory management problems when doing a lot of string handling.

Is this single CPU usage expected behaviour on a multi processor server or
should the ISAPI app be utilising both processors ?

Regards
Martin