DB analysis for performance
I have been assigned DB analysis for performance/problem detection. What things i should look in statspack report , & what other things i should check for over all analysis.
From statsPack you can look for
Top 5 wait events
wait event section
Redo log activity
db file scattered read (I/O)
sql parse, execution times.
huge number of execution of same sql in a short duration
On a Broader Level look for
Application transaction volumes, response times
database statistics
Operating system statistics
I/O
Network
Excessive CPU usage
Physical I/O
Non-Oracle Processes
Oracle Processes
Oracle CPU Statistics
Resource bottlenecks on the client process
usage of dblinks for network bottleneck
Use OS tools like -- sar, top, prstat, vmstat, etc...
Use Oracle tools like -- TK Prof, SQL Trace, EM Diagnostic Pack, Stats Pack.
Similar Messages
-
Analysis for Office as Citrix Add-in - Performance measure
Hi experts,
could you suggest me some tool to measure the performance of Analysis for Office used as Citrix Add-in?
Thank you very much.
Best Regards
AndreaThank you Diego.
I would to do a stress test, with different session concurrently, of Analysis Add-in in Citrix and measure the memory and cpu consumed.
So i need something that permit to :
1) simulate concurrent use of Analysis Add-in
2) measure the performance and resource used during this test
To avoid risk when the more than 100 people using concurrently Analysis add-in and occur CPU or memory issue.
I find some tools that permit to do this analysis, for example: Citrix Edgesight, but i would know if someone have done these analysis before to release to Analysis for Office as Citrix Add-in.
Regards.
Andrea -
Performance analysis for oracle database on weblogic 10.3 version
Hi All,
We are migrating our servers from windows to Linux.In the process we have weblogic 8.1 version being upgraded to weblogic 10.3.
How could i analysis the performance of the Oracle 10g on weblogic 10.3.
Do we have any predefined test scripts in place to perform the necessary anaylsis.
Thanks in anticipation.
PavanWe do not provide any test scripts. As you can be sure, each WLP deployment is unique to the customer environment and business problems that are being solved. Having generic test scripts would not reflect this.
However, you might wish to read the following documentation which discusses database performance with regard to WLP.
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/db/db_architecture.html#wp1069661
Brad -
Performance analysis for custom BADI in SAP BPC
Hi,
How to do the run time analysis for custom badi in SAP BW for optimization, please guide me. if some one know the procedure which part of code take more time for execution.
Regards
Vimal RajHello Vimal.
Please have more info here.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70187b3e-d5ce-2d10-d780-bb8b1a5b0bdc?QuickLink=index&overridelayout=true&49533857874839
Regards-Ashok -
Result analysis for sub-items on SD-order
Hello,
I would like to know, whether also the document flow for subitems is being checked while executing result analysis.
Example:
We have got an SD order, a higher-level item and a sub-item.
Both of them have assigned the same result analysis key. Within this key it is defined in customizing (OKG3), that the Sales Order Structure is A-"Summarize Plan and Actual Data of Subitems on Highest Item"....so the result analysis for the sub-item is being performg via the higher-level item.
The higher-level positions is already completed - the delivery is made and also the invoice is created.
The sub-item is not completed - neighter delivery is made nor the invoice.
While executing the result analysis for the higher-level item, the status FNBL (final billing) is recognized and all cost are settled from WIP to CO-PA.
As far as I know, the document flow should be checked withitn the result analysis and based on this the status should be recognized.
Therefore It seems, that only the document flow from the higher-level item is being checked. If also the document flow from the sub-item is checked, there would be no way to get the status FNBL as the sub-item is not complete.
Is it SAP standard delivered behaviour?
Thanks in advance
PeterThanks Waman,
I have tried to delete the result analysis key from the sub-item, but still the same result in result analysis...
Could you tell my the consequences from the 1A setup from the note? It is adviced withitn the note to not use the 1A setup. But we use this and it works fine. Just some messages during the result analysis, that it could not be performed for sub-items, but this has no influence on the values.
Regards
Peter
Edited by: Peter Jankech on Jun 9, 2010 8:57 AM -
Analysis for Office support multi thread?
Does Analysis for Office support multi thread/core? If so, what verison? I tried searching around this site as well as note 1466118 - Hardware & Software requirements for Analysis, edition for MS Office but was unable to find an answer.
I am on an Intel dual cpu with hyper threading turned on so it essentially looks like 4 cores. When I execute an Analysis View, I rarely see the EXCEL.EXE process go above 25% CPU utilization. I have plenty of RAM and hard drive space.
64bit Windows 7
32bit Office 2010
AAO 1.3.5.2288
ThanksI found the following info at:
Excel 2010 Performance: Performance and Limit Improvements
Large Data Sets and 64-bit Excel
The 64-bit version of Excel 2010 is not constrained to 2 GB of RAM like 32-bit applications. Therefore, 64-bit Excel 2010 enables users to create much larger workbooks. 64-bit Windows enables a larger addressable memory capacity, and 64-bit Excel is designed to take advantage of that capacity. For example, users are able to fill more of the grid with data than was possible in previous versions of Excel. As more RAM is added to the computer, Excel uses that additional memory, allows larger and larger workbooks, and scales with the amount of RAM available.
In addition, because 64-bit Excel enables larger data sets, both 32-bit and 64-bit Excel 2010 introduce improvements to common large data set tasks such as entering and filling down data, sorting, filtering, and copying and pasting data. Memory usage is also optimized to be more efficient, in both the 32-bit and 64-bit versions of Excel.
Multi-Core Processing
Additional investments were made to take advantage of multi-core processors and increase performance for routine tasks. Starting in Excel 2010, the following features use multi-core processors: saving a file, opening a file, refreshing a PivotTable (for external data sources, except OLAP and SharePoint), sorting a cell table, sorting a PivotTable, and auto-sizing a column.
For operations that involve reading and loading or writing data, such as opening a file, saving a file or refreshing data, splitting the operation into two processes increases performance speed. The first process gets the data, and the second process loads the data into the appropriate structure in memory or writes the data to a file. In this way, as soon as the first process beings reading a portion of data, the second process can immediately start loading or writing that data, while the first process continues to read the next portion of data. Previously, the first process had to finish reading all the data in a certain section before the second process could load that section of the data into memory or write the data to a file. -
A question about ABC analysis for Cycle counting
Hello expert,
What is RMCBIN00 used for? Currently, user asked me if we can copy RMCBIN00 and perform ABC analysis by quantity? I have no knowledge about it. Can any expert give some clue?
Thanks in advance,
Best Regards, JohnnyHi
RMCBIN00 is a standard ABAP report available within your SAP system (depending on your version and release level). Below is the standard documentation available for this report and a few details of other objects it interacts with such as tables, function modules, includes etc. If you would like to see the full code listing simply enter the object name( RMCBIN00 ) into the relevant SAP transaction such as SE38 or SE80
RMCBIN00 - ABC Analysis of Cycle Counting (Physical Inventory)
PURPOSE
This report runs an analysis for the chosen material types in the cycle counting method of physical inventory.
FEATURES
The analysis takes into account the consumption (usage) or the requirements values of the selected materials for the desired time period. You can decide whether you want to analyze:
Only materials that have a cycle counting indicator
All materials; that is, including materials that have no cycle counting indicator.
Regards
Anand -
ABC analysis for Cycle Counting.
Hi SAP gurus,
I am facing a problem from the user. While doing the ABC analysis for cycle counting using the Transaction MIBC, he is getting an error " table T159c is not maintained for plant XXXX". when i checked it SPRO cycle counting is not done for that particular plant.
My question is : Where do we maintainc CC Physical inv indicator ? I have checked at material level in Gen.Plant/Sloc view, it is not maintained . so may be they have maintained at Plant level. where do we maintain at plant level.?Hi
1) Maintain the Percentages against A,B,C,D cycle counting indicators in OMCO
2) Perform MICN to schedlue the batch input session for Creation of physical Inventory documents
3) MIBC-For ABC analysis for Cycle counting .
Note : the percentages maintained in OMCO will decide on the classification of the material as to when the Physical inventory needs to be done based on either the consumtion values/Requirement values
Regards
Sandeep -
Hi,
Need some help on how to find the Runtime Analysis for a method in Class, as i am getting some performance issues with the statements in the method.
Please let me know ASAP about this Runtime Analysis for a method in a classIn Runtime analysis Look for
ABAP - In your ABAP code
DATABASE - It shows the performance of your SELECT statements in your program.
Just check how much % it is showing for both.
Check for following in your code.
1) Avoid SELECT *
2) Clear internal tables values which are not required at the ending of program, as it saves memory
etc. -
Risk Analysis for Third party ERP system
We want to perform offline risk analysis for third party ERP(SRM) system.... We have already GRC system installed with Global rule set for SAP ERP & want to have another ruleset for offline risk analysis.
Just would like to have a confirmation for below steps & estimated time for this.
Activities Need to be performed from Our side(Client) :-
1) Send the RAR format for Users/Roles/Actions & Permissions.
2) Cross Verify the format.
3) Create the connector for stored files.
4) Upload the files via Data Extraction utility.
5) Generate the ruleset for SRM(third party).
6) Schedule the various background jobs.
Activities Need to be Performed from Third Party - HUBWOO(Owns SRM ERP system) :-
1) Convert users/action/roles and permissions files to RAR format.
Activities need to be Performed from SAP :-
1) Provide the ruleset for HUBWOO SRM system.
Please let me know if I missed any step above & estimated time to complete from our end & did anyone has come across ruleset for HUBWOO system..?
Thanks in Advance!!Thanks all for your reply,
Alpesh, but still I have small concern here, when SAP provide the ruleset files, it also provides for Oracle, People soft & JDE ERP.
Though these are also third party ERP's for SAP...?
Does it mean that we can'task for ruleset for other third party ERP from SAP...? or does SAP Charge something for it..?
Thanks -
Can anyone plz tell me the steps for performance tuning.
hello friends
what is performance tuning?
can anyone plz tell me the steps for performance tuning.Hi Kishore, this will help u.
Following are the different tools provided by SAP for performance analysis of an ABAP object
Run time analysis transaction SE30
This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
SQL Trace transaction ST05
The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
Need for performance tuning
In this world of SAP programming, ABAP is the universal language. In most of the projects, the focus is on getting a team of ABAP programmers as soon as possible, handing over the technical specifications to them and asking them to churn out the ABAP programs within the given deadlines.
Often due to this pressure of schedules and deliveries, the main focus of making a efficient program takes a back seat. An efficient ABAP program is one which delivers the required output to the user in a finite time as per the complexity of the program, rather than hearing the comment I put the program to run, have my lunch and come back to check the results.
Leaving aside the hyperbole, a performance optimized ABAP program saves the time of the end user, thus increasing the productivity of the user, and in turn keeping the user and the management happy.
This tutorial focuses on presenting various performance tuning tips and tricks to make the ABAP programs efficient in doing their work. This tutorial also assumes that the reader is well versed in all the concepts and syntax of ABAP programming.
Use of selection criteria
Instead of selecting all the data and doing the processing during the selection, it is advisable to restrict the data to the selection criteria itself, rather than filtering it out using the ABAP code.
Not recommended
Select * from zflight.
Check : zflight-airln = LF and zflight-fligh = BW222.
Endselect.
Recommended
Select * from zflight where airln = LF and fligh = 222.
Endselect.
One more point to be noted here is of the select *. Often this is a lazy coding practice. When a programmer gives select * even if one or two fields are to be selected, this can significantly slow the program and put unnecessary load on the entire system. When the application server sends this request to the database server, and the database server has to pass on the entire structure for each row back to the application server. This consumes both CPU and networking resources, especially for large structures.
Thus it is advisable to select only those fields that are needed, so that the database server passes only a small amount of data back.
Also it is advisable to avoid selecting the data fields into local variables as this also puts unnecessary load on the server. Instead attempt must be made to select the fields into an internal table.
Use of aggregate functions
Use the already provided aggregate functions, instead of finding out the minimum/maximum values using ABAP code.
Not recommended
Maxnu = 0.
Select * from zflight where airln = LF and cntry = IN.
Check zflight-fligh > maxnu.
Maxnu = zflight-fligh.
Endselect.
Recommended
Select max( fligh ) from zflight into maxnu where airln = LF and cntry = IN.
The other aggregate functions that can be used are min (to find the minimum value), avg (to find the average of a Data interval), sum (to add up a data interval) and count (counting the lines in a data selection).
Use of Views instead of base tables
Many times ABAP programmers deal with base tables and nested selects. Instead it is always advisable to see whether there is any view provided by SAP on those base tables, so that the data can be filtered out directly, rather than specially coding for it.
Not recommended
Select * from zcntry where cntry like IN%.
Select single * from zflight where cntry = zcntry-cntry and airln = LF.
Endselect.
Recommended
Select * from zcnfl where cntry like IN% and airln = LF.
Endselect.
Check this links
http://www.sapdevelopment.co.uk/perform/performhome.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/afbad390-0201-0010-daa4-9ef0168d41b6
kindly reward if found helpful.
cheers,
Hema. -
Can anyone send tutor for performance tuning?
can anyone send tutor for performance tuning?I like to chk my coding.
1. Unused/Dead code
Avoid leaving unused code in the program. Either comment out or delete the unused situation. Use program --> check --> extended program to check for the variables, which are not used statically.
2. Subroutine Usage
For good modularization, the decision of whether or not to execute a subroutine should be made before the subroutine is called. For example:
This is better:
IF f1 NE 0.
PERFORM sub1.
ENDIF.
FORM sub1.
ENDFORM.
Than this:
PERFORM sub1.
FORM sub1.
IF f1 NE 0.
ENDIF.
ENDFORM.
3. Usage of IF statements
When coding IF tests, nest the testing conditions so that the outer conditions are those which are most likely to fail. For logical expressions with AND , place the mostly likely false first and for the OR, place the mostly likely true first.
Example - nested IF's:
IF (least likely to be true).
IF (less likely to be true).
IF (most likely to be true).
ENDIF.
ENDIF.
ENDIF.
Example - IF...ELSEIF...ENDIF :
IF (most likely to be true).
ELSEIF (less likely to be true).
ELSEIF (least likely to be true).
ENDIF.
Example - AND:
IF (least likely to be true) AND
(most likely to be true).
ENDIF.
Example - OR:
IF (most likely to be true) OR
(least likely to be true).
4. CASE vs. nested Ifs
When testing fields "equal to" something, one can use either the nested IF or the CASE statement. The CASE is better for two reasons. It is easier to read and after about five nested IFs the performance of the CASE is more efficient.
5. MOVE statements
When records a and b have the exact same structure, it is more efficient to MOVE a TO b than to MOVE-CORRESPONDING a TO b.
MOVE BSEG TO *BSEG.
is better than
MOVE-CORRESPONDING BSEG TO *BSEG.
6. SELECT and SELECT SINGLE
When using the SELECT statement, study the key and always provide as much of the left-most part of the key as possible. If the entire key can be qualified, code a SELECT SINGLE not just a SELECT. If you are only interested in the first row or there is only one row to be returned, using SELECT SINGLE can increase performance by up to three times.
7. Small internal tables vs. complete internal tables
In general it is better to minimize the number of fields declared in an internal table. While it may be convenient to declare an internal table using the LIKE command, in most cases, programs will not use all fields in the SAP standard table.
For example:
Instead of this:
data: t_mara like mara occurs 0 with header line.
Use this:
data: begin of t_mara occurs 0,
matnr like mara-matnr,
end of t_mara.
8. Row-level processing and SELECT SINGLE
Similar to the processing of a SELECT-ENDSELECT loop, when calling multiple SELECT-SINGLE commands on a non-buffered table (check Data Dictionary -> Technical Info), you should do the following to improve performance:
o Use the SELECT into <itab> to buffer the necessary rows in an internal table, then
o sort the rows by the key fields, then
o use a READ TABLE WITH KEY ... BINARY SEARCH in place of the SELECT SINGLE command. Note that this only make sense when the table you are buffering is not too large (this decision must be made on a case by case basis).
9. READing single records of internal tables
When reading a single record in an internal table, the READ TABLE WITH KEY is not a direct READ. This means that if the data is not sorted according to the key, the system must sequentially read the table. Therefore, you should:
o SORT the table
o use READ TABLE WITH KEY BINARY SEARCH for better performance.
10. SORTing internal tables
When SORTing internal tables, specify the fields to SORTed.
SORT ITAB BY FLD1 FLD2.
is more efficient than
SORT ITAB.
11. Number of entries in an internal table
To find out how many entries are in an internal table use DESCRIBE.
DESCRIBE TABLE ITAB LINES CNTLNS.
is more efficient than
LOOP AT ITAB.
CNTLNS = CNTLNS + 1.
ENDLOOP.
12. Performance diagnosis
To diagnose performance problems, it is recommended to use the SAP transaction SE30, ABAP/4 Runtime Analysis. The utility allows statistical analysis of transactions and programs.
13. Nested SELECTs versus table views
Since releASE 4.0, OPEN SQL allows both inner and outer table joins. A nested SELECT loop may be used to accomplish the same concept. However, the performance of nested SELECT loops is very poor in comparison to a join. Hence, to improve performance by a factor of 25x and reduce network load, you should either create a view in the data dictionary then use this view to select data, or code the select using a join.
14. If nested SELECTs must be used
As mentioned previously, performance can be dramatically improved by using views instead of nested SELECTs, however, if this is not possible, then the following example of using an internal table in a nested SELECT can also improve performance by a factor of 5x:
Use this:
form select_good.
data: t_vbak like vbak occurs 0 with header line.
data: t_vbap like vbap occurs 0 with header line.
select * from vbak into table t_vbak up to 200 rows.
select * from vbap
for all entries in t_vbak
where vbeln = t_vbak-vbeln.
endselect.
endform.
Instead of this:
form select_bad.
select * from vbak up to 200 rows.
select * from vbap where vbeln = vbak-vbeln.
endselect.
endselect.
endform.
Although using "SELECT...FOR ALL ENTRIES IN..." is generally very fast, you should be aware of the three pitfalls of using it:
Firstly, SAP automatically removes any duplicates from the rest of the retrieved records. Therefore, if you wish to ensure that no qualifying records are discarded, the field list of the inner SELECT must be designed to ensure the retrieved records will contain no duplicates (normally, this would mean including in the list of retrieved fields all of those fields that comprise that table's primary key).
Secondly, if you were able to code "SELECT ... FROM <database table> FOR ALL ENTRIES IN TABLE <itab>" and the internal table <itab> is empty, then all rows from <database table> will be retrieved.
Thirdly, if the internal table supplying the selection criteria (i.e. internal table <itab> in the example "...FOR ALL ENTRIES IN TABLE <itab> ") contains a large number of entries, performance degradation may occur.
15. SELECT * versus SELECTing individual fields
In general, use a SELECT statement specifying a list of fields instead of a SELECT * to reduce network traffic and improve performance. For tables with only a few fields the improvements may be minor, but many SAP tables contain more than 50 fields when the program needs only a few. In the latter case, the performace gains can be substantial. For example:
Use:
select vbeln auart vbtyp from table vbak
into (vbak-vbeln, vbak-auart, vbak-vbtyp)
where ...
Instead of using:
select * from vbak where ...
16. Avoid unnecessary statements
There are a few cases where one command is better than two. For example:
Use:
append <tab_wa> to <tab>.
Instead of:
<tab> = <tab_wa>.
append <tab> (modify <tab>).
And also, use:
if not <tab>[] is initial.
Instead of:
describe table <tab> lines <line_counter>.
if <line_counter> > 0.
17. Copying or appending internal tables
Use this:
<tab2>[] = <tab1>[]. (if <tab2> is empty)
Instead of this:
loop at <tab1>.
append <tab1> to <tab2>.
endloop.
However, if <tab2> is not empty and should not be overwritten, then use:
append lines of <tab1> [from index1] [to index2] to <tab2>.
P.S : Please reward if you find this useful.. -
While doing risk analysis for profiles the web service is taking 20 minutes
Hi All
Iam using SAP GRC 5.2 ( As per clients requirement)
Iam using VirsaCCRiskAnalysisService web service
For roles it is working fine
But when iam doing risk analysis for profiles( S_A.DEVELOP and S_CUS_CMP) it is taking upto 20 minutes to give results back
Is there any way in which we can reduce the time taken to fetch the results
ThanksHello Mph,
This is mainly bcz these profiles are a bit heavy and have huge number of authorizations in each of them. Also since these are critical, these would be having a large number of risks which explains the reason for the delay.
Now, besides what Harleen mentioned, what I would also recommend to you is to check the number of threads etc in the config you have done. These are the parameters which you can often change and update as per your requirements and have a great impact on the performance as well, without the need to deploy extra hardware, which is usually a pain for most organizations.
Regards,
Hersh.
http://www.linkedin.com/in/hersh13 -
Tools for Performance Testing ?
All
We are planning to upgrade to Oracle version 10.2.0.4 in SAP landscape.
Here is my question:
We have one SAP box Oracle version 10 and other SAP box is with Oracle version 10.2.0.4.
Before upgrading to Oracle version 10.2.0.4 in the Production, we wanted to test the performance of Oracle version 10.2.0.4,
So we decided to run programs(report) in Oracle ver 10 box Vs Oracle version 10.2.0.4 box to check how system taking time to execute.
But my question is whether do we have any kind of performance analyser tools in SAP so that we can cross check with both the boxes performances.
I heard tool called coverage analyser is it works in this scenario.
RickHi,
Plz find the below link for performance analyzing techniques in SAP.
http://help.sap.com/saphelp_nw04/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/frameset.htm
Thanks,
Sree. -
We are moving from Bex 3.5 to Bex 7.0 and using Analysis for Office 1.4.7
We have queries that do an average for the results rows of dynamic calculations and the queries will not open in Analysis for Office 1.4.7 (example is below)
We get an error message that can be found below
We were able to open the queries in Analysis 1.4.5 with the correct results.
We do not understand why it worked in an older version and not the new one.
Is there something missing in the version 1.4.7 of Analysis for Office that is preventing our queries from running?
We do not want to move back to 1.4.5 because the performance is better in 1.4.7.
Help.....Hi Patty,
I just checked 1.4.7 by making "Calculate Results As.." for Key figure and formula to Average(and also tried others as well). No error is coming in Analysis Office. reason might be because of other reason
Any way, As Tammy Powlas suggested can you check with SP8
Maybe you are looking for
-
second user cannot get any further than partial log on screen . .system hangs up with HP advisor blinking box
-
Firefox deletes text as you type
As I'm typing into the URL/Address bar, Firefox will let me type and about halfway through actually typing a URL, It automatically deletes it and the process continues.
-
I have created 5 elements of a node . I want to delete nodes. But it is giving error . Context sample (node ) [ cardinality 0...n , selection 0..1 ] name (attr) number(attr) code : public void
-
Build and Action at the same time
Is it possible to have a build and an action occur at the same time. I have a photo I want to dissolve in as it is moving from one part of the screen to another. So far I've only been able to do one after the other is completed. Any way to do this?
-
Audition 3.0 will not accept the Serial Number listed on Adobe site says it's wrong
I have tried putting in S/N every way I can think of and Number will not be accepted. I am running Windows 8.1