Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Performance Tuning

Former Member
0 Likes
1,236

Hi Experts,

When i am executing my program through SE30 for Performance Tuning .Then its showing one bar chart with the following %..

ABAP -


97%

Database----


0.8%

R/3 Systen -


2.2%

So my question is , is it ok with Performance Tuning or do i need to reduce the % for ABAP also?

And if yes can any body tell me for what type of Performance is catch by the ABAP.

Thanks in Advance .

Satya

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,206

Hi,

Let me try and help you .

ABAP : The problem in higher ABAP time is that the program will dump !! Every system has a time constraint on how much time should a program execute before it terminates processing. If the ABAP time goes beyond that time then the only other option to run the ABAP program would be in background because in foreground it will dump.

Database: Database is critical for a system since everybody tries to access Data. If the time in Database increases then resources will not be available for other people which will cause Database to be less available for other users which is also a big issue.

I would say that generally the time should be ABAP : 50 % and Database 50%.

In case where there is only 1 Select query and you are trying to do lot of calculation on the data that is taken , in that scenario it's OK . You should remember to use the best performance guidelines to write a SELECT query .

You can also search this forum for "Performance Tuning' to find lot of threads on that with helpful tips.

Hope you got some understanding.

Regards

Nishant

10 REPLIES 10
Read only

Former Member
0 Likes
1,207

Hi,

Let me try and help you .

ABAP : The problem in higher ABAP time is that the program will dump !! Every system has a time constraint on how much time should a program execute before it terminates processing. If the ABAP time goes beyond that time then the only other option to run the ABAP program would be in background because in foreground it will dump.

Database: Database is critical for a system since everybody tries to access Data. If the time in Database increases then resources will not be available for other people which will cause Database to be less available for other users which is also a big issue.

I would say that generally the time should be ABAP : 50 % and Database 50%.

In case where there is only 1 Select query and you are trying to do lot of calculation on the data that is taken , in that scenario it's OK . You should remember to use the best performance guidelines to write a SELECT query .

You can also search this forum for "Performance Tuning' to find lot of threads on that with helpful tips.

Hope you got some understanding.

Regards

Nishant

Read only

0 Likes
1,206

Thanks Nishant,

I got the idea .But a have 5 program for which the ABAP is always showing more than 90% . So can u please tell me what i have to do ?

And why we are using the txcode ST05.

Thanks ,

Satya

Read only

0 Likes
1,206

Hi,

If the SELECT Queries are OK then no need to worry

ST05 : SQL Trace

This is used to understand what SQL statements are executed and what parameters are used. This will tell you about Database operation of the program.

You can search for ST05 in this forum since i am having less time. In case you are not able ti find I'll send you that info

Regards

Nishant

Read only

0 Likes
1,206

Thanks a lot .....

Read only

Former Member
0 Likes
1,206

In this case, your problem is likely with nested LOOPs.

Rob

Read only

Former Member
0 Likes
1,206

> I would say that generally the time should be ABAP : 50 % and Database 50%.

NO!

There are lots of programs which a perfectly o.k., which have 100% ABAP, and just no DB. The only general thing about percenatges is, they always add up 100%, everything else depends on the case.

Performance tuning is about the total time in the SE30, not the percentages!

And you must know, whether your program has database load, or no database load. A good application program should have 10% to 30% DB, i.e. it reads fast and does something with the data. But more important, it has a low total time.

Siegfried

Read only

0 Likes
1,206

> > I would say that generally the time should be ABAP

> : 50 % and Database 50%.

> NO!

>

> There are lots of programs which a perfectly o.k.,

> which have 100% ABAP, and just no DB. The only

> general thing about percenatges is, they always add

> up 100%, everything else depends on the case.

>

> Performance tuning is about the total time in the

> SE30, not the percentages!

>

<b>

> And you must know, whether your program has database

> load, or no database load. A good application program

> should have 10% to 30% DB, i.e. it reads fast and

> does something with the data. But more important, it

> has a low total time.

>

</b> And You are RIGHT!!

On what basis?

Read the post properly.

And on top of that this is my observation all these years and to have a balance this is good pointer.

And my friend if your ABAP time is more just because you are fetching data and then trying to play around while you couls have increased some load on DB you should do that since for online programs their is a limit on execution time which is more relevant for interactive reporting.

- Nishant

Read only

Former Member
0 Likes
1,206

Hi

if the load is on DB then it will be very bad

Tools for Performance Analysis

Run time analysis transaction SE30

SQL Trace transaction ST05

Extended Program Check (SLIN)

Code Inspector ( SCI)

Run time analysis transaction SE30

In Transaction SE30, fill in the transaction name or the program name which needs to be analyzed for performance tuning.

For our case, let this be “ZABAP_PERF_TUNING”

After giving the required inputs to the program, execute it. After the final output list has been displayed, PRESS the “BACK” button.

On the original SE30 screen, now click on “ANALYZE” button.

The percentage across each of the areas ABAP/ Database/System shows the percentage of total time used for those areas and load on these areas while running the program . The lesser the database load faster the program runs.

SQL Trace – ST05

Starting the Trace:

To analyze a trace file, do the following:

...

Choose the menu path Test &#61614; Performance Trace in the ABAP Workbench or go to Transaction ST05. The initial screen of the test tool appears. In the lower part of the screen, the status of the Performance Trace is displayed. This provides you with information as to whether any of the Performance Traces are switched on and the users for which they are enabled. It also tells you which user has switched the trace on.

Using the selection buttons provided, set which trace functions you wish to have switched on (SWL trace, enqueue trace, RFC trace, table buffer trace).

If you want to switch on the trace under your user name, choose Trace on. If you want to pass on values for one or several filter criteria, choose Trace with Filter. Typical filter criteria are: the name of the user, transaction name, process name, and program name.

Now run the program to be analyzed.

Stopping the Trace:

To deactivate the trace:

...

Choose Test &#61614;Performance Trace in the ABAP Workbench. The initial screen of the test tool appears. It contains a status line displaying the traces that are active, the users for whom they are active, and the user who activated them.

Select the trace functions that you want to switch off.

Choose Deactivate Trace. If you started the trace yourself, you can now switch it off immediately. If the performance trace was started by a different user, a confirmation prompt appears before deactivation-

Analyzing a Sample trace data:

PREPARE: Prepares the OPEN statement for use and determines the access method.

OPEN: Opens the cursor and specifies the selection result by filling the selection fields with concrete values.

FETCH: Moves the cursor through the dataset created by the OPEN operation. The array size displayed beside the fetch data means that the system can transfer a maximum package size of 392 records at one time into the buffered area.

Extended Program Check

Code Inspector ( SCI)

for the above 2 u can directly exectute your program and you will find all the errors and warnings

try to make all the points as zero then the performance will be very good

reward if usefull

Read only

Former Member
0 Likes
1,206

again, there is more confusion than help:

Add the total time of your measurement and tell in a few words what the program does.

Anything else here is pure guessing and of no help.

Read only

Former Member
0 Likes
1,206

OK my problem is solved.

Thanks to all for there kind suggestion.