Capacity planning (performance tuning of WLP 8.1 SP6 application)

Hi Guys,
I have one question regarding the performance tuning of the weblogic portal application (or may be any J2EE application for that matter) :
I understand that there could be lot of performance bottleneck areas e.g
(a) network issues (not enough bandwidth),
(b) bottleneck because of the DBs,
(c) application design/coding
(d) JVM might not have been tuned as per the business requirement of the application
(e) lack of clustering
(f) hardware problems (CPUs, RAMs etc)
Inorder to do the capacity planning for such an enterprise applications, what would be the best starting point?
Is it a good idea to start and profile the application using some profiling tools like OptimizeIt or JProbe? and then analyze the profiling the data and conclusion can be drawn interms of what and where the major bottleneck is into the application and accordingly it can be worked upon.
Or if there is any better and elegant way doing capacity planning?
Thanks for your time.
Regards
Jameel

Hi
id say start with a load tool that simulates average/ peak behavior with varied inputs and exercise your site . then profile if necessary.
Also start with the critical/most used portions of your site.
Its difficult doing the above because unles your migrating noone really knows the expected usage of your site. And its hard for someone to specify acceptable response times.
regards
deepak

Similar Messages

  • Planning Performance tuning

    What steps do we need to follow for Performance tuning of Planning?

    If you like to get more responses to your questions, I'd recommend you include more information such as version, type of problem you are having, what you've tried so far, etc. General questions like this can be found on the admin guides. Also don't forget to mark the answers as helpful/correct. Personally, I don't like replying to people with high unresolved questions record.
    For this question, you can check the answers for your other question: How can we do database optimization
    Cheers,
    Mehmet

  • Enterprise level capacity planning

    I am trying to look at capacity planning at an enterprise level and wish to get summarized views of captured data across a number of hosts and instances. I would like to be able to see the tablespace stats for all of our instances in one graph or report, and not have to view each one separately. The OEM capacity planner does not seem to provide any such views and from what I have discovered in the repository it looks as though separate tables are created to hold captured data for each instance eg table space data for prod01 will be in table a, tablespace data for xcpt02 will be in table b.
    Has anybody got any ideas on how to use the Capacity Planner for Enterprise Level Capacity Planning?

    Hi,
    About packaging : Always deploy your application in ear format using weblogic
    (not a single war (WEB module) + single jar (EJB module)) Ref http://edocs.bea.com/wls/docs61/programming/packaging.html#1051556
    "WebLogic Server can bypass the intermediate RMI classes because the EJB client
    and implementation are in the same JVM." If you have large data exchange between
    EJB and WEB you're gonne save a lot process time (including garbage collect process
    time to clean RMI object copies). For our application with save up to 7%just
    using ear format for deployment.
    "Raghu Arni" <[email protected]> wrote:
    Hi,
    I am looking for document(s) that describe any real world experiences
    in the
    deployment of applications using the weblogic server.
    I hope to get the following information:
    Server sizing (only Solaris on Sun machines)
    Performance tuning parameters for improved scaling on multi-processor
    machines
    Actual clustering scenarios bothe OS level and application level.
    etc..
    Any pointers are appreciated,
    A

  • Oracle VM documents (perf tuning, monitoring, metrics, capacity planning)

    Hi,
    Does anyone has any document on Oracle VM performance tuning, capacity planing and monitoring.
    I have Oracle VM environment with two virtual domains, each has one Oracle database running. I have been asked to monitor performance, identify performance metrics at OS/VM level (for memory, cpu, IO). If required, estimate additional hardware (Capacity Planning).
    Thanks,
    Neeraj

    Without sar utility (sysstat RPM, i'm pretty sure it is not included in OracleVM) you are pretty out of luck. As OracleVM is based on OEL5 you could try to install sysstat RPM from OEL5.

  • Planning to start the performance tuning but....

    Friends,
    Database OS: RHEL AS 3.0
    Database: Oracle Release 9.2.0.4.0
    Number of Tables: 503
    TableSpace size - 1.8GB out of 3GB
    Max.Records in a Table - 1 Million and its increasing..
    Our DB Optimizer mode is - CHOOSE (is it RBO?)
    We are not using enterprise manager and not installed any tuning scripts like statspack etc....
    Currently we are taking user managed backup without any problem so we are continuing the same from 2004 onwards.
    Now we want want to tune our database.(We have never tuned our database)
    We would like to change our optimizer from RBO to CBO.
    Can anybody tell me the first step for the performance tuning?
    Please dont suggest me oracle doc im already studying.....its taking time....
    In the mean time......
    Step 1: Can i Analyze the table or dbms_stat package?
    We have not at all used the analyze or dbms_stat. So can i start with any of the above or do u have any other suggestions for the 1st step?
    Thanks

    our manager feels that if we tune our db the performance will be more than compared to the current one.you have a mystique manager then, ask him what kind of "feelings" does he have about my database ;) there is no place for feelings in this game, this is life cycle to be successful ; testing->reporting->analyzing->take nedded actions->re-testing->reporting->analyzing..
    so while you are surely reading the documentation;
    Oracle9i Database Performance Planning Release 2 (9.2)
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96532/toc.htm
    Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2)
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96533/toc.htm
    first thing you have to do is to setup an appropriate test environment with same os-oracle releases, parameters;
    -- some of them to check
    SELECT NAME, VALUE
      FROM v$system_parameter a
    WHERE a.NAME IN
           ('compatible', 'optimizer_features_enable',
            'optimizer_mode', 'pga_aggregate_target', 'workarea_size_policy',
            'db_file_multiblock_read_count', .. )and of course schema set and data amount. Then you run your application on load and take statspack snapshots and do the same after collecting statistics;
    -- customize for your configuration, schema level object statistics
    exec dbms_stats.gather_schema_stats( ownname =>'YOUR_SCHEMA', degree=>16, options=>'GATHER AUTO', estimate_percent=>dbms_stats.auto_sample_size, cascade=>TRUE, method_opt=>'FOR ALL COLUMNS SIZE AUTO', granularity=>'ALL');
    -- check your system stats, with sys account
    SELECT pname, pval1 FROM sys.aux_stats$ WHERE sname = 'SYSSTATS_MAIN';after you have the base report and the report after change compare the top 5 waits, the top queries which have dramatic logical I/O changes etc. At this point you go into session based tuning in order to understand why a specific query performs worser with CBO compared to RBO. You need to be able to create and read execution plans and i/o statistics at least. Here are some quick introductions;
    http://www.bhatipoglu.com/entry/17/oracle-performance-analysis-tracing-and-performance-evaluation
    http://psoug.org/reference/explain_plan.html
    http://coskan.wordpress.com/2007/03/04/viewing-explain-plan/
    and last words again goes to your manager; how does he "feel" about a 10gR2 migration? With Grid Control, AWR, ADDM and ASH performance tuning evolved a lot. Important note here, after 10g RBO is dead(unsupported).
    Best Regards,
    H.Tonguç YILMAZ
    http://tonguc.yilmaz.googlepages.com/
    Message was edited by:
    TongucY

  • Oracle Performance Forecasting / Capacity Planning

    Hi,
    I am being told to Analyse and Propose the Oracle Performance Forecasting / Capacity Planning, since our database are being hosted on co-hosting services. By planning we can help the cost of CPU, Memory and Disk projection.
    Is there any way, we can get the current workload from the current production environment, and calculate the forecast based on Statistical values.
    I know, we can get the current workload from AWR, but I dont know the calculations and proper judging method.
    Thanks in advance.

    If your application is typical, it will consumer resources in rough proportion to the load in transactions/queries per second. If your business is stagnant, the resources consumed will stay about the same.
    As load grows, though, you'll hit a point at which the response time starts to grow without bound. This is typical of growing businesses, or ones which have done acquisitions in order to improve their customer base.
    Capacity planning is knowing where that point is, and planning to stay far away from it (:-))
    If you can do a load test on a single instance of a cloud (or time-sharing) machine and replay previously recorded transactions, you can measure how many replayed users it will take to slow down the machine, and how many additional user it takes to bring the transaction time from a typical 2-3 seconds to 30.
    If you plot that line, you'll find you have a hyperbola or "hockey-stick" curve, and that will allow you and your financial mangers to plan on exactly how many users to cap a given machine at, to keep the performance below 3 seconds or so. After that many users, add another machine.
    The usual rule of thumb is to keep the response time from doubling from it's average at very low load, as after it's once doubled, it keeps doubling and redoubling with tiny increases in load.
    I personally like to model first and stress-test only to confirm I've not messed up. The tool of choice is Teamquest Model, and have used it to accurately measure and predict the behaviour of an Oracle database (and lots of other stuff). If you're interested in the theory behind this, read anything by Neil Gunther...
    --dave c-b                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Performance Tuning Guide Needed.

    I've seen numerous references to a "Performance Tuning Guide" Is there
    any way this document could be posted on the weblogic customer
    downloads.
    We desperately need this information. Even with working with Support so
    far the process has been trial and error. Try this, then try that. I've
    burnt many days just playing around with the properties and so far no
    luck.
    I've read just about every post in the performance newsgroup. Some seem
    to be the same types of problems we are currently facing. Great
    response when there are about 50 users. Horrible around 65. Slowness
    doesn't seem to be gradual. All of a sudden it starts to crawl. So far
    I haven't seen any posts regarding solutions (weblogic.properties
    settings) which I could try and use.
    We are currently using weblogic 4.0.3 on AIX 4.3 with Oracle 8.i. No
    native performance pack for that release. Will upgrading to 4.5.1
    increase performance dramatically? Our application is very database
    dependent. We use a the weblogic connection pool using Oracle's jdbc
    thin driver. Note Oracle's OCI driver has numerous bugs related to CLOB
    and BLOB retrieval which are used heavily in our database.
    Thanks,
    Don DeLuca

    Hi Don,
    I can't comment on the public posting of the Capacity Planning document.
    However, I can say that there is no magic formula for optimizing your
    WebLogic application. The biggest things to look at are the application
    design and code (e.g., unnecessary synchronization code), DBMS configuration
    and database design, JVM heap size (bigger is not always better), number of
    execute threads (more is not always better), number of database connections
    in the pool, whether or not you are using the performance pack, how much
    other activity is happening on the server machine, etc. I can tell you that
    trying to simulate a large number of clients from a single JVM client (using
    lots of threads) will lead you to believe that the server is having problems
    when it is really the client software/hardware that is often the limiting
    factor. In many of our large benchmarks, we end up using significantly more
    hardware for driving the clients than for running the server(s).
    Sorry I don't have any better answers for you,
    Robert
    Don DeLuca wrote:
    I've seen numerous references to a "Performance Tuning Guide" Is there
    any way this document could be posted on the weblogic customer
    downloads.
    We desperately need this information. Even with working with Support so
    far the process has been trial and error. Try this, then try that. I've
    burnt many days just playing around with the properties and so far no
    luck.
    I've read just about every post in the performance newsgroup. Some seem
    to be the same types of problems we are currently facing. Great
    response when there are about 50 users. Horrible around 65. Slowness
    doesn't seem to be gradual. All of a sudden it starts to crawl. So far
    I haven't seen any posts regarding solutions (weblogic.properties
    settings) which I could try and use.
    We are currently using weblogic 4.0.3 on AIX 4.3 with Oracle 8.i. No
    native performance pack for that release. Will upgrading to 4.5.1
    increase performance dramatically? Our application is very database
    dependent. We use a the weblogic connection pool using Oracle's jdbc
    thin driver. Note Oracle's OCI driver has numerous bugs related to CLOB
    and BLOB retrieval which are used heavily in our database.
    Thanks,
    Don DeLuca

  • Need Help - BPEL sizing & capacity planning

    Greetings,
    We are considering moving our EDI processing to Oracle Integration with BPEL. I have searched high and low for sizing and capacity planning guidelines for BPEL (and B2B) but have not been successful.
    Could one of you help me out with this - point me to links, send me actual documents etc. My contact information is included below.
    Thanks very much in advance.
    Milind Gadre
    Advanced Solutions Architect
    adx - Advanced Data Exchange
    t: 510.493.5119
    e: [email protected]

    Thare are some resources:
    Oracle Appserver Performance Guide, chapter 7 Tuning BPEL:
    http://download-west.oracle.com/docs/cd/B31017_01/core.1013/b28942/tuning_bpel.htm
    BPEL Webinar, performance tips
    http://www.oracle.com/technology/products/ias/bpel/htdocs/webinars.html
    In general every customer has his own unique business processs implemented. Based on the implementation of the application architecture of the BPEL processes, the best way to size the system is to measure it. What is the expected / estimated load of message that BPEL PM will process? What type of adapters is used? etc...

  • Machine capacity planning and efficency

    Dear Guru,
    I have number of machines and i want there individual capacity and efficency can we see that by any report or any tcode to see all capacity of machine.What is capacity leveling.
    Is thee any configuration for capacity planning.
    Thanks in advance

    Hi, the following configuration steps involved in the capacity planning: SPRO --> IMG --> PRODUCTION --> CAPACITY REQUIREMENT PLANNING Capacity Requirements Planning: 1) Define time units 2) Define Capacity Category 3) Set up Capacity Planner. 4) Define parameters 5) Define Standard value key. 6) Define Move time matrix. 7) Define Setup matrix. 8) Define Control Key. 9) Define Shift Sequence. 10) Define Key for performance efficiency rate. 11) Define Formula parameters. 12) Specify Scheduling type. 13) Set up Production scheduler group 14) Select Automatically. 15) Define Scheduling parameters for Production orders 16) Define Scheduling parameters for networks. 17) Define Reduction Strategies planned/ production orders. 18) Define Reduction Strategies for network/process orders. 19) Define Control Profile. 20) Define Selection profile. 21) Define time profile. 22) Define Evaluation profile. 23) Define Strategy Profile. You can follow these above configuration steps in capacity planning Yes you need to active your all work center for the finite scheduling at the bottom of capacity view. Use all standard SAP configurations, Capacity Leveling Profile. Define time profile in OPD2. Define the strategy profile in OPDB Define the Overall profiles in OPD0. Then only you need to to active your all work center for the finite scheduling at the bottom of capacity view in work center.(CR02) Then run MRP with scheduling- 2 Lead time scheduling and capacity planning.(MD02) You will get your capacity requirement in CM01, or CM25/CM21. In rem you can use MF50. -
    OR refer below steps Capacity Planning Evaluation: Use this procedure to Evaluate the Capacity of a Work Center (Resource). The same transaction will be used for finding out the Capacity Overload on the Work Center Select Logistics -> Production -> Capacity Planning -> Evaluation ->Work Center View ->Load and go to the Capacity Planning Selection screen (CM01) Through capacity planning : Standard overview :System will show week wise overload in Red Color. If there is no overload then system will show in the normal color. Date wise Capacity can be overviewed. If there were capacity overload, system would show with Red Color indication and Percentage overload can be viewed. Through capacity planning : Standard overview: Details: Date wise, planned process order wise capacity requirement. Through capacity planning : Standard overview: Graphical: Yellow Color indicates capacity lying un-used. Red Color Bars is the indication for Capacity Overload and Blue Color Bars indicate for Capacity available Use this procedure to Level / Schedule the Capacity of a Work Center Capacity Planning - Levelling/Scheduling: Select Logistics ->Production->Capacity Planning -> Levelling -> Work Center View and go to the Planning Table (Graphical) screen (CM21) Key Points u2022 This would be used for Shop floor production scheduling u2022 Capacity Scheduling is mandatory for correct results of Master Production Schedule and Material Requirement Planning For settings: Define formulas for resources: (OP54) IMG -> Production Planning For Process Industries -> Master Data ->Resource->Capacity requirements planning->Formulas for resources->Define formulas for resources. For formula parameters for Resource/workcentre:(OP51) IMG -> Production Planning For Process Industries -> Master Data ->Resource->Capacity requirements planning->Formulas for resources->Define formula parameters for resources-> Standard Value u2013 Define Parameters (OP7B) IMG -> Production Planning For Process Industries -> Master Data ->Resource-> General Data -> Standard value -> Define Parameters Define standard value key(OP19) IMG -> Production Planning For Process Industries -> Master Data ->Resource-> General Data -> Standard value -> Define Standard Value First configure the below settings in the capacity Planning. 1) Define time units Path : SPRO ->Production-> Capacity Requirements planning ->Master Data-> Define Time units (OPCF) 2) Define Capacity Category Path : SPRO ->Production ->Capacity Requirements planning->Master Data-> Capacity Data ->Define Capacity category. 3) Set up Capacity Planner. Path : SPRO ->Production ->Capacity Requirements planning -> Master Data->Capacity Data -> Set up Capacity Planner 4) Define parameters Path : SPRO->Production ->Capacity Requirements planning -> Master Data ->Work Center Data->Standard value ->Define Parameters (OP7B) 5)Define Move time matrix. Path : SPRO -> Production-> Capacity Requirements Planning -> Master Data-> Work Center Data -> Define Move time Matrix (OPCN) 6) Define Setup matrix. Path : SPRO -> Production ->Capacity Requirements Planning -> Master Data -> Routing data -> Define Setup Time Matrix 7)Define Control Key. Path : SPRO-> Production-> Capacity Requirements Planning -> Master Data ->Routing data -> Define Control Key(OPCG) 8) Define Shift Sequence. Path : SPRO -> Production-> Capacity Requirements Planning -> Operations -> Define Shift Sequences (OP4A) 9) Define Key for performance efficiency rate. Path : SPRO-> Production -> Capacity Requirements Planning -> Operations-> Available Capacity-> Define Key Performance Efficiency Rate (OPDU) 11) Specify Scheduling type. Path : SPRO ->Production ->Capacity requirements Planning->Operations->Scheduling ->Specify Scheduling Type (OPJN) 12) Set up Production scheduler group. Path : SPRO ->Production->Capacity requirements Planning -> Operations -> Scheduling -> Set up Production Scheduler Group (OPCH) 13) Select Automatically. Path : SPRO -> Production -> Capacity Requirements Planning ->Operations->Scheduling ->Task List Type-> Select Automatically (OPJF) 14) Define Scheduling parameters for Production orders. Path : SPRO -> Production ->Capacity Requirements Planning-> Operations->Scheduling -> Define Scheduling Parameters for Production orders (OPU3) 15) Define Reduction Strategies planned/ production orders. Spro-> Production->Capacity reqirements planning->operations->Scheduling->Reduction strategies->Define reduction strategies planned-/production order 16) Define Reduction Strategies for network/process orders. Spro-> Production->Capacity reqirements planning->operations->Scheduling->Reduction strategies-> Define reduction strategies for network/process order 17) Define Selection profile. Spro->Production->Capacity requirements Planning->Evalution->Profiles-> Define selection profiles Hope clear to u. Regards Alok

  • Performance tuning of BPEL processes in SOA Suite 11g

    Hi,
      We are working with a customer for performance tuning of SOA Suite 11g, one of the areas is to tune the BPEL processes. I am new to this and started out with stress testing Hello World process using SOAPUI tool. I would like help with the below topics -
    1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
    2. Do we need to run stress tests for every BPEL process deployed?
    2. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
    Thanks in advance!
    Sritama

    1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
    You need
    pay attention to:
    java heap usage vs java heap capacity
    java eden usage vs java eden capacity
    JDBC pool initial connections vs JDBC pool capacity connections
    if you are using linux: top
    if you are using aix: topas
    2. Do we need to run stress tests for every BPEL process deployed?
    yes, you need test each BPEL. You can use "Jmeter" tool.
    Download Jmeter from here: Apache JMeter - Apache JMeter&amp;trade;
    Other tools:
    jstat
    jstack
    jps -v
    Enterprise Manager
    WebLogic Console
    VisualVM
    JRockit Mission Control
    3. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
    I recommend "Oracle SOA Suite 11g Performance Tuning Cookbook" http://www.amazon.com/Oracle-Suite-Performance-Tuning-Cookbook/dp/1849688842/ref=sr_1_1?ie=UTF8&qid=1378482031&sr=8-1&keywords=oracle+soa+suite+11g+performance+tuning+cookbook

  • 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

  • Bandwidth Utilization Avg or Max for capacity Planning best practice

    Hello All - This is a conceptual or Non-Cisco product question. Hope you can help me to get this best industry practice
    I am doing a Capacity planning for the WAN Link Bandwidth. To study the last month bandwidth utilization in the MRTG graph, i am seeing  two values
    Average
    Maximum.
    To measure how much bandwidth my remote location is using which value i have to use. Average or Max?
    Average is always low eg. 20% to 30%
    Maximum is continuous 100% for 3 hour in 3 different intervals in a day and become 60% in rest of the day
    What is the best practice followed in the networking industry to derive the upgrade size of the bandwidth by using the Utilization graph
    regards,
    SAIRAM

    Hello.
    It makes no sense to use average during whole day (or a month), as you do the capacity management to avoid business impact due to link utilization; and average does not help you to catch is the end-users experience any performance issues.
    Typically your capacity management algorithm/thresholds are dependent on traffic patterns. As theses are really different cases if you run SAP+VoIP vs. youtube+Outlook. If you have any business critical traffic, you need to deploy QoS (unless you are allowed to increase link bandwidth infinitely).
    So, I would recommend to use 95-percentile of maximum values on 5-15 minutes interval (your algorithm/thresholds will be really sensitive to pooling interval, so choose it carefully). After to collect baseline (for a month or so)  - go and ask users about their experience and try to correlate poor experience with traffic bursts. This would help you to define thresholds for link upgrade triggers.
    PS: proactive capacity management includes link planning for new sites and their impact on existing links (in HQ and other spoke).
    PS2: also I would recommend to separately track utilization during business hours (business traffic) and non-business (service or backup traffic).

  • Siebel Upgrade and Performance Tuning On Oracle 11g Training At Oracle Open

    Hi All,
    If you are interested in attending a Siebel Upgrade and Performance Tuning for Oracle 11g please let me know. We are planning to offer this course during the same week as OOW in San Francisco. For anyone who can’t attend in person we are planning to offer a net meeting with a dial in.
    This education is offered to actual Siebel customers.
    R
    Robert Ponder
    Lead Architect and Director
    Ponder Pro Serve
    cell: 770.490.2767
    fax: 770.412.8259
    email: [email protected]
    web: www.ponderproserve.com

    Hi All,
    If you are interested in attending a Siebel Upgrade and Performance Tuning for Oracle 11g please let me know. We are planning to offer this course during the same week as OOW in San Francisco. For anyone who can’t attend in person we are planning to offer a net meeting with a dial in.
    This education is offered to actual Siebel customers.
    R
    Robert Ponder
    Lead Architect and Director
    Ponder Pro Serve
    cell: 770.490.2767
    fax: 770.412.8259
    email: [email protected]
    web: www.ponderproserve.com

  • Performance Tuning Query on Large Tables

    Hi All,
    I am new to the forums and have a very specic use case which requires performance tuning, but there are some limitations on what changes I am actualy able to make to the underlying data. Essentially I have two tables which contain what should be identical data, but for reasons of a less than optimal operational nature, the datasets are different in a number of ways.
    Essentially I am querying call record detail data. Table 1 (refered to in my test code as TIME_TEST) is what I want to consider the master data, or the "ultimate truth" if you will. Table one contains the CALLED_NUMBER which is always in a consistent format. It also contains the CALLED_DATE_TIME and DURATION (in seconds).
    Table 2 (TIME_TEST_COMPARE) is a reconciliation table taken from a different source but there is no consistent unique identifiers or PK-FK relations. This table contains a wide array of differing CALLED_NUMBER formats, hugely different to that in the master table. There is also scope that the time stamp may be out by up to 30 seconds, crazy I know, but that's just the way it is and I have no control over the source of this data. Finally the duration (in seconds) can be out by up to 5 seconds +/-.
    I want to create a join returning all of the master data and matching the master table to the reconciliation table on CALLED_NUMBER / CALL_DATE_TIME / DURATION. I have written the query which works from a logi perspective but it performs very badly (master table = 200,000 records, rec table = 6,000,000+ records). I am able to add partitions (currently the tables are partitioned by month of CALL_DATE_TIME) and can also apply indexes. I cannot make any changes at this time to the ETL process loading the data into these tables.
    I paste below the create table and insert scripts to recreate my scenario & the query that I am using. Any practical suggestions for query / table optimisation would be greatly appreciated.
    Kind regards
    Mike
    -------------- NOTE: ALL DATA HAS BEEN DE-SENSITISED
    /* --- CODE TO CREATE AND POPULATE TEST TABLES ---- */
    --CREATE MAIN "TIME_TEST" TABLE: THIS TABLE HOLDS CALLED NUMBERS IN A SPECIFIED/PRE-DEFINED FORMAT
    CREATE TABLE TIME_TEST ( CALLED_NUMBER VARCHAR2(50 BYTE),
                                            CALLED_DATE_TIME DATE, DURATION NUMBER );
    COMMIT;
    -- CREATE THE COMPARISON TABLE "TIME_TEST_COMPARE": THIS TABLE HOLDS WHAT SHOULD BE (BUT ISN'T) IDENTICAL CALL DATA.
    -- THE DATA CONTAINS DIFFERING NUMBER FORMATS, SLIGHTLY DIFFERENT CALL TIMES (ALLOW +/-60 SECONDS - THIS IS FOR A GOOD, ALBEIT UNHELPFUL, REASON)
    -- AND DURATIONS (ALLOW +/- 5 SECS)                                        
    CREATE TABLE TIME_TEST_COMPARE ( CALLED_NUMBER VARCHAR2(50 BYTE),
                                       CALLED_DATE_TIME DATE, DURATION NUMBER )                                        
    COMMIT;
    --CREATE INSERT DATA FOR THE MAIN TEST TIME TABLE
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 202);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 08:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 19);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 07:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 35);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 09:10:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 30);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:18:47 AM', 'MM/DD/YYYY HH:MI:SS AM'), 6);
    INSERT INTO TIME_TEST ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:20:21 AM', 'MM/DD/YYYY HH:MI:SS AM'), 20);
    COMMIT;
    -- CREATE INSERT DATA FOR THE TABLE WHICH NEEDS TO BE COMPARED:
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '7721345675', TO_DATE( '11/09/2011 06:10:51 AM', 'MM/DD/YYYY HH:MI:SS AM'), 200);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '00447721345675', TO_DATE( '11/09/2011 08:10:59 AM', 'MM/DD/YYYY HH:MI:SS AM'), 21);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '07721345675', TO_DATE( '11/09/2011 07:11:20 AM', 'MM/DD/YYYY HH:MI:SS AM'), 33);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '+447721345675', TO_DATE( '11/09/2011 09:10:01 AM', 'MM/DD/YYYY HH:MI:SS AM'), 33);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '+447721345675#181345', TO_DATE( '11/09/2011 06:18:35 AM', 'MM/DD/YYYY HH:MI:SS AM')
    , 6);
    INSERT INTO TIME_TEST_COMPARE ( CALLED_NUMBER, CALLED_DATE_TIME,
    DURATION ) VALUES (
    '004477213456759777799', TO_DATE( '11/09/2011 06:19:58 AM', 'MM/DD/YYYY HH:MI:SS AM')
    , 17);
    COMMIT;
    /* --- QUERY TO UNDERTAKE MATCHING WHICH REQUIRES OPTIMISATION --------- */
    SELECT MAIN.CALLED_NUMBER AS MAIN_CALLED_NUMBER, MAIN.CALLED_DATE_TIME AS MAIN_CALL_DATE_TIME, MAIN.DURATION AS MAIN_DURATION,
         COMPARE.CALLED_NUMBER AS COMPARE_CALLED_NUMBER,COMPARE.CALLED_DATE_TIME AS COMPARE_CALLED_DATE_TIME,
         COMPARE.DURATION COMPARE_DURATION     
    FROM
    SELECT CALLED_NUMBER, CALLED_DATE_TIME, DURATION
    FROM TIME_TEST
    ) MAIN
    LEFT JOIN
    SELECT CALLED_NUMBER, CALLED_DATE_TIME, DURATION
    FROM TIME_TEST_COMPARE
    ) COMPARE
    ON INSTR(COMPARE.CALLED_NUMBER,MAIN.CALLED_NUMBER)<> 0
    AND MAIN.CALLED_DATE_TIME BETWEEN COMPARE.CALLED_DATE_TIME-(60/86400) AND COMPARE.CALLED_DATE_TIME+(60/86400)
    AND MAIN.DURATION BETWEEN MAIN.DURATION-(5/86400) AND MAIN.DURATION+(5/86400);

    What does your execution plan look like?

  • Steps for performance Tuning....!!!!

    Hi all,
    I need your help in Performance tuning.
    While we do tuning in Oracle, apart from Indexes, where clause and order by clause, what are the other points we need to check. I mean explain plan etc...
    I am working as Informatica Developer, but i need to make an documents which points out what are the step we can check while doing performance tuning on SQL queries.
    Thanks in advance for your help.

    Hi,
    have a look into these link.it may helpful to you.
    When your query takes too long .
    When your query takes too long ...
    * HOW TO Post a SQL statement tuning request template posting *
    HOW TO: Post a SQL statement tuning request - template posting
    Edited by: Ravi291283 on Jul 28, 2009 4:00 AM
    Edited by: Ravi291283 on Jul 28, 2009 4:01 AM
    Edited by: Ravi291283 on Jul 28, 2009 4:02 AM

Maybe you are looking for