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

how to find the program performance

kishorepallapothula
Participant
0 Likes
2,473

Hi SAP Gurus,

I came to know that we can check the object performance with se30 t.code.

There we can find all the components performance of the system.

My question is !

If the performance is calculate by the request and response time, some times server is in good speed and sometimes in normal speed to execute. If i execute the same program in both the cases, Is there any changes in runtime analsys. If yes how can we find the perfect performance of my object.

Please give me the answer you will be rewarded with points for the best answer.

thanks

kishore

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,887

Hi,

SE30 and ST05 are useful transactions for performance analysis. There is one more way to find out how much time does the program take to execute. You need to code GET TIME FIELD <xyz> in your program.

For eg. If you want to measure the time taken by a loop.

GET TIME FIELD xyz1.

Loop

---

---

Endloop

GET TIME FIELD xyz2.

Difference between xyz1 and xyz2 will give you the actual time.

Regards,

Pratiksha.

As Madhu says run a few times consecutively and take the average. Make sure you summarise data by table and aggregate to get 'useful' information. If you have differerent servers and that is the problem then change your logon pad to not use load sharing but to stick to one server.

7 REPLIES 7
Read only

Former Member
0 Likes
1,887

hi

before executing ur program clear the buffer using ST10. do this before every execution. and analyse the performance using SE30 and ST05 , couple of times. take the avegare of those times. this will give the better understanding of the problem.

regards,

madhu

Read only

Former Member
0 Likes
1,887

Hi,

Execute Tcode ST05 > Turn on SQL trace, then execute the program which you want to analyze. > Turn off trace. > Click on list trace to view the details.

And make use of Run time Analyser SE30.

Regards,

Suresh

Read only

Former Member
0 Likes
1,887

Hi kishore,

ols available in SAP to pin-point a performance problem

The runtime analysis (SE30)

SQL Trace (ST05)

Tips and Tricks tool

The performance database

Optimizing the load of the database

Using table buffering

Using buffered tables improves the performance considerably. Note that in some cases a stament can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:

Select DISTINCT

ORDER BY / GROUP BY / HAVING clause

Any WHERE clasuse that contains a subquery or IS NULL expression

JOIN s

A SELECT... FOR UPDATE

If you wnat to explicitly bypass the bufer, use the BYPASS BUFFER addition to the SELECT clause.

Use the ABAP SORT Clause Instead of ORDER BY

The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The datbase server will usually be the bottleneck, so sometimes it is better to move thje sort from the datsbase server to the application server.

If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT stament to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the datbase server sort it.

Avoid ther SELECT DISTINCT Statement

As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplciate rows.

Rgds,

P.Nag

Read only

Former Member
0 Likes
1,888

Hi,

SE30 and ST05 are useful transactions for performance analysis. There is one more way to find out how much time does the program take to execute. You need to code GET TIME FIELD <xyz> in your program.

For eg. If you want to measure the time taken by a loop.

GET TIME FIELD xyz1.

Loop

---

---

Endloop

GET TIME FIELD xyz2.

Difference between xyz1 and xyz2 will give you the actual time.

Regards,

Pratiksha.

Read only

Former Member
0 Likes
1,887

hi

good

as far as your query is concerned,you need both bother which server is running faster and which server is running flow,the performance of a program never depends upon the fast or slow running of the server.yes due to the slow process of the server the program might run flow but that wont affect your performance.

thanks

mrutyun^

Read only

Former Member
0 Likes
1,887

Hi,

The Program performance will not depends on the server fast or slow, but it may take time to execute if the server is slow but this is not effects for the program performance.

http://www.sap-basis-abap.com/sapta002.htm

Regards

Sudheer

Read only

alison_lloyd
Active Participant
0 Likes
1,887

As Madhu says run a few times consecutively and take the average. Make sure you summarise data by table and aggregate to get 'useful' information. If you have differerent servers and that is the problem then change your logon pad to not use load sharing but to stick to one server.