Huge problem with COM+ performace? PART TWO 
Author Message
 Huge problem with COM+ performace? PART TWO

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

-------------------------------------------



Quote:
> 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.



Mon, 19 Apr 2004 02:34:33 GMT  
 Huge problem with COM+ performace? PART TWO
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)


Quote:
> 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

> -------------------------------------------


Newsbeitrag

> > 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.



Mon, 19 Apr 2004 04:02:31 GMT  
 Huge problem with COM+ performace? PART TWO
Yes, everything is set properly...

Greets,
Adam

-------------------------------------------
Adam Boczek
IT Consultant
GFT Solutions GmbH

-------------------------------------------



Quote:
> 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)



> > 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

> > -------------------------------------------


> Newsbeitrag

> > > 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.



Mon, 19 Apr 2004 15:06:09 GMT  
 Huge problem with COM+ performace? PART TWO
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

| Yes, everything is set properly...
|
| Greets,
| Adam
|
| -------------------------------------------
| Adam Boczek
| IT Consultant
| GFT Solutions GmbH

| -------------------------------------------
|


| > 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)
| >
| >


| > > 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

| > > -------------------------------------------
| > >

| > Newsbeitrag

| > > > 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.
| > >
| > >
| > >
| > >
| > >
| >
| >
|
|



Mon, 19 Apr 2004 15:45:34 GMT  
 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

-------------------------------------------
Adam Boczek
IT Consultant
GFT Solutions GmbH

-------------------------------------------



Quote:
> 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
Quote:
> checked the threading model. Another question is did you change the

Project Type from ActiveX Dll to ActiveX Exe. You
Quote:
> can try creating a new project and add all your class files into that

project (a simple drag drop should be easier for
Quote:
> 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
Quote:
> instancing is set to MultiUse by default. Check the project properties. It

shows as an ActiveX DLL and the Threading
Quote:
> Model is Apartment Threaded. Change your project type to ActiveX Exe and

then open the default class module properties
Quote:
> and set it's instancing property to SingleUse. Now open the project

properties and change the Project Type to ActiveX
Quote:
> Dll. You'll get a warning that the Instancing type has been changed for

the class. Click on yes. Now checking the
Quote:
> 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




Quote:
> | Yes, everything is set properly...
> |
> | Greets,
> | Adam
> |
> | -------------------------------------------
> | Adam Boczek
> | IT Consultant
> | GFT Solutions GmbH

> | -------------------------------------------
> |


> | > 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)
> | >
> | >


> | > > 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

> | > > -------------------------------------------
> | > >

> | > Newsbeitrag

> | > > > 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.
> | > >
> | > >
> | > >
> | > >
> | > >
> | >
> | >
> |
> |



Mon, 19 Apr 2004 16:25:46 GMT  
 Huge problem with COM+ performace? PART TWO
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.

| 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

| -------------------------------------------
|


| > 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
| >


| > | Yes, everything is set properly...
| > |
| > | Greets,
| > | Adam
| > |
| > | -------------------------------------------
| > | Adam Boczek
| > | IT Consultant
| > | GFT Solutions GmbH

| > | -------------------------------------------
| > |


| > | > 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)
| > | >
| > | >


| > | > > 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

| > | > > -------------------------------------------
| > | > >

| > | > Newsbeitrag

| > | > > > 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.
| > | > >
| > | > >
| > | > >
| > | > >
| > | > >
| > | >
| > | >
| > |
| > |
| >
|
|



Mon, 19 Apr 2004 17:20:48 GMT  
 Huge problem with COM+ performace? PART TWO

Quote:
> First of all I'd like to thanx all of you for answers!
<snip>
> 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+.

Try replacing

set a = New MYDLL.....

with

set a = CreateObject("mydll class string")

I believe there was also a reference to a call to createinstance(something
or other) but as you can tell I'm ot familiar with that syntax.

--
Niall Litchfield
Oracle DBA
Audit Commission Uk



Mon, 19 Apr 2004 17:56:15 GMT  
 Huge problem with COM+ performace? PART TWO
Thanx for hint but I have tried all possibilities (BTW CreateInstance has to
be used with "old" MTS).

Greets,
Adam

-------------------------------------------
Adam Boczek
IT Consultant
GFT Solutions GmbH

-------------------------------------------



Quote:


> > First of all I'd like to thanx all of you for answers!
> <snip>
> > 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+.

> Try replacing

> set a = New MYDLL.....

> with

> set a = CreateObject("mydll class string")

> I believe there was also a reference to a call to createinstance(something
> or other) but as you can tell I'm ot familiar with that syntax.

> --
> Niall Litchfield
> Oracle DBA
> Audit Commission Uk



Mon, 19 Apr 2004 18:05:38 GMT  
 Huge problem with COM+ performace? PART TWO
I guess the only otrher question I have is what technology you are using to
access the database.

I know that there is a choice of ms and oracle ole-db providers and Oracle
also provides oo40, but I'm not sure if this can be hosted within MTS.
--
Niall Litchfield
Oracle DBA
Audit Commission Uk


Quote:
> Thanx for hint but I have tried all possibilities (BTW CreateInstance has
to
> be used with "old" MTS).

> Greets,
> Adam

> -------------------------------------------
> Adam Boczek
> IT Consultant
> GFT Solutions GmbH

> -------------------------------------------





> > > First of all I'd like to thanx all of you for answers!
> > <snip>
> > > 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+.

> > Try replacing

> > set a = New MYDLL.....

> > with

> > set a = CreateObject("mydll class string")

> > I believe there was also a reference to a call to

createinstance(something

- Show quoted text -

Quote:
> > or other) but as you can tell I'm ot familiar with that syntax.

> > --
> > Niall Litchfield
> > Oracle DBA
> > Audit Commission Uk



Mon, 19 Apr 2004 20:37:26 GMT  
 Huge problem with COM+ performace? PART TWO
I have tried both OLEDB Providers (Oracle and Microsoft) :-(.

As I said earlier, I have locks not on database. My clients wait sometimes
up to 3 min (!) to receive an object (CreateObject method)...

Greets,
Adam

-------------------------------------------
Adam Boczek
IT Consultant
GFT Solutions GmbH

-------------------------------------------



Quote:
> I guess the only otrher question I have is what technology you are using
to
> access the database.

> I know that there is a choice of ms and oracle ole-db providers and Oracle
> also provides oo40, but I'm not sure if this can be hosted within MTS.
> --
> Niall Litchfield
> Oracle DBA
> Audit Commission Uk



> > Thanx for hint but I have tried all possibilities (BTW CreateInstance
has
> to
> > be used with "old" MTS).

> > Greets,
> > Adam

> > -------------------------------------------
> > Adam Boczek
> > IT Consultant
> > GFT Solutions GmbH

> > -------------------------------------------





> > > > First of all I'd like to thanx all of you for answers!
> > > <snip>
> > > > 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+.

> > > Try replacing

> > > set a = New MYDLL.....

> > > with

> > > set a = CreateObject("mydll class string")

> > > I believe there was also a reference to a call to
> createinstance(something
> > > or other) but as you can tell I'm ot familiar with that syntax.

> > > --
> > > Niall Litchfield
> > > Oracle DBA
> > > Audit Commission Uk



Mon, 19 Apr 2004 21:02:32 GMT  
 Huge problem with COM+ performace? PART TWO
Hi.

If what you said about awaiting of object is true then I'd try to create an
empty object with ATL that match your object's settings and see if the story
continues.
Simply put I do not trust VB when it cames to distributed computing.

Alexander


Quote:
> I have tried both OLEDB Providers (Oracle and Microsoft) :-(.

> As I said earlier, I have locks not on database. My clients wait sometimes
> up to 3 min (!) to receive an object (CreateObject method)...

> Greets,
> Adam

> -------------------------------------------
> Adam Boczek
> IT Consultant
> GFT Solutions GmbH

> -------------------------------------------



> > I guess the only otrher question I have is what technology you are using
> to
> > access the database.

> > I know that there is a choice of ms and oracle ole-db providers and
Oracle
> > also provides oo40, but I'm not sure if this can be hosted within MTS.
> > --
> > Niall Litchfield
> > Oracle DBA
> > Audit Commission Uk



> > > Thanx for hint but I have tried all possibilities (BTW CreateInstance
> has
> > to
> > > be used with "old" MTS).

> > > Greets,
> > > Adam

> > > -------------------------------------------
> > > Adam Boczek
> > > IT Consultant
> > > GFT Solutions GmbH

> > > -------------------------------------------




message

> > > > > First of all I'd like to thanx all of you for answers!
> > > > <snip>
> > > > > 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+.

> > > > Try replacing

> > > > set a = New MYDLL.....

> > > > with

> > > > set a = CreateObject("mydll class string")

> > > > I believe there was also a reference to a call to
> > createinstance(something
> > > > or other) but as you can tell I'm ot familiar with that syntax.

> > > > --
> > > > Niall Litchfield
> > > > Oracle DBA
> > > > Audit Commission Uk



Mon, 19 Apr 2004 23:29:17 GMT  
 Huge problem with COM+ performace? PART TWO
Hi Adam,

This was an interesting problem! I'm sure you would rather call it
irritating!

A few questions:
- What happens if you let your second COM+ application be a library
application? Same effect as with two server applications?

- Have you tried to minimize your code so that it doesn't really do
anything? I mean, comment out stuff until everything works as expected.

- You don't happen to do anything in activate or initialize for the object
that takes time to instantiate?

Best Regards,
Jimmy
###


Quote:
> 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

> -------------------------------------------


Newsbeitrag

> > 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.



Tue, 20 Apr 2004 04:10:19 GMT  
 Huge problem with COM+ performace? PART TWO
No, it doesn't. ObjectContext.CreateInstance is still valid,
though antiquated.

Michael D. Long


Quote:
> Thanx for hint but I have tried all possibilities (BTW CreateInstance has
to
> be used with "old" MTS).



Wed, 21 Apr 2004 01:10:16 GMT  
 Huge problem with COM+ performace? PART TWO
VB is perfectly adequate for 98% of all n-tier projects, unless
it is placed in the hands of the incompetent. In fact, it is easier
and more efficient to produce MTS (COM+) objects in VB than
in either VC++ or Delphi.

For the other 2% of the cases (where you truly need pooled
objects) VC++ is the better choice.

He'd be better off paying someone to perform a code review
and cleanup than wasting time on a technique that would require
re-implementing the objects.

Michael D. Long


Quote:
> Hi.

> If what you said about awaiting of object is true then I'd try to create
an
> empty object with ATL that match your object's settings and see if the
story
> continues.
> Simply put I do not trust VB when it cames to distributed computing.



Wed, 21 Apr 2004 01:15:56 GMT  
 Huge problem with COM+ performace? PART TWO
Have you solved your problem. If so how.

Regards

Trevor Benedict R
Software Engineer
Mascot Malaysia Sdn Bhd

| 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

| -------------------------------------------
|


| > 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.
|
|
|
|
|



Wed, 21 Apr 2004 18:36:07 GMT  
 
 [ 15 post ] 

 Relevant Pages 

1. Huge problem with COM+ performace? PART TWO

2. Huge problem with COM+ performace?

3. Huge problem with COM+ performace?

4. Huge problem with COM+ performace? PART 3 - Can anyone give me explanation?

5. Huge problem with COM+ performace? PART 3 - Can anyone give me explanation?

6. Problems Using ADO Command. Part Two

7. Huge arrays - the saga Part III

8. Performace Problem

9. Two Questions, Part 1 Loop

10. Newbie at Databases part two

11. Parsing a two part string

12. Hope you can help Part Two

 

 
Powered by phpBB® Forum Software