Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Huge problem with COM+ performace? PART TWO
But single threaded dll can execute only in first STA(0) and that "kills"
COM+ thread pooling. I think, I don't understand the aim of your test...
Greets,
Adam
"Trevor Benedict R" <trevornews_at_yahoo.com> schrieb im Newsbeitrag
news:OskrGlqYBHA.400_at_tkmsftngp07...
> Hi Adam,
> I hope you have created a ActiveX DLL project. If so according to what was
pointed out by JohnFros and Ray have you
> checked the threading model. Another question is did you change the
Project Type from ActiveX Dll to ActiveX Exe. You
> can try creating a new project and add all your class files into that
project (a simple drag drop should be easier for
> you). Then change the project properties and compile and test that DLL.
>
> You can test this. Open a new ActiveX Dll Project. Check the properties
for Class1 (the default class created). It's
> instancing is set to MultiUse by default. Check the project properties. It
shows as an ActiveX DLL and the Threading
> Model is Apartment Threaded. Change your project type to ActiveX Exe and
then open the default class module properties
> and set it's instancing property to SingleUse. Now open the project
properties and change the Project Type to ActiveX
> Dll. You'll get a warning that the Instancing type has been changed for
the class. Click on yes. Now checking the
> project properties, you'll notice that it's become a single threaded
component.
>
> I've solved many a problem by creating a new project and adding y files
from there.
>
> Regards
>
> Trevor Benedict R
> Software Engineer
> Mascot Malaysia Sdn Bhd
>
> "Adam Boczek" <adam.boczek_at_NO_SPAM_gft-solutions.de> wrote in message
news:1004598368.231462_at_tux2.ham.acs-gmbh.de...
> | Yes, everything is set properly...
> |
> | Greets,
> | Adam
> |
> | -------------------------------------------
> | Adam Boczek
> | IT Consultant
> | GFT Solutions GmbH
> | adam.boczek_at_gft-solutions.de
> | -------------------------------------------
> |
> | "Klaus H. Probst" <kprobst_at_v b b o x.com> schrieb im Newsbeitrag
> | news:ujHtlbkYBHA.1716_at_tkmsftngp05...
> | > Adam,
> | >
> | > I don't know if someone has brought this up before but are you setting
the
> | > DLL(s) Unattended Execution and Retained In Memory properties? There's
a
> | > problem with the VB runtime and COM+ that is solved this way. By the
looks
> | > of your description maybe that could be the problem...
> | >
> | >
> | > --
> | > . . . . . . . . . . . . . . . . . . . . . .
> | > Klaus H. Probst, MVP
> | > http://www.vbbox.com/
> | >
> | >
> | > Please post/reply to the newsgroup(s)
> | >
> | >
> | > "Adam Boczek" <adam.boczek_at_NO_SPAM_gft-solutions.de> wrote in message
> | > news:1004553339.429437_at_tux2.ham.acs-gmbh.de...
> | > > First of all I'd like to thanx all of you for answers!
> | > >
> | > > I've done some tests today and I'd like to show you results and
> | problems.
> | > >
> | > > All my VB components are correct configured properly (threadings
models,
> | > > type of execution etc.). I have one class thas is responsible for
all
> | > > connection to the database. It also independet dll.
> | > >
> | > > All my clients write now messages into event log.
> | > >
> | > > Problem:
> | > > When I start one client and than start long-lasting operation I can
> | start
> | > > second client, but it waits until the first client ends its process.
> | Looks
> | > > like database locks but it is not.
> | > >
> | > > Suddenly I've found in log event, that my second client can't
initialize
> | > > com+ object (stops when I call "set a = new MyDll.Function"). When
the
> | > first
> | > > client realises or creates new object than some resouces are free
and
> | > second
> | > > client goes on, but stops when it once again needs new object. So it
> | looks
> | > > like problems by resource pooling in com+.
> | > >
> | > > And now the hammer! All runs without problems when... I split my
com+
> | > > aplication into two aplications! One has only my "db" classes,
second
> | the
> | > > rest of dlls. But where is the explanation? Two dllhost.exe mean
tousand
> | > of
> | > > out-process calls (almost all my dll uses "basis-dll") and that
degrees
> | > > preformance. And this configuration causes also problems with
> | transaction
> | > in
> | > > stored precedures of Oracle8i.
> | > >
> | > > Thanx for any help. I have 5 days to lose the problem...
> | > >
> | > > Greets,
> | > > Adam
> | > >
> | > > -------------------------------------------
> | > > Adam Boczek
> | > > IT Consultant
> | > > GFT Solutions GmbH
> | > > adam.boczek_at_gft-solutions.de
> | > > -------------------------------------------
> | > >
> | > > "Adam Boczek" <adam.boczek_at_NO_SPAM_gft-solutions.de> schrieb im
> | > Newsbeitrag
> | > > news:1004438383.943613_at_tux2.ham.acs-gmbh.de...
> | > > > I have huge problem :-|. I've written software which uses COM+ as
> | > > midletier
> | > > > and Oracle8i as datatier. All business components are VB dlls. All
> | > clients
> | > > > are VB exes. Everything seems to be ok (transactions etc.). But
when I
> | > > start
> | > > > long-lastig process (for example accounting for 300.000 clients)
all
> | > other
> | > > > processes are locked (or very, very slow). I can NOT connect from
> | client
> | > > to
> | > > > my business components in COM+ (I receive no errors, only
information
> | > that
> | > > > process is pending) . Hardware is ok (2-Procesor server Compaq
with
> | 1,2
> | > GB
> | > > > RAM etc.), database parameters also (I can connect to database
without
> | > > COM+
> | > > > and run without problems any query), network 100MB/s and hi-end
> | > switches.
> | > > > I've tried different component configurations (all dll in one
package
> | or
> | > > in
> | > > > groups) but without success.
> | > > >
> | > > > Any ideas?
> | > > >
> | > > > Win2k Srv SP2, Oracle8i (8.1.7.2), VB6 SP5, ADO 2.6 SP1, all
clients
> | > Win2k
> | > > > Pro SP2.
> | > >
> | > >
> | > >
> | > >
> | > >
> | >
> | >
> |
> |
>
Received on Thu Nov 01 2001 - 02:25:46 CST
![]() |
![]() |