cancel
Showing results for 
Search instead for 
Did you mean: 

XI soap performance issue

Former Member
0 Kudos

Hi guys,

I have a performance related question about soap sender:

I have 2 cases:

1. there are 500 requests for 1 oubound interface

2. there are 500 requests for 10 outbound interfaces, every interface has 50 requests

All of the sender adapters are soap sender adapter.

Are there any differences for the XI performance?

Any answers will be very appreciated.

Regards,

Bean

Accepted Solutions (1)

Accepted Solutions (1)

SudhirT
Active Contributor
0 Kudos

Hi,

Comparatively Second choice will be effective with optimal resource usage. For better soap performance plz refer to https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d53af8ca-0801-0010-08b0-dce9e021...

You can increase the no. of max threads, max_connections as the no. of requests in your case is too high. Ask your basis guy to change these settings if required in tcode RZ10 parameters(icm/max_threads,icm/max_conn,icm/keep_alive_timeout(set if you have problem of timeouts))

Thanks!

Edited by: sudhir tiwari on Nov 12, 2008 4:23 AM

Former Member
0 Kudos

Hi all,

My assumptions is that I will not change message size or do any other tunings, my purpose is not to do the performance tuning, just want to compare these 2 approaches.

From your help, it seems that if I use multiple interfaces, more threads will be in usage, but my understanding is:

XI has some allocated threads and will assign to different threads by the requirements, for example, there are 10 threads, if I use only 1 interface, all of the 10 threads will used for the interface if required, if I use 10 interfaces, then the 10 threads will be assigned to the interfaces by the need.

Then what's the difference? why the option 2 is better?

Am i right? Please correct me if necessary.

Regards,

Bean

Former Member
0 Kudos

Hi

XI has some allocated threads and will assign to different threads by the requirements, for example, there are 10 threads, if I use only 1 interface, all of the 10 threads will used for the interface if required, if I use 10 interfaces, then the 10 threads will be assigned to the interfaces by the need.

Small correction Xi is not having some theads allocated. It is like one interface that is having mapping program, Design objects and configuration objects which will run when executing the interface. Now if you configure more channels.this will allow triggering of multiple threads of same programs and process parallely. Memory is divided between various threads so it performed better. If failure occur it effects only that thread and others are not effected. Now if you have single interface single thread running will be loaded.

Now come to some general example. Did you use Google Crome. It is faster than other equivalent tools the reason is its create individual process for executing for each window..............

Hope this helps

Thanks

Gaurav

Former Member
0 Kudos

Hi

XI has some allocated threads and will assign to different threads by the requirements, for example, there are 10 threads, if I use only 1 interface, all of the 10 threads will used for the interface if required, if I use 10 interfaces, then the 10 threads will be assigned to the interfaces by the need.

Small correction Xi is not having some theads allocated. It is like one interface that is having mapping program, Design objects and configuration objects which will run when executing the interface. Now if you configure more channels.this will allow triggering of multiple threads of same programs and process parallely. Memory is divided between various threads so it performed better. If failure occur it effects only that thread and others are not effected. Now if you have single interface single thread running will be loaded.

Now come to some general example. Did you use Google Crome. It is faster than other equivalent tools the reason is its create individual process for executing for each window..............

Hope this helps

Thanks

Gaurav

Hi Gauray,

Thanks so much for your kind help, I can understand your points, could you please give me some document links for this?

Why I raise this question is that there are several applications in my system landscape, I can design a common interface in XI which may reduce our development effort, otherwise I need to design different interfaces and configuration objects for them, I need a balance between performance and development effort, what's your opinion? Does the common design influence the performance definitely?

Regards,

Bean

Former Member
0 Kudos

Now if you configure more channels.this will allow triggering of multiple threads of same programs and process parallely. Memory is divided between various threads so it performed better. If failure occur it effects only that thread and others are not effected. Now if you have single interface single thread running will be loaded.

Hi Gaurav,

Another question:

As the soap adapter has the ability to handle parallel messages, how many threads it will trigger when multiple requests come to XI? Enough threads if required or only 1 thread?

If the latter one:

1. does that mean there are only 1 thread for option 1 and 10 threads for option 2?

2. how could soap adapter process parallel messages with only 1 thread?

Regards,

Bean

Former Member
0 Kudos

Hi

I need to design different interfaces and configuration objects for them, I need a balance between performance and development effort, what's your opinion? Does the common design influence the performance definitely?

Now considering this definately we have to consider load on interface. Now take an example you need to integrate system A with System B, C, D

Method1.

System A -> System B

System C

System D

Method 2

System A - System (BCD) common.

Development is less in Method 2

Advantage

- Reusablilty, Robust

- Less development and maintanence cost

Disadvantage

- Error in this effects all

- Load increase for any system effects all

- Modifications require testing to all

These are some minor points i can jot down

Thanks

Gaurav

Former Member
0 Kudos

Hi

1. does that mean there are only 1 thread for option 1 and 10 threads for option 2?

Yes

2. how could soap adapter process parallel messages with only 1 thread?

Works in Queue one by one.

Thanks

Gaurav

Former Member
0 Kudos

Hi Gaurav,

Thanks so much, some points for your kind help.

Regards,

Bean

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

The 2nd case will have better performance and less prone to messages stuck in queue

Thumb rule is more threads you have dealing with average message size better performance you will get on PI system

Refer this

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2016a0b1-1780-2b10-97bd-be3ac622...

Thanks

Gaurav

Former Member
0 Kudos

Hi

The 2nd case will have better performance and less prone to messages stuck in queue

Thumb rule is more threads you have dealing with average message size better performance you will get on PI system

Refer this

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2016a0b1-1780-2b10-97bd-be3ac622...

Thanks

Gaurav

Hi Gaurva,

Thanks so much for your kind help.

I forgot to tell you the assumptions:

1. Every interface is synchronous interface, no queue is involved.

2. Both of the 500 requests in 2 cases are parallel, which means the XI receives the 500 requests at the same time

Are there any differences?

Regards,

Bean

Former Member
0 Kudos

HI

Then too multiple threads will perform better than using a single thread to do the task. Still case 2 is better.

Go through the document i provided it will help you understand the perfomance and sizing for not even this but other interfaces as well in your landscape

Thanks

Gaurav