Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Huge problem with COM+ performace? PART TWO

Re: Huge problem with COM+ performace? PART TWO

From: Trevor Benedict R <trevornews_at_yahoo.com>
Date: Thu, 1 Nov 2001 17:20:48 +0800
Message-ID: <eRaWUarYBHA.1788@tkmsftngp05>


Hi Adam,
Just to prove that something like this could have modified your .VBP file, which could have been carried into your compiled DLL. So you can create a new Project and start all over by adding the Classes.

This is not a solution. But I've had problems when I was not able to connect to SQL Server. When I closed and added the forms into another project and after setting the reference etc. The code worked. So try creating a new project , set your references and then add all the code modules and classes and then set your project properties and compile it and then see if it works. Else we can look at this from another point of view.

Trevor.

"Adam Boczek" <adam.boczek_at_NO_SPAM_gft-solutions.de> wrote in message news:1004603145.726138_at_tux2.ham.acs-gmbh.de...
| 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
|
| -------------------------------------------
| Adam Boczek
| IT Consultant
| GFT Solutions GmbH
| adam.boczek_at_gft-solutions.de
| -------------------------------------------
|
| "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 - 03:20:48 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US