Incase Chris is busy, I'll jump in, as I think I know the project he's
talking about....
> 1stly. Did the system originally use a file based DB like Paradox. If
the answer
> is yes, is the new app using TTables or TQueries. This is the first
bottleneck
> and relates to C/S developement in general.
Yes, it was originally Paradox via tables and a few queries. Its now IB via
BDE and 99.9% of them
are TQueries with associated TUpdateSQL's. Some work has been done on
getting it to send just the minumal amount of data back.
> There are several other things that can cause this, and they are not
necessarily
> related to MIDAS. (all off the top of my head)
The developer has, AFAIK, been testing the performance of the layers, and
the MIDAS bit is not the problem. AFAIK. I may be wrong here, as I've not
talked to him for a while.
> Are they retrieving some records and then doing lookups for other
information
> on the records retrieved, ie have a db grid of all the records in one
table
> with a lookup field (excellent on file based DB's but on C/S not good)
There are a few grids involved (didn't change the UI and rewrite it when the
oppertunity was there :( ) - they have
some lookups (ALL this is from memory - which is about a year old, too!),
but IIRC, there is caching of the lookup tables in CDS's.
> Have they only got one BDE connection that all the RDM's share. Each RDM
should
> have it's own TDatabase and TSession (unless the programmer has
implemented
> some sort of connection pool).
each RDM has a connection / session etc.
> Which MIDAS connection method are they using Sockets, DCOM, WebConnection?
> Sockets is the fastest. If sockets then check that the SCKTSVR has the
resolve
> host names set off.
Sockets. - I dont think it has resolve hostname turned off tho.
> Are the Remote Data Modules (RDM) in the server all opened at the start or
opened
> as required. If opened as required are the RDM's broken into logical
smaller
> groups ie Order RDM containing the Order header and order details etc.
RDM's are opened as required. There are 2 RDM's per client - one for the
app, and one for the reports. the app one is _HUGE_. That might be the
problem.... possibly.
> The BDE will suffer under MIDAS if there is a TDatabase and TSession per
RDM
> if there are likely to be more than 60 open at a time (we actually found
that
> this was lower like around 25) and will lock clients. I would strongly
recommend
It appears to lock at about 5 clients, I think. Basically, not even close to
25, let alone 60.
> that IBX or IBO is used to avoid the BDE for MIDAS, unless they want to
use
> the SharedConnection methods in the RDMs.
Hmmm, didn't look at shared connection - I'll have a look.... There is
currently only 2 conections from each client back to the server (ie, one for
the main one, and one for the reports when its loaded)....
> I would suggest that you look at http://www.distribucon.com for other
tips relating
> to MIDAS. The Shared Connection information can be found there.
Cheers.
> IBX updates are available from
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102
>
>
> IBO is at http://www.ibobjects.com/
IBX and IBO were not options at the time, as it may be need to be ported to
Oracle at a later date :( Hence why the BDE (not my first choice, either - I
was gunning for IBX at the time)
Thanks for the info.
Nic
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"
Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/