cancel
Showing results for 
Search instead for 
Did you mean: 

RFC(?) on first Application call low performance

Former Member
0 Kudos

Hello All,

I've got a problem with a JCO connection. I have a WD application, that connects via aRFC to an R/3 system. When I open this application, it takes about 20 seconds, until I get the first screen. When pressing reload, it takes just about 1 or 2 seconds. Well, I thought, this could be the initialisation of the connections to the R/3 system. So I closed all the connection from the application server via SM04 on the R/3 system. But again, it takes just 1 or 2 seconds until the connections are established and the application is shown, when reloading the application. So I assume, the connections aren't the reason for the long waiting time at initial application start.

I don't think, it's J2EE compilation time, because the server isn't restartet over night, but the first time I open the application on the next day, it takes again 20 seconds.

The application runs on the same WAS as the enterprise portal. Even if I first log in to the Portal and after this open the appliation (in the same browser window without logging off), the first time it takes 20 seconds. So it shouldn't hava to do anything with the login.

I'm using 5 Models in this applications with TASK_Scope connections. Defined is a poolsize of 50 and 100 max connections, so this should be enough for me and shouldn't be the problem either. Metadata connections are configured to 1 pool and 5 max.

I've already read different threads, blogs and PDFs like "How to Configure the JCO Destination Settings". But nowhere I got an idea, why the initial start of this application should take so long and how I could find out, what the problem is.

It's NW04 SPS19, R/3: 6.40, SPS19

I hope, anybody here has a clue about this.

Best regards,

Christian Schebesta

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Christian,

One possibility I see here is( I am not sure whether you have checked it or not) runtime analysis of RFC.

Please check that by going to function module(SE37), menu(Function Module->Test->Runtime Analysis)

Regards,

Ganga.

christiansche
Active Participant
0 Kudos

Hi Ganga,

thank you for this Idea. The modules I'm using have runtimes of just some ms. So I assume, thats not the Problem. But thanks for this advice.

best Regards,

Christian

Former Member
0 Kudos

Hi,

have you done a log entry to check how long the RFC call took and cheked it

in the default trace of the visual admin?

The Fast way for testing is to pass the URL Parameter: sap-wd-showInfo

like: http://..../Application?sap-wd-showInfo

this will show you the time the J2EE engine needed on javaside and also on the ABAP side in the Statusbar

You alse can use the codinglike:

long time = System.currentTimeMillis();
wdContext.currentBAPIElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
System.out.println("Milliseconds used: " + (System.currentTimeMillis() - time);

Because I don't think it will have something to do with your RFC. I think it will more have something to do with the caching of your server.

Each time you deploy your application the Server has to restart and delete the old cache files of the application. So the First user taht will access your application has a longer responsetime because all the pages have to be generated and put into the work folder of the J2EE engine. And also it could be that the J2EE engine will release this cache also after some time to save memory.

Regards,

Dennis

christiansche
Active Participant
0 Kudos

Hello Dennis,

Thank you for your answer.

The performance issue occured not after deployment. Well, first call after deployment is slower, 2 or 3 seconds, but not 20 seconds. sap-wd-showInfo shows me on the first time I open the application J2EE: 2139 and Backend: 3145. The second call shows me J2EE: 118 Backend: 832. This should be ok, after deployment. But, I only deploy on the J2EE engine. Why do I have 3 seconds backend time? Every test after this showed me less than a second, until next deployment. Could this be a cache thing on the R/3 System?

Well, we had this 20 seconds several times, but even this morning, I couldn't get an application runtime of more than 5 Seconds. So, how to find the issue if the problem doesn't show up anymore?

Best regards,

Christian Schebesta

Former Member
0 Kudos

Hi,

when it only sometimes occurs, you should maybe try to run it always with the sap-wd-showinfo parameter to verify if it is the backend or the J2EE Engine.

Maybe you have sometimes a slow connection to R3 or the J2EE Server is busy and needs more time to create the pages.

If you would implement some tracing in your application, you could maybe find out which method take the most time.

Regards,

Dennis

Answers (0)