cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with number of connections to RFC

Former Member
0 Kudos

Hi Experts,

I have created an application that fetches data through an RFC while loading the iview.

So when user opens application, its loading data properly.

But this works only for 6 users at a time now.

when i opens 7th user, model connection is not working.

I checked JCO config... and its given below for RFC model data and meta data.

Maximum Pool Size:5

Maximum Connections:10

Connection Timeout (msec.):10,0000

Maximum Waiting Time (msec.):30,0000

Actually i want to give access to 500 users at a time. Kindly let me know what are all the values i should give in above configuration for 500 users.

I sow few forums but its not clear for me.

Thanks,

John

Accepted Solutions (0)

Answers (3)

Answers (3)

gautam_singh
Participant
0 Kudos

Hi John,

As mentioned by Arun in his solution, this has to be taken in consideration during development of Application. Additionally, since you are fetching data from backend system (herein ABAP System), There is always a limit to the number of concurrent connections which can be opened on the ABAP server (gateway).

Therefore, I would suggest you to go through the following links to understand the Efficient Use of JCo Connections

1.

2. SAP Note# 1507034

I hope this will help you.

Thanks

Gautam Singh

p330068
Active Contributor
0 Kudos

Dear John,

Please refer to Web Dynpro Best Practices: [How to Configure the JCo Destination Settings|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3103eb90-0201-0010-71af-be6f4a6f61d1?QuickLink=index&overridelayout=true]

Also please make sure that you use the invaidate method just after execute method and close the connection in finally block like:-


<RFC Node>   <RFC Object>= new <RFC Node>(WDModelScopeType.APPLICATION_SCOPE);
wdContext.node<RFC Node>().bind(<RFC Object>);

try
{	
    <RFC Object>.execute();			
    wdContext.node<Output Node>().invalidate();						
}catch(Exception ex){
    // Log message here
}finally{
    wdContext.current<RFC Node>Element().modelObject().modelInstance().disconnectIfAlive();
}

Hope it will helps

Best Regards

Arun Jaiswal

Former Member
0 Kudos

Hi John,

You need to maintain the value in Maximum Connections ... before you change the value for this, you need to be aware of the number of concurrent users for the application. This will help you deciding a number.

Please refer to SAP help document for more details - http://help.sap.com/saphelp_nw04/helpdata/en/3a/3b1b40fcdd8f5ce10000000a155106/frameset.htm

Also you could ask the developers to check the web dynpro code to make sure that are not making unnecessary backend calls.

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/604ddc2f-ec9c-2b10-1682-be37e1c62dee

The above link would help WD Java code optimization.

Regards,

Mahesh