Hardware:
-1 data base server with Unix SCO v 5 running Informix Dynamic Server 7.3.
-1 applications server Windows NT 4.0 (with service pack 5).
- 50 clients running Win95, Win98 or Windows NT WorkStation.
Model:
- RemoteDataModule (RDM) with Multi Thread, being connected Unix - Informix
through
ADO -> OLEDB for ODBC -> ODBC -> Informix Client
The component Delphi that we use is:
*RemoteDataModule(RDM) Application: DCOM and DataSetProviders.
*Client Application: AdoStoredProc and AdoDataSets.
The Delphi Enterprise that we use, has it with the " patches " corresponding
Well,well , with all this we have several problems:
1) in a beginning, we used connections BDE -> Informix Client. In
this outline had the problem that in a certain moment, the RDM you
they hung. The deduction that we made, is that with having reiterated calls
to the BDE (model
multithread), in some moment, 2 or more calls coincided in time and
it caused an infinite loop. (BDE multithread is? There is solution for
this problem?
2) later on, we decide to change the technology to ADO (seemingly more
stable, and when being implemented as dynamic librery each RDM has a
"engine independent ADO"). However, we solve a problem but
we introduced other, that is:
2.1) in a certain moment, 1 or more RDM they begin to use more cycles of
CPU that those that it requires. The use percentage begins to ascend in form
abrupt until 100%, leaving the unusable servant (in these cases we have to
kill the processes RDM in question).
2.2) In the same way, the other problem is that in another circumstances,
they begin to use space in disk (virtual memory) in growing form and
she/he would arbitrate, with that which, although the% of CPU is more or
less normal but the use
limitless of the hard disk causes a similar problem to the previous one (for
example,
a RDM that only has Stores Procedures that carry out consultations of
few lines, finish using 100% of CPU and 250 Mb virtual memory).
3) Some considerations that is on the previously outlined cases:
3.1) As the clients leave connecting, the is increased
used memory and when they are disconnected the whole memory it is not
liberated.
3.2) Sometimes, a process in the client is hung, and this takes place that
you
hang the application server and all the applications clients
connected they die.
We would THANK ANY INFORMATION THAT I/we are PROVIDED in this respect.
Thank you
ANDRÉS BIMA
PRODUCTION SUPERVISOR
CERECRED S.A.