I am using Sybase 5.5 / Delphi4.0 / MIDAS2.0. My application hangs up even
for 2
users when they request queries simulateneously to Sybase!
When I execute query#1 independently, then it takes 12 secs.
When I execute query#2 independently, then it takes 1 secs.
But when I execute query#1 and #2 simultaneously then :
query#1, then it takes 12 secs.
query#2, then it takes 11 secs.
Whats going on can anybody explain; As the number of users or number of
"worst quries" increases; my application slows down and eventually hangs
out.
query#1
*********
Select
c.AgNym + ' - '+c.CcySwift AgNym ,t.RecState,GLNO
mGlstNo,POSTDATE,DR,CR,REFNO,AGENTREF,
PAGENO,SUPPDETAIL,XTRAREF,ChangeNO,MATCHNO mGlstMatchNo,MatchType
,T.mStatus,t.Status,t.AgNO,'C' FromT
from
Agchld C,GL001 T
Where C.agno=t.AgNo And 'C'='C' and (inTran=0 or inTran is null) and
(POSTDATE>='Mar-16-2000')
Union Select
hc.AgNym + ' - '+hc.CcySwift AgNym,ht.RecState,GLNO
mGlstNo,POSTDATE,DR,CR,REFNO,AGENTREF,PAGENO,SUPPDETAIL,XTRAREF,ChangeNO,MAT
CHNO mGlstMatchNo,MatchType ,hT.mStatus,ht.Status,ht.AgNO,'H' FromT
from
Agchld hC,HGL001 hT
Where
hC.agno=ht.AgNo and 'H'='H' and (inTran=0 or inTran is null) and
(POSTDATE>='Mar-16-2000')
Order By 5 DESC,6
----------------------------------------------------------------------------
----
query#2
*********
select * from param
On client side:
1- We are NOT getting any MIDAS, Delphi, transport layer or any run-time
errors. Everything goes fine for a single user but When two user connects to
our AppServer both face system hang-outs if one performs some lengthy
operations.
If more than two users are connected than even for small operations system
causes delays for everybody. So, in short hang-out is the problem and thats
why I was saying MIDAS is not scaling even for 2 users. We are not satisfied
with the MIDAS performance.
2- We are using Borland MIDAS socket server to connect to remote server at
port 110.
3- We have adopted "One TClientDataSet - One TProvider design paradigm but
at many places we have used only one Provider for many ClientDataSets as
well.
4- We have used embedded SQLs throughout and we are following
MyClientDataSet.Provider.DataRequest(mySQL) model to INSERT, UPDATE, DELETE
and SELECT data.
On server side we have;
TComponentFactory.Create(ComServer, TRSDataDM,
Class_RSDataDM, ciMultiInstance, tmApartment);
Thanks;
Rafey.
eng...@yahoo.com
Thanks everybody;
Your suggestion to upgrade from Delphi 3.0 to D5.0 looks little bit scary.
Is the code 100% portable from D3 to D5. We have used lots of D3 components;
does D5 provides upward compatibility or do I have change somthing in my
uses clause, object inspector or add/remove some components. I am not very
sure about these issues.
As far as original problem of scalibility is concerned here is some
drill-down.
1- We are NOT getting any MIDAS, Delphi, transport layer or any run-time
errors. Everything goes fine for a single user but When two user connects to
our AppServer both face system hang-outs if one performs some lengthy
operations.
If more than two users are connected than even for small operations system
causes delays for everybody. So, in short hang-out is the problem and thats
why I was saying MIDAS is not scaling even for 2 users. We are not satisfied
with the MIDAS performance.
2- We are using Borland MIDAS socket server to connect to remote server at
port 110.
3- We have adopted "One TClientDataSet - One TProvider design paradigm but
at many places we have used only one Provider for many ClientDataSets as
well.
4- We have used embedded SQLs throughout and we are following
MyClientDataSet.Provider.DataRequest(mySQL) model to INSERT, UPDATE, DELETE
and SELECT data.
Thanks,
Rafey.
eng...@yahoo.com
Eric Engler <een...@zcsterling.com> wrote in message
news:3963498d....@forums.inprise.com...
> The other poster was right - Delphi 3's Midas had lots of bugs. You
> should upgrade to Delphi 5 ASAP. Delphi 4's Midas was OK
> after you applied the bug fixes, but Delphi 5 is clearly the best
> choice for you.
>
> But, otherwise you haven't told us exactly what your problem is.
> You just said that it "is not scaling for multiple users". Are you
> getting any errors? What are they?
>
> Are you having trouble with your transport layer? Are you
> using DCOM?
>
> Just to add some comfort, I can tell you that many sites are using
> Midas with many users, and it works pretty well, overall.
>
> Eric
>
>
>
>
> On Tue, 4 Jul 2000 17:25:31 +0500, "Rafey" <eng...@yahoo.com> wrote:
>
> >Hello;
> >I am writing this email to find out an answer of very double-edged MIDAS
> >problem.
> >
> >We have developed a MIDAS/Sybase based solution in Delphi 3.0. We have
> >placed very large number of TClientDataSet components on all client
> >applications. We have connected some of those ClientDataSets to
independent
> >TProvider but some are connected to a single provider TempProvider. Now
our
> >solution is not scaling for multiple user (not even for 2 users!).
> >
> >Now there are couple of question I like to ask:
> >
> >1- What is the best deign practice of developing MIDAS solution. Any
> >suggestion, web site or resource.
> >
> >2- What is wrong with our designing strategy. Please suggest.
> >
> >3- What should we do to scale our application for 'N' number of users.
> >
> >
> >Thanks,
> >Rafey.
> >
> >eng...@yahoo.com
> >
> >
> >
> >
> >
> >
>