Skip to Content
author's profile photo Former Member
Former Member

rfc

Ok... One for the best of the best, who seem only to reside here...

I've got an RFC which calls SAP's PRICING function module. I have to get this thing running with sub-second timing. When all possible buffering is done, it actually runs in under 100 milliseconds, which is great. The first time it runs, with no buffering at all, it takes a couple of seconds, which is not so good.

Now, my concerns are:

1) Will an RFC re-load the programs and data every time it is called, by virtue of it being called externally? If so, what can be done to encourage buffering of programs and/or data?

2) For testing purposes, is it possible to globally (within a program) turn off data buffering and/or program buffering? It would be nice to be able to pinpoint the costs in the program, so that we know what to target for performance improvement. Plus, utilizing the same test data repeatedly seems to give unrealistic average performance measurements...

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Dec 22, 2007 at 12:25 PM

    Hi,

    NOT SURE BUT HOPE THIS HELPS,

    One more thought about the buffering...In our system the condition tables are fully buffered and some of them are very large. As a result, occasionally the first call took a remarkable amount of time because the records have to be (re) loaded into the table buffer. Since we run several clients we could solve the issue partly by using generic buffer instead of fully buffered table - also there is a (basis) method to keep a table in the buffer. It is difficult to say if your tests yield a realistic picture of what you might face in production but switching off table buffering will result in very bad performance which is not realisitc either. Condition technique has its benefits in buffering.

    Also keep in mind that this kind of buffering take place on (each)application server and they could be differerent than your test environment (memory configuration, etc.)

    One last thought - if you face such a "initial load" time for the first call you could check if you simply run a report which fills the data again into buffer (simply by accessing the tables in question)..

    cheers,

    chaitanya.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.