Performance Tuning Question

Greetings,
I did a few searches for any topics related to this and
haven't found anything relevant - if I'm missing something obvious
I apologize.
We are doing some performance tuning of a CFMX 7.0.2 system
running on Solaris. Of the many things we're doing one is to run
truss on the cfmx processes to find out what in fact it's doing.
The following is an excerpt from one of the truss outputs:
stat64("/opt/coldfusionmx7/runtime/../lib/macromedia/jdbc/sqlserver/SQLServerURLParser.cla ss\0",
0x254FB860, 0x254FB9BC) = -1 Err#2
stat64("/opt/coldfusionmx7/runtime/../gateway/lib/macromedia/jdbc/oracle/OracleURLParser.c lass\0",
0x254FB860, 0x254FB9BC) = -1 Err#2
Err #2 means "File not found" in essence
These lines show up quite a bit in the output - and we're
curious as to why it's trying to find those particular classes at
all and why in those locations - there are other entries where it
looks like it's going through a series of paths that it knows about
trying to find these entries. As we use Oracle as our database what
could be the reason it's looking for SQLServer? Finally does anyone
know of a way to stop the attempt to find these classes and save
the system processing time to give us back those cycles for real
work?
Regards,
Scott

Please try:
Create View View3 
As
SELECT a.Col1, a.Col2 
From dbo.TableA A 
WHERE NOT Exists (SELECT 1 From dbo.TableB B With(NoLock) WHERE A.Col1 = B.Col1)
UNION 
SELECT Col1, Col2 From dbo.TableB
Also, please make sure that INDEXes on Col1 on both tables  are NOT fragmented and your STATISTICS are also up tp date. 
Best Wishes, Arbi; Please vote if you find this posting was helpful or Mark it as answered.

Similar Messages

  • Answers to these performance tuning questions 9i

    what are the answers to the below questions ??
    367. You have used the ALTER command to set the DB_CACHE_ADVICE parameter to READY. What is now happening in the instance?
    A. Memory has been allocated in the shared pool for cache advice buffers.
    B. CPU utilization will significantly increase because Oracle is collecting more detailed statistics about the buffer cache.
    C. The buffer cache hit ratio will now increase.
    D. The V$DB_CACHE_ADVICE view is now populated.
    184. Which two statements are true regarding the use of DB_CACHE_ADVICE init.ora parameter? (Choose two)
    A. Setting the parameter to READY reserves space in the buffer cache to store information about different buffer cache sizes, but no CPU overhead is incurred.
    B. Setting the parameter to READY reserves space in the shared pool to store information about different buffer cache sizes, but no CPU overhead is incurred.
    C. Setting the parameter to ON reserves space in the buffer cache to store information about different buffer cache sizes, and CPU overhead is incurred as statistics are collected.
    D. The V$DB_CACHE_ADVICE view contains information that predicts the estimated number of physical reads for different cache sizes for each buffer cache setup in the SGA.
    185. Which three statements are true with respect to has clusters? (Choose three)
    A. Full table scans are generally faster on cluster tables than on non-clustered tables.
    B. Hash clusters may be desirable when the number of key values is predictable and key values are evenly distributes.
    C. If tables in a hash cluster require more space than the initial allocation for the cluster, performance degradation can be substantial because overflow blocks are required.
    D. Storing a single table in a hash cluster can be useful regardless of whether the table is joined frequently with other tables or not, provided other criteria for choosing a hash cluster are met.
    346. You have been seeing poor performance for inserts into a new table.
    You queried V$WAITSTAT and V$SYSTEM_EVENT and determined that there is free list
    contention in your database.
    Next, you identified the segments by joining the DBA_SEGMENTS table and V$SESSION_WAIT
    view to identify the file and block where waits are occurring.
    What is the next step you should take?
    A. If the file and block identify a data block within a table, consider increasing the number of free lists on the table using the ALTER TABLE command and specifying the FREELISTS clause.
    B. If the file and block identify a data block within a table, consider increasing the number of free lists on the table using the ALTER TABLESPACE command and specifying the FREELISTS clause in the default storage clause.
    C. If the file and block identify a segment header for a table, consider increasing the number of free lists on the table using the ALTER TABLE command and specifying the FREELISTS keyboard in the storage clause.
    D. If the file and block identify a segment header for a table, consider increasing the number of free lists on the table using the ALTER TABLESPACE command and specifying the FREELIST clause in the default storage clause.
    235. To provide more free lists for a number of your database segments, what is one of your options?
    A. Modify them with the INSERT_ _FREELIST command.
    B. Drop and re-create them with the required FREELIST value.
    C. Change the default storage parameter of the tablespace(s) where they are stored.
    D. Modify the FREELIST_LIMIT parameter in your installation file and restart the instance.
    337. How to set the OPTIMIZER_MODE for minimizing total response time?
    A. RULE
    B. ALL_ROWS
    C. FIRST_ROWS_n
    D. FIRST_ROWS
    347. You want to enhance performance of the Database Optimizer to minimize total response time, thereby increasing overall throughput of batch process.
    Which choice identifies the best optimizer mode setting for meeting this requirement?
    A. RULE
    B. ALL_ROWS
    C. FIRST_ROWS
    D. FIRST_ROWS_n
    Message was edited by:
    Akshay

    Let's turn this around ...
    what do you think are the correct answers? and what is your logic?
    All the answers are in the Concepts manual or the DB Administrator's Guide at http://docs.oracle.com ... use http://tahiti.oracle.com and you can search the docs very easily.

  • Performance tuning questions

    i am fresher in sap-abap. so i have some doubts.
    how to increase performance in a report. what r the minimum steps to follow.
    expecting the answer more clearly

    Hi Josh,
    Here is a detailed document for performance check:
    <b>AWARD POINTS IF IT HELPS:</b>
    5.1     SQL 
         In order to enhance the performance of your ABAP code a number of useful guidelines can be used.
    •     Use SELECT SINGLE wherever possible to retrieve up to one row of information.  It is important to specify all the key fields to ensure a unique record.
    •     Be careful using the FOR ALL ENTRIES addition since this is very bad for very large datasets (10,000+ records)
    •     Joins and subqueries are good
    •     Do not use SELECT * statement unless the program needs ALL columns from the table. Instead, only specify the fields you require. This will also avoid unnecessary network transports.  The addition INTO CORRESPONDING FIELDS of the INTO clause of the SELECT statement is worthwhile to use only for large amounts of data where the external table and destination fields have the same names. Consider the use of the DISTINCT option in the case of many duplicate entries.
         The following example compares selecting all fields to selecting only the document number, the item number and the material.
         Avoid:.  select   *      from vbap
                                         where vbeln in s_docno.
                   endselect.
         Use:     select vbeln posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                   endselect.
    Important Points:
         The order of the fields retrieved must match the order of the destination fields in the field list.
    •     Use the SELECT...WHERE clause to restrict data rather than retrieve all rows and use a CHECK or IF statements to filter data.
         Avoid:     select  vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap.
                      check s_docno.
                   endselect.
         Use:     select vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                   endselect.
    Important Points:
         Order the columns in the where clause of a select in the same order as the key or index table.
    •     WHERE Clause Tips
    o     Exploit the indexes of  the database tables for an efficient use of the WHERE clause. To do so check all index fields with the equality operator (EQ, =) and concatenate these checks by AND. The primary key of a database table makes up its primary index automatically. Secondary indexes for a database table can be created in the ABAP Dictionary.
    o     If possible, include all columns of the key or an index in the where clause. Use a default or appropriate value. If the column(s) is not included, the database may not be able to fully utilise the index.
    o     Avoid complex WHERE clauses. The system must split up those into single statements for the database system.
    o     Do not use the logical NOT in WHERE clauses but inverted operators instead. The logical NOT is not supported by the database indexes.
    •     Try to avoid the select … endselect  programming construct. Rather select all the required records from the database directly into an internal table and loop at the table to process the entries.  This is usually faster than the select … endselect code, and also allows easier debugging of the code.
         Avoid:     select vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                       write:/ wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr.
                   endselect.
    Use:     select vbeln posnr matnr into table ts_vbap
                   from vbap
                   where vbeln in s_docno.
              loop at ts_vbap into wa_vbap.
                   write:/ wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr.
              Endloop.
    •     Avoid nested select statements if possible as they generally have  poor performance.  It is preferable to select all the entries for each table directly into an internal table and use nested internal table loops to process all the entries. 
    •     Check runtime analysis tips and tricks for detailed comparisons in select performance (SM30). SELECT statements.
    •     Use aggregate expressions in the SELECT clause to perform calculations instead of transporting great amounts of data and calculating thereafter.  This distributes the processing load and minimises the network data transfer.  Valid aggregate functions include: MAX, MIN, AVG, SUM and COUNT.
    •     The storage of database tables in local buffers can lead to significant time savings. Use the buffering of database tables whenever possible. Use the addition BYPASSING BUFFER only if it is really necessary.
    If DISTINCT, SINGLE FOR UPDATE, and aggregate expressions are used in the SELECT clause, buffering should be turned off.
    •     Provide the appropriate selection criteria to limit the number of data base reads. Force users to provide selection criteria by evaluating the selection criteria entered on the selection screen during the AT SELECTION-SCREEN event.
    •     Create indices where needed to enhance query performance. This should be used in large table lookups to increase efficiency. For example, SELECT…WHERE FieldA = ‘001’. In this case FieldA is not a key field, therefore an index should be created to improve the efficiency of the select statement.  Beware that there is always an additional processing system overhead for indices.  Therefore, only create indices if a major performance benefit will be realised, especially if the program concerned is executed many times throughout the day and is business critical.
    5.1.1     SQL Checklist
    •     Keep the selected dataset small
    •     Keep the transferred data small
    •     Keep the number of database accesses small
    •     Use database buffers
    •     Create views for table joins instead of using multiple selects.
    •     Select data only one time where possible (i.e., don’t have multiple selects against the same table - get the data one time and store it in an internal table).
    •     Remove unused indexes from tables.
    5.2     General Programming Techniques
         Detailed below are a number of additional programming techniques that should be borne in mind when implementing ABAP code.
    •     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 the performance of the CASE is more efficient.
    •     Do not use MOVE CORRESPONDING unless the data is contiguous.
    •     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, if records a and b have the exact same structure.
                   MOVE  BSEG TO *BSEG.  is better than
                   MOVE-CORRESPONDING BSEG TO *BSEG.
    •     Do not use the COLLECT statement with large internal tables as this can be very CPU intensive.
    •     When reading a single record in an internal table, the READ TABLE WITH KEY is not a direct READ on a on a sorted table.  Therefore, SORT the table and use READ TABLE WITH KEY BINARY SEARCH.
    •     Use the SORT...BY when sorting internal tables.
              SORT ITAB BY FLD1 FLD2.  is more efficient than
                   SORT ITAB.
    •     Avoid hard-coding and use of literals in ABAP code. Use reference tables to drive processing to support business change flexibility and reduce ongoing maintenance costs.  If hard-coding and literals are required, be sure to include these as constants.
    •     The Tips & Tricks function is very useful in comparing different methods of coding without going to the trouble of coding both and then performing your own run-time analysis. System > Utilities > Runtime Analysis > Tips & Tricks.
    5.3     Logical Databases
    Use logical databases and ‘GET’ events wherever reads on parent/child segments need to be performed e.g. require data from both MARA then MARD table - use GET MARA then GET MARD. (Note you do not need to use an LDB if data from only the MARA or MARD table is required.)
    Where an LDB is used provide defaults or checks for the standard selection-options/parameters wherever possible.
    Avoid use of  logical data bases as much as possible - use SELECT  statements instead. (Logical databases are good as a reference tool to look up database hierarchies).
         &#61558;     Logical database should only be used when there are no other options.
    &#61558;     Use of Logical database in ABAP programs must be approved by a DEVELOPMENT TEAM LEAD
    &#61558;     Due to strategic importance of LDB’s and the potential impact on system performance, careful consideration should be made before creating new LDB’s. Consequently no LDB’s should be created without approval from the Development Team Lead
    5.4     Debugging
    When testing ABAP, use of the debugging tool plays an essential role in checking the value of variables during the execution of the program.  This tool should be used during the unit testing to ensure programs are executing as desired.
    You can use the debugging tool by selecting Program > Debugging from the ABAP program Development Initial screen.
    In addition to the static programming of breakpoints, ABAP’s on-line debugging tools also allow you to set breakpoints and interrupt conditions dynamically.  This makes the whole process of debugging reports much more flexible and the consequent advantage is that you do not have to change your code. Watchpoints can now be set based on the value a field takes (like R/2).
    Once you have stopped the report processing, you can view the contents of all the fields (up to 8), internal tables and database tables referenced in the report.  The system fields SY-TABIX and SY-DBCNT are now displayed at the bottom of the screen along with SY-SUBRC.
    Finally, you can change the contents of fields for debugging purposes and then resume report processing, with the changed data.  To set breakpoints select Breakpoints > Set from the ABAP: Editor screen.  Then execute the program.
    Beware that in order to debug SAPscript programs, hard-coded breakpoints are often required. Be sure to remove these once testing is complete and the program transported. Use the syntax BREAK username, rather than BREAK-POINT, as this will ensure the code only stops when running under the specified username.
    6     SAPscript Techniques
    6.1     Good Practice
    •     Always copy the SAP standard print programs where available and, in most instances, the layout set. Never start a complex SAPscript (e.g. Invoice, Purchase Order) from the beginning, as this will require far more development time to complete.
    •     When creating a new layout set by copying a SAP standard, always change the original language from D to E and then activate.
    6.2     Standards
    •     Naming convention for layout sets – this will follow the same as the program name, except the version number will be prefixed L. For example a purchase order layout set would be:
    ZMM_DESC where
    Z          First character of the program
    MM          SAP R/3 module/component
    DESC          Meaningful description i.e. PO printing, INVOICE.
    •     When copying SAP standard print programs ensure they have a standard header block as defined earlier. Also ensure that any code that is added, removed or changed is commented in the standard fashion.
    6.3     Standard Texts
    •     These should be of the following format:
         ZXX_DESC
    Where:
    Z          First character of the program
         XX          Module name
         DESC          Meaningful description.
    6.4     Tips
    •     Text elements must be maintained individually for each layout set language. Any other changes to the layout set i.e. window size or paragraphs, will be copied from the original language to the other languages.
         &#61558;     As layout sets are client-dependant they must be ‘transported’ between clients on the same box. To do this use the ‘Copy from Client’ function from within the ‘target’ client. This is language specific.
    &#61558;     Always ACTIVATE the layout set each change and in each language before transporting.
    &#61558;     The SAPscript debugger can be sent useful, this is turned on at the front screen on transaction SE71.
    &#61558;     Standard text used within a layout set must be assigned to a transport request using the program RSTXTRAN. Once assigned the transport request can be released in the usual manner via SE10.
    7     Changing the SAP Standard
    •     You can adjust the R/3 System to meet your needs in the following ways:
    o     Customizing: This means setting up specific business processes and functions for your system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed.
    o     Personalization: This means making changes to certain fields' global display attributes (setting default values or fading fields out altogether), as well as creating user-specific menu sequences.
    o     Modifications: These are changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer's system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.
    o     Enhancements: This means creating Repository objects for individual customers that refer to objects that already exist in the SAP Repository.
    o     Customer Developments: This means creating Repository objects unique to individual customers in a specific namespace reserved for new customer objects.
    •     If your requirements cannot be met by Customizing or personalization, you may either start a development project or try using a CSP solution (= Complementary Software Product).
    •     A development project falls into the customer development category if the SAP standard does not already contain functions similar to the one you are trying to develop. If, however, a similar SAP function exists, try to assimilate it into your development project by either enhancing or modifying it, by using a user exit, or simply by making a copy the appropriate SAP program.
    •     Modifications can create problems, as new versions of SAP objects must be adjusted after an upgrade to coincide with modified versions of SAP objects you have created. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.
    •     Thus, you should only make modifications if:
    •     Customizing or personalizing cannot satisfy your requirements
    •     Enhancements or user exits are not planned
    •     It would not make sense to copy the SAP object to the customer namespace.
    7.1     Originals and copies
    •     An object is original in only one system.  In the case of objects delivered by SAP, the original system is at SAP itself. These objects are only copies in customer systems.  This applies to your development system and all other systems that come after it.
    •     If you write your own applications, the objects that you create are original in your development system.  You assign your developments to a change request, which has the type Development/Correction.
    This request ensures that the objects are transported from the development system into the subsequent systems
    7.2     Corrections and repairs
    •     Changes to an original are called corrections.  They are recorded in a change request whose tasks have the type "Development/correction". 
    •     If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type "Repair". Repairs to SAP objects are called modifications. 
    •     When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. When you change copies, you must correct the original immediately!
    •     However, you cannot do this with SAP objects, because they are not original in any of your systems.
    •     You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are important prerequisites for deciding what kind of modifications to make and how these modifications should be designed.
    7.3     Modifications and upgrades
    During an upgrade or an import of R/3 Support Packages, new objects delivered overwrite existing objects of the SAP standard. In order to help customers keep those objects that have been modified in a previous release, SAP now offers upgrade adjustment for all objects being upgraded in the form of transactions SPAU and SPDD. These transactions allow customers to enter their modifications into the corresponding new objects being delivered at upgrade. The Modification Assistant supports this process of adopting customer modifications. In general, objects altered using the Modification Assistant can now be automatically accepted into the upgraded system if the modifications undertaken in the original version do not directly overlap those made in the customer version. If collisions occur between the two versions at upgrade (naming collisions, or if SAP has deleted an object modified by a customer), the system offers semi-automatic adjustment support. In some cases, however, you may still have to manually adjust objects using ABAP Workbench tools.
    •     Whenever you upgrade your system, apply a support package, or import a transport request, conflicts can occur with modified objects.
    •     Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it.  The new object delivered by SAP becomes an active object in the Repository of your system.
    •     If you want to save your changes, you must perform a modification adjustment for the objects.  If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.
    •     To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system.  The objects from the adjustment can then be transported into other systems.
    7.4     Modifications Procedures
    •     A registered  developer must register changes to SAP objects. Exceptions to this registration are matchcodes, database indexes, buffer settings, customer objects, patches, and objects whose changes are based on automatic generation (for example, in Customizing). If the object is changed again at a later time, no new query is made for the registration key. Once an object is registered, the related key is stored locally and automatically copied for later changes, regardless of which registered developer is making the change. For the time being, these keys remain valid even after a release upgrade.
    •     How do you benefit from SSCR (SAP Software Change Registration)?
    o     Quick error resolution and high availability of modified systems
    All objects that have been changed are logged by SAP. Based on this information, SAP's First Level Customer Service can quickly locate and fix problems. This increases the availability of your R/3 system.
    o     Dependable operation
    Having to register your modifications helps prevent unintended modification. This in turn ensures that your R/3 software runs more reliably.
    o     Simplification of upgrades
    Upgrades and release upgrades become considerably easier due to the smaller number of modifications.
    7.5     Modifications Assistant
    The aim of the Modification Assistant is to make modification adjustments easier. This is because (among other reasons) the modifications are registered in a different layer
    •     If you want to change an SAP object, you must provide the following information:
    o     SSCR key
    o     Change request
    •     The system informs you that the object is under the control of the Modification Assistant. Only restricted functions are available in the editor.
    •     You can switch the Modification Assistant on or off for the entire system by changing the R/3 profile parameter eu/controlled_modification. SAP recommends that you always work with the Modification Assistant.
    •     You can switch off the Modification Assistant for single Repository Objects.  Once you have done so, the system no longer uses the fine granularity of the Modification Assistant.
    •     In modification mode, you have access to a subset of the normal editor tools.  You can access these using the appropriate pushbuttons.  For example, in the ABAP Editor, you can:
    o     Insert
    The system generates a framework of comment lines between which you can enter your source code.
    o     Replace
    Position the cursor on a line and choose Replace.  The corresponding line is commented out, and another line appears in which you can enter coding.  If you want to replace several lines, mark them as a block first.
    o     Delete
    Select a line or a block and choose Delete.  The lines are commented out.
    o     Undo modifications
    This undoes all of the modifications you have made to this object.
    o     Display modification overview
    Choose this function to display an overview of all modifications belonging to this object.
    7.6     Restoring the original
    You can reset all of the modifications that you have made to the current object using the Modification Assistant by choosing this function.  The record of the modifications is also deleted.
    Remember that you cannot selectively undo modifications to an object.  You can only undo modifications based on the "all or nothing" principle.
         &#61558;     Any modifications in standard SAP object will require proper justification and needs to be documented. The rights of modification the standard SAP object is limited to PROJECT MANGER only.
    Cheers,
    ashish.

  • Database performance tuning Question

    Please,
    The top wait event having all the time when tuning, oracle database is the following.
    enq: TX - row lock contention
    What could be the best way to pinpoint the cause of this?.
    I'm on Oracle 10g, windows server 2003.
    Thanks

    The first thing to do is check the underlying reason. If you query v$session_wait_history or v$lock when you spot a lock appearing, you can check if the request is for mode 4 or mode 6.
    Mode 6 means you are colliding on an attempt to update the data in a heap table. Mode 4 can mean many things - including a few "internal" problems, which is probably why the comment about initrans appeared - but often means you have a collision on indexes, (e.g. pending duplicates in unique indexes, conflicts in parent/child referential integrity) or colliding updates to the non-key part of IOTs.
    If you are allowed to use v$active_session_history, you can query that to find the sql_id of a session that was waiting for a lock and then be able to see the SQL that the waiting session was trying to operate - otherwise you may have to catch it waiting and check v$session for the sql_id.
    Once you have the SQL, you may have a better idea of why the lock was happening.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http:/www.jlcomp.demon.co.uk

  • Can Anybody Send Me The Latest Testking Pdf Of  1z0-033 (Performance Tuning

    Hello,
    Can Anybody Send Me The Latest Testking Pdf Of 1z0-033 (Performance Tuning
    my email address is asiforacle [email protected]
    Regards,
    Asif Iqbal
    Software Engineer. ( Karachi, Pakistan ).

    The answer is surely NO but what I would like to ask for the sake of curiosity , why did you ask about Performance Tuning questions over Sql /Plsql forum , not on Database General Forum? Not that you should go there now and ask, just curious.
    Tell you what, read the free book(yup free). Here it is,
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96533.pdf
    You won't need anything else to read, not even that testking stuff too.
    HTH
    Aman....

  • Performance tuning in EP6 SP14

    Hi,
    We just migrated our development EP5 SP6 portal to NW04 EP6 SP14 and are seeing some performance problems with a limited number of users (about 3). 
    Please point me to some good clear documentation related to performance tuning.  Better yet, please tell me some things you have done in your EP6 portal to improve performance.
    Any help is greatly appreciated.
    Regards,
    Rick

    Hi
    In general we have experienced that NW04 is faster than earlier versions.
    One of the big questions is if the response time is SERVER time (used for processing on the J2EE server), NETWORK time (latency and many roundtrips), CLIENT time (rendering, virus-scanning etc) or a combination.
    1) Is the capacity on the server ok?  CPU utilization and queue lenght high?  Memory swapping?
    2) A quick optimazation server-side is logging: Plese verify that that log and trace levels are ERROR /FATAL or NONE on J2EE and also avoid logging on IIS and IIS proxy is used
    3) Using a HTTP trace you can see if the NW portal for some reason generetes more roundtrips (more GETS) that the old portal for the same content - what is the network latency?  Try to do a "ping <server>" from a client pc and see the time (latency) - if it is below 20 ms the network should do a big difference.
    4) On the client try to call the portal with anti-virus de-activated if the delta/difference in response times are HUGE your client could be to old? (don't underestimate the client). Maybee the compression should be set different to avoid compres (server) and uncompres (client) - this is a tradeoff with network latency however.
    Also client-side caching (in browser) is important.
    These are just QUICK point to consider - tuning is complex
    BR
    Tom Bo

  • Oracle 11 G database performance tuning

    How to indexing the oracle 11G database?
    Thanks in advance.

    Your question is like if you ask "Tell me how to fix a car". As you know people spend years learning how to fix different problems with cars; the same applies to database performance tuning. There is no way to answer this question in one post. Please ask a more specific question in an apropriate (database related) forum.
    cheers

  • Oracle Performance Tuning Certification

    Hi Guys
    I am going for 10g OCP then maybe 11g Tuning Expert Certification.
    1. I look at the prerequisites of 10g Performance Tuning course:
    Required Prerequisites:
    * Knowledge of Database Administration
    * Oracle Database 10g: Administration Workshop I Release 2
    * Oracle Database 10g: Administration Workshop II
    * Oracle Database 10g: New Features for Administrators Release 2
    Does this mean that it is COMPULSORY that I take the 3 courses above first before I can take the Performance tuning course? This cost a lot of $$$! ; o
    2. Where can I get 11gTuning Expert Certification practice questions? From the 11g Performance Tuning course? Couldn't find it in SelfTestSoftware....
    Advance thanks!

    user8092567 wrote:
    Hi,
    Exam # 1Z0-044 does not exist.
    Why there is no Oracle exam for Performance Tuning for 10g?
    There is one for 9i and there will be one for 11g (currently it is in beta).
    Lorrys,
    I guess this needs to be corrected a bit. 9i exam is a part of teh OCP track, its not an individual exam which you may clear and would be awarded an certification for it. OCE is itself is an certification track and unlikely OCP, it doesn't need multiple exams to be cleared. You just have to clear one exam and youwould be awarded teh certification. Now, about the 10g exam of PT OCE not being there and given in 11g, it should make sense as 11g is already out and there is no point in launchnig a NEW certification track for a previous version. So that's why 11g PT is launched for the newest release, which is 11g.
    That said, I am not from Oracle so its just my own opinion about your comment.
    HTH
    Aman....

  • Performance tuning of Oracle 10 g

    Dear Team ,
    I am in need of tuning my Database against the performance .
    I have visited lots of Web pages in Net for Performance tuning .
    It shows some values for the Performance tuning , But I dont how to read the values
    Wheather my database is good or it need to tuned again .
    So kindly help me for good performance tuning in my Database (Oracle 10g)
    Regards
    Augustine

    Hi Augustine;
    I am in need of tuning my Database against the performance .
    I have visited lots of Web pages in Net for Performance tuning .
    It shows some values for the Performance tuning , But I dont how to read the values
    Wheather my database is good or it need to tuned again .First step should be run ASH AWR report than check your CPU usage(also other parameter) from Oracle Enterprise Manager console.
    Check top5 event and try to understand what is happining on ur database. Actualyy There is no specific answer for your question, just check report try to understand to what eat your source? when it happens?what is fruquence etc.. So just run report and observe it
    Check below search
    http://www.google.com.tr/search?q=Performance+tuning+of+Oracle+10&rls=com.microsoft:en-us&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1&redir_esc=&ei=v0fxS8bTCtOrsAaYqfTbAg
    There are many docs related performance.
    Hope it helps
    Regard
    Helios

  • VAL_FIELD selection to determine RSDRI or MDX query: performance tuning

    according to on of the HTG I am working on performance tuning. one of the tip is to try to query base members by using BAS(xxx) in the expension pane of BPC report.
    I did so and found an interesting issue in one of the COPA report.
    with income statement, when I choose one node gross_profit, saying BAS(GROSS_PROFIT), it generates RSDRI query as I can see in UJSTAT. when I choose its parent, BAS(DIRECT_INCOME), it generates MDX query!
    I checked DIRECT_INCOME has three members, GROSS_PROFIT, SGA, REV_OTHER. , none of them has any formulars.
    in stead of calling BAS(DIRECT_INCOME), I called BAS(GROSS_PROFIT),BAS(SGA),BAS(REV_OTHER), I got RSDRI query again.
    so in smmary,
    BAS(PARENT) =>MDX query.
    BAS(CHILD1)=>RSDRI query.
    BAS(CHILD2)=>RSDRI query.
    BAS(CHILD3)=>RSDRI query.
    BAS(CHILD1),BAS(CHILD2),BAS(CHILD3)=>RSDRI query
    I know VAL_FIELD is SAP reserved name for BPC dimensions.  my question is why BAS(PARENT) =>MDX query.?
    interestingly I can repeat this behavior in my system. my intention is to always get RSDRI query,
    George

    Ok - it turns out that Crystal Reports disregards BEx Query variables when put in the Default Values section of the filter selection. 
    I had mine there and even though CR prompted me for the variables AND the SQL statement it generated had an INCLUDE statement with hose variables I could see by my result set that it still returned everything in the cube as if there was no restriction on Plant for instance.
    I should have paid more attention to the Info message I got in the BEx Query Designed.  It specifically states that the "Variable located in Default Values will be ignored in the MDX Access".
    After moving the variables to the Characteristic Restrictions my report worked as expected.  The slow response time is still an issue but at least it's not compounded by trying to retrieve all records in the cube while I'm expecting less than 2k.
    Hope this helps someone else

  • Reg: Process Chain, query performance tuning steps

    Hi All,
    I come across a question like,  There is a process chain of 20 processes.out of which 5 processes are completed at the 6th step error occured and it cannot be rectified. I should start the chain again from the 7th step.If i go to a prticular step i can do that particular step, How can i start the entair chain again from step 7.i know that i need to use a function module but i dont know the name of FM. Please somebody help me out.
    Please let me know the steps involved in query performance tuning and aggregate tuning.
    Thanks & Regards
    Omkar.K

    Hi,
    Process Chain
    Method 1 (when it fails in a step/request)
    /people/siegfried.szameitat/blog/2006/02/26/restarting-processchains
    How is it possible to restart a process chain at a failed step/request?
    Sometimes, it doesn't help to just set a request to green status in order to run the process chain from that step on to the end.
    You need to set the failed request/step to green in the database as well as you need to raise the event that will force the process chain to run to the end from the next request/step on.
    Therefore you need to open the messages of a failed step by right clicking on it and selecting 'display messages'.
    In the opened popup click on the tab 'Chain'.
    In a parallel session goto transaction se16 for table rspcprocesslog and display the entries with the following selections:
    1. copy the variant from the popup to the variante of table rspcprocesslog
    2. copy the instance from the popup to the instance of table rspcprocesslog
    3. copy the start date from the popup to the batchdate of table rspcprocesslog
    Press F8 to display the entries of table rspcprocesslog.
    Now open another session and goto transaction se37. Enter RSPC_PROCESS_FINISH as the name of the function module and run the fm in test mode.
    Now copy the entries of table rspcprocesslog to the input parameters of the function module like described as follows:
    1. rspcprocesslog-log_id -> i_logid
    2. rspcprocesslog-type -> i_type
    3. rspcprocesslog-variante -> i_variant
    4. rspcprocesslog-instance -> i_instance
    5. enter 'G' for parameter i_state (sets the status to green).
    Now press F8 to run the fm.
    Now the actual process will be set to green and the following process in the chain will be started and the chain can run to the end.
    Of course you can also set the state of a specific step in the chain to any other possible value like 'R' = ended with errors, 'F' = finished, 'X' = cancelled ....
    Check out the value help on field rspcprocesslog-state in transaction se16 for the possible values.
    Query performance tuning
    General tips
    Using aggregates and compression.
    Using  less and complex cell definitions if possible.
    1. Avoid using too many nav. attr
    2. Avoid RKF and CKF
    3. Many chars in row.
    By using T-codes ST03 or ST03N
    Go to transaction ST03 > switch to expert mode > from left side menu > and there in system load history and distribution for a particual day > check query execution time.
    /people/andreas.vogel/blog/2007/04/08/statistical-records-part-4-how-to-read-st03n-datasets-from-db-in-nw2004
    /people/andreas.vogel/blog/2007/03/16/how-to-read-st03n-datasets-from-db
    Try table rsddstats to get the statistics
    Using cache memoery will decrease the loading time of the report.
    Run reporting agent at night and sending results to email.This will ensure use of OLAP cache. So later report execution will retrieve the result faster from the OLAP cache.
    Also try
    1.  Use different parameters in ST03 to see the two important parameters aggregation ratio and records transferred to F/E to DB selected.
    2. Use the program SAP_INFOCUBE_DESIGNS (Performance of BW infocubes) to see the aggregation ratio for the cube. If the cube does not appear in the list of this report, try to run RSRV checks on the cube and aggregates.
    Go to SE38 > Run the program SAP_INFOCUBE_DESIGNS
    It will shown dimension Vs Fact tables Size in percent.If you mean speed of queries on a cube as performance metric of cube,measure query runtime.
    3. --- sign is the valuation of the aggregate. You can say -3 is the valuation of the aggregate design and usage. ++ means that its compression is good and access is also more (in effect, performance is good). If you check its compression ratio, it must be good. -- means the compression ratio is not so good and access is also not so good (performance is not so good).The more is the positives...more is useful the aggregate and more it satisfies the number of queries. The greater the number of minus signs, the worse the evaluation of the aggregate. The larger the number of plus signs, the better the evaluation of the aggregate.
    if "-----" then it means it just an overhead. Aggregate can potentially be deleted and "+++++" means Aggregate is potentially very useful.
    Refer.
    http://help.sap.com/saphelp_nw70/helpdata/en/b8/23813b310c4a0ee10000000a114084/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/60/f0fb411e255f24e10000000a1550b0/frameset.htm
    4. Run your query in RSRT and run the query in the debug mode. Select "Display Aggregates Found" and "Do not use cache" in the debug mode. This will tell you if it hit any aggregates while running. If it does not show any aggregates, you might want to redesign your aggregates for the query.
    Also your query performance can depend upon criteria and since you have given selection only on one infoprovider...just check if you are selecting huge amount of data in the report
    Check for the query read mode in RSRT.(whether its A,X or H)..advisable read mode is X.
    5. In BI 7 statistics need to be activated for ST03 and BI admin cockpit to work.
    By implementing BW Statistics Business Content - you need to install, feed data and through ready made reports which for analysis.
    http://help.sap.com/saphelp_nw70/helpdata/en/26/4bc0417951d117e10000000a155106/frameset.htm
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/0dbf65e04311d286d6006008b32e84/frameset.htm
    You can go to T-Code DB20 which gives you all the performance related information like
    Partitions
    Databases
    Schemas
    Buffer Pools
    Tablespaces etc
    use tool RSDDK_CHECK_AGGREGATE in se38 to check for the corrupt aggregates
    If aggregates contain incorrect data, you must regenerate them.
    Note 646402 - Programs for checking aggregates (as of BW 3.0B SP15)
    Thanks,
    JituK

  • LDAP Performance Tuning In Large Deployments - dir_chkcredentialsonreadonly parameter

    Calendar users are experiencing long delays in logging in or updating a meeting
    with many attendees or dates. This is especially notificeable after migrating
    from calendar server 1.0x to calendar server 3.x.
    <P>
    At this time, calendar performance can be improved by up to 30% by reconfiguring
    the calendar server to bind to it's directory server either anonymously or with
    a specific user. The default is to bind as the user requesting directory
    information.
    <P>
    There is a parameter that can be added in the server configuration file by
    editing the /users/unison/misc/unison.ini file. For anonymous binds
    adding the dir_chkcredentialsonreadonly line to the DAS section:
    <P>
    [DAS]
    dir_updcalonly = TRUE
    dir_connection = persistent
    dir_service = LDAP,v2,NSCP,1
    enable = TRUE
    dir_chkcredentialsonreadonly = FALSE
    <P>
    For binding as a specific user, also add the following to the LDAP,..,...,,
    section:
    <P>
    [LDAP...]
    binddn = dn
    bindpwd = password
    <P>
    Going forward, we are working on other changes in the next versions of the
    Calendar Client and Calendar Server to improve performance. Please check with
    your Netscape Sales contact for announcements on the availability of these
    versions.
    <P>

    Thank you very much, I am looking from now for a good performance Tuning book writen by Jonathan Lewis. I dont think Jonathan can come to Spain and give lessons...Anyway I will email to him...
    But, could you please clarify 2 points to me
    1- Should I modify manually memory parameters like buffer cache, shared pool, large pool etc...if those areas are spotted Small and areas causes of performace problem in the AWR, ADDM or ASH reports even if the memory is automatic managed ?
    In the case of yes, Why Oracle named it "Memory automatic managed" if I have to set some values of memory manually ?
    2- When ADDM report suggests me to increase the SGA size; from where ADDM got this recomandation?. I mean is it recomandation based on statistics collected of Both Oracle and OS ? I am asking this question because, from our report I ran 3 weeks ago, ADDM suggested me to increase the SGA to 10GB (total memeory of the serve is 16GB), I did the change and from that moment the server is SWAP... and now ADDM report suggests me again to increase the SGA to 12GB .
    Best reagards

  • LDAP Performance Tuning In Large Deployments - numconnect parameter

    LDAP Performance Tuning In Large Deployments - numconnect parameter
    <p>
    Tuning the LDAP connections
    (numconnect parameter)
    This parameter translates directly into the number of unidas processes that will
    be launched when Calendar Server is started. A process takes time to load, uses
    RAM, and when active, CPU cycles. And, unidas maintains an LDAP client
    connection to a Directory Server which can only support a fixed number of these
    connections. Since a calendar client does not require constant directory access
    then having a matching number of unidas processes (to match uniengd "client"
    processes) is not a good configuration.
    Basically, a calendar client will make many requests for LDAP information, even
    if the event information being retrieved is not currently view able. For example,
    if the calendar client is displaying a week view with 20 events and each event
    has 5 attendees, that will translate into at least 100 separate ldap search
    requests for the given name and surname of each attendee. What this means is
    that an "active" calendar user will require the services of a calendar server
    unidas connection quite often.
    Recommendation is that you increase the number of unidas connections
    to match the number of "active" calendar users. Our experience is that
    at least 20% of the number of configured users (lck_users from the
    /users/unison/misc/unison.ini file) are actually logged in, and 10% of
    those calendar users are active. For example, if have 3000 configured
    calendar users, 600 configured are logged in and 10% of the logged in
    are active, which would translate into at least 60 unidas connections.
    Keep in mind that configured vs logged in vs active might be different at each
    customer site, so please adjust your number of unidas connections
    accordingly. To set this up, edit the /users/unison/log/unison.ini file and add
    the numconnect parameter to the section noted (where "hostname" is the name of
    your local host):
    [LCK]
    lck_users = 600
    [hostname,unidas]
    numconnect = 60
    The calendar server will need to be restarted after making changes
    to the /users/unison/log/unison.ini file, before those changes will
    take effect.
    Note: Due to some architectural changes in the Calendar Server 4.x, the total
    number of DAS connections should never be set higher than 250.
    Recommendations for num_connect would be a maximum of 5% of logged on users.
    However, keep in mind that 250 das connections is a very high number.
    Example:
    [LCK]
    lck_users = 5000
    [hostname,unidas]
    numconnect = 250

    Thank you very much, I am looking from now for a good performance Tuning book writen by Jonathan Lewis. I dont think Jonathan can come to Spain and give lessons...Anyway I will email to him...
    But, could you please clarify 2 points to me
    1- Should I modify manually memory parameters like buffer cache, shared pool, large pool etc...if those areas are spotted Small and areas causes of performace problem in the AWR, ADDM or ASH reports even if the memory is automatic managed ?
    In the case of yes, Why Oracle named it "Memory automatic managed" if I have to set some values of memory manually ?
    2- When ADDM report suggests me to increase the SGA size; from where ADDM got this recomandation?. I mean is it recomandation based on statistics collected of Both Oracle and OS ? I am asking this question because, from our report I ran 3 weeks ago, ADDM suggested me to increase the SGA to 10GB (total memeory of the serve is 16GB), I did the change and from that moment the server is SWAP... and now ADDM report suggests me again to increase the SGA to 12GB .
    Best reagards

  • SAP CRM Performance tuning

    From where can I get information or documents how to do performance tuning in SAP CRM?

    Hi, Performance Tuning a SAP system is unique in every environment, also there are many area's in SAP to tune even area's outside SAP, eg... your Operating System/Network/Client Machines/Virtual Landscape/Cloud.
    I recommend that you engage in a performance testing execise which will identify what area of your SAP Landscape needs tuning, first you need to identify the bottleneck before you can tune it.
    The way the question was posed is exactly the same as wanting to fix a car but you have no idea which part of the car to fix...
    *LoadRunner is an excellent tool to simulate virtual work load on an SAP environment*
    Regards
    Sodick25
    http://www.2createawebsite.co.za
    Edited by: Sodick25 on Aug 15, 2011 11:58 AM
    Edited by: Sodick25 on Aug 15, 2011 11:59 AM

  • Tuning questions

    Hi all,
    i want to know abt some things in performance tuning since i m just a beginner in P.T
    i m yet to get the concepts clear.
    my question is suppose after collecting the stats of the particular table and the cost is very high in that we can find that the particular table is not having index on one leading column
    if i go to create index ,then what will be impact after creating index has the cost will decrease ?
    somebody saying that eventhough we are create index it will not starting to use that index unless or until that table will collect the statistics .
    coz in prev stats index is not there?
    is it right? or after creating index it will start to using?
    pls let me know.
    thanks in advance..

    Once statistics are available, the optimizer will be able to evaluate the cost of using the index, as well as a number of other methods of getting the data.
    If it thinks using the index will result in a lower cost, it will use the index. However, there are a lot of situations in whch using the index will actually have a higher cost than other paths.
    Note that very complex, or very stupidly^H^H^H^H^H^H^H^Hpoorly written, SQL may confuse the optimizer to the point that it does not even realize that an index is available or other costs are better or worse. And there are ways of making some costs totally hidden. (For example - function calls that include their own expensive SQL will probably not be visible to the optimizer.)
    The exact interpretation and set of operations, and calcuation of cost, and so on - depends on the exact version AND the patches you have applied.

Maybe you are looking for