Adding indexes to a table is slowing down query performance.

I am running a query against a table which contains approx. 4 million records in it. So I created 4 indexes on the table and noticed that the performance on my query drastically decreased. I went back and began remove and creating the indexes in different combinations. It turns out that whenever two of four indexes are created the performance worsens. The strange thing about this problem is when I do an explain plan on the query the cost is greater when the performance is better and the cost is less when the performance is worse. Also Oracle only uses one out of the four indexes on the table for this query.
I'd like to try to understand what is going on with the Oracle optimizer to try to fix this problem.

Mark,
Below is the information you requested.
DATABASE: 10.2.0.3.0
QUERY:
select distinct object, object_access from betweb_objects
where instr(object_access,'RES\') = 0
and object_access_type = 'ADM'
and object in (select distinct object
from betweb_objects
where instr(object_access,'RES\') = 0
and object_access_type = 'NTK'
and object not like '%.%'
and substr(object_access,instr(object_access,'\')+1) in (select distinct substr(object_access,instr(object_access,'\')+1)
from betweb_objects
where object_access_type = 'NTK'
and instr(object_access,'RES\') = 0
minus
select distinct upper(id)
from uamp.ad_users
where status = 'A'))
TABLE:
BETWEB_OBJECTS
OBJECT                VARCHAR2
OBJECT_ACCESS           VARCHAR2
OBJECT_ACCESS_TYPE      VARCHAR2
INDEXES ON BETWEB_OBJECTS:
BETWEB_OBJECTS_IDX1
OBJECT
BETWEB_OBJECTS_IDX2
OBJECT_ACCESS
BETWEB_OBJECTS_IDX3
OBJECT_ACCESS_TYPE
BETWEB_OBJECTS_IDX4
OBJECT_ACCESS
OBJECT_ACCESS_TYPE
TABLE:
AD_USERS
ID                VARCHAR2
DOMAIN           VARCHAR2
FNAME           VARCHAR2
LNAME           VARCHAR2
INITIALS           VARCHAR2
TITLE           VARCHAR2
DN                VARCHAR2
COMPANY           VARCHAR2
DEPARTMENT      VARCHAR2
PHONE           VARCHAR2
MANAGER           VARCHAR2
STATUS           VARCHAR2
DISPLAY_NAME      VARCHAR2
EXPLAIN PLAN when performance is better:
SELECT STATEMENT      Rows=13,414      Time=643,641      Cost=53,636,676      Bytes=6,948,452
HASH UNIQUE           Rows=13,414      Time=643,641      Cost=53,636,676      Bytes=6,948,452
HASH JOIN           Rows=694,646,835      Time=428           Cost=35,620      Bytes=359,827,060,530
VIEW VW_NSO_1           Rows=542           Time=42           Cost=3,491           Bytes=163,684
MINUS
SORT UNIQUE           Rows=542                               Bytes=9,756
INDEX FAST FULL SCAN BETWEB_OBJECTS_IDX4 Rows=26,427      Time=40           Cost=3,302           Bytes=475,686
SORT UNIQUE           Rows=16,228                          Bytes=178,508
TABLE ACCESS FULL AD_USERS Rows=16,360      Time=2           Cost=113           Bytes=179,960
HASH JOIN                Rows=128,163,623      Time=322           Cost=26,805      Bytes=27,683,342,568
TABLE ACCESS FULL BETWEB_OBJECTS Rows=9,161           Time=154           Cost=12,805      Bytes=989,388
TABLE ACCESS FULL BETWEB_OBJECTS Rows=25,106      Time=154           Cost=12,822          Bytes=2,711,448
EXPLAIN PLAN when performance is worse:
SELECT STATEMENT      Rows=13,414      Time=22,614      Cost=1,884,484      Bytes=2,897,424
HASH UNIQUE           Rows=13,414      Time=22,614      Cost=1,884,484      Bytes=2,897,424
HASH JOIN                Rows=128,163,623      Time=322           Cost=26,805      Bytes=27,683,342,568
TABLE ACCESS FULL BETWEB_OBJECTS Rows=9,161           Time=154           Cost=12,805      Bytes=989,388
TABLE ACCESS FULL BETWEB_OBJECTS Rows=25,106      Time=154           Cost=12,822      Bytes=2,711,448
MINUS
SORT UNIQUE NOSORT      Rows=209           Time=40           Cost=3,305           Bytes=3,762
INDEX FAST FULL SCAN BETWEB_OBJECTS_IDX4 Rows=264           Time=40           Cost=3,304           Bytes=4,752
SORT UNIQUE NOSORT      Rows=164           Time=2           Cost=115           Bytes=1,804
TABLE ACCESS FULL AD_USERS Rows=164           Time=2           Cost=114           Bytes=1,804

Similar Messages

  • Why is my 15'' macbook pro Early 2011 slowing down in performance often?

    Why is my 15'' macbook pro Early 2011 slowing down in performance often? It's barely got anything in it and it lags alot of times. This is supposedly running on quad-core i7 2.2 yet I have to restart at times to make sure it gets better. Why is that so?
    I turn on activity monitor and there aren't even anything taking up power or memory. It just lags out of the blue.

    Activity Monitor may still offer a clue. By default, it shows only "My Processes," those related to your user account. To see the real picture, you need to set AM to show "All Processes" as in this view:
    Click the header "%CPU" to sort by usage. Most true resource hogs are only apparent in this view.

  • How does Index fragmentation and statistics affect the sql query performance

    Hi,
    How does Index fragmentation and statistics affect the sql query performance
    Thanks
    Shashikala
    Shashikala

    How does Index fragmentation and statistics affect the sql query performance
    Very simple answer, outdated statistics will lead optimizer to create bad plans which in turn will require more resources and this will impact performance. If index is fragmented ( mainly clustered index,holds true for Non clustred as well) time spent in finding
    the value will be more as query would have to search fragmented index to look for data, additional spaces will increase search time.
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers
    My TechNet Wiki Articles

  • Index slows down query execution

    Hello everybody,
    I have reordered the join conditions for the query...
    select (first_name||' '||middle_name||' '||last_name) name,regn_no,age,gender,
    (select loc_name from locations where loc_id=location_code and loc_h_id='L6') district,
    person_id from persons p,musers u where reg_center_id=u.center_id and
    p.ipop='RG' and u.user_id = '8832' and u.eff_end_dt is null and p.CID = '1' order by p.crt_dt desc
    like this...
    select (first_name||' '||middle_name||' '||last_name) name,regn_no,age,gender,
    (select loc_name from locations where loc_id=location_code and loc_h_id='L6') district,
    person_id from musers u, persons p where reg_center_id=u.center_id and u.user_id = '8832'
    and p.ipop='RG' and u.eff_end_dt is null and p.CID = '1'
    because
    select count(*) from persons p, musers u where reg_center_id=u.center_id and
    p.ipop='RG' is 13002
    and
    select count(*) from persons p, musers u where reg_center_id=u.center_id and u.user_id = '8832' is 1007.
    In this excercise I have a couple of questions..
    1. This did not show any difference in the CPU time.
    and,
    I have created an index 'idx_ipop_persons' on persons(ipop) "create index idx_ipop_persons on persons(ipop)".
    2. The query is taking more time to execute than it was before creating the index.
    Please help me...
    Thanks,
    Aswin.

    Please post the execution plan for your query.
    And also i need some details:
    select count(*) from person where ipop='RG';
    How many records fetch?
    select distinct ipop from persons; --How many
    records fetch?
    Regards
    RajaBaskar
    Execution plan:
    Execution Plan
    0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=921 Card=176 Bytes
    =11088)
    1 0 TABLE ACCESS (BY INDEX ROWID) OF 'LOCATIONS' (TABLE)
    (Cost=2 Card=1 Bytes=38)
    2 1 INDEX (RANGE SCAN) OF 'IDX_LOCID_LOCHDR_LOCATIONS' (INDE
    X) (Cost=1 Card=1)
    3 0 TABLE ACCESS (BY INDEX ROWID) OF 'PERSONS' (TABLE) (
    Cost=918 Card=176 Bytes=9152)
    4 3 NESTED LOOPS (Cost=921 Card=176 Bytes=11088)
    5 4 TABLE ACCESS (BY INDEX ROWID) OF 'MUSERS' (TA
    BLE) (Cost=3 Card=1 Bytes=11)
    6 5 INDEX (RANGE SCAN) OF 'PK_MUSERS' (INDEX (UNIQUE)
    ) (Cost=2 Card=1)
    7 4 INDEX (RANGE SCAN) OF 'IDX2_PERSONS' (INDEX) (Co
    st=1 Card=1464)
    select count(*) from person where ipop='RG';
    count(*)
    12135
    select distinct ipop from persons;
    distinct ipop
    RG
    OP
    IP
    RF
    CR

  • Creating a view may casue slow down the performance

    Hi,
    I would like to know if i create a view for a table (resb), the program , includes update/inserts statement to this table, will be be affected. I do not want to affect standard SAP program's running time. Tnanks.

    Hi Rich,
    Thank you for your reply. I understand creating index will affect performance.
    Regards,
    Furong

  • Serious slowing down of performance after updating Flash Player.

    Hello guys, after updating today Flash Player i had expirienced severe lagging during playing flash video files from sources like youtube, any advices how can i turn my system back to the previous version of flash player? Or something like patching, because now, every flash video i play is with lagging. 
    My Flash Player version is now 11.2.202.228
    My configuration is an Athlon 2500+; 1GB Ram DDR400; Radeon X1550 256MB
    P.S. Please reply me to my e-mail.
    Thank you!
    Message was edited by: John Smith 1

    O/S Windows XP Professional 32Bit + Ati Catalyst Drivers "10-2_legacy_xp32-64_dd_ccc" and I am generally using Firefox up to date.
    I made yesterday an experiment, removed the 11th version of Flash Player Plugin & ActiveX, and installed from the archive the 10th version of plugin + 11th activex and then everything worked like it supposed to be - fine.But i have failed to install 10th version of ActiveX, i'ts just telling me that cannot be installed, some kind of error.
    P.S. I think i've fixed my issues, i tried to install again from the Adobe Flash Player archive version 10.3.183.18 ActiveX & Plugin and i did it.Now .flv are running like 2 days ago - without any problems.
    Maybe the thing is that my configuration is slow for the new version of the player,my CPU isn't multicore, but still it is not bad for the Adobe programmers to optimize the new version better for slower pc's.
    Cheers!
    Message was edited by: John Smith 1

  • Thunderbolt with Pegasus R4 heavily slows down boot performance of internal SSD

    After connecting a Promise Pegasus R4 Raid with a Thunderbolt cable, my Mac Book Pro 2011 (Snow Leopard) needs about 60(!) seconds longer to boot from the internal SSD. Without the Raid connected, my MacBook Pro needs about 20 seconds to boot. When I press the power button, the display of the MBP is more than 20 seconds black before the bootsequece starts. I shorly can hear the CD drive beeing checked after pressing the power button - as usual. The RAID is the only periphal connected via Thunderbolt. No softwareupdates are available. Raid and SSD are pretty fast after the system booted. Is this behavior normal?

    Mrvoeg,
    I appreciate you posting that information.  Here is what I got with my setup.
    X Bench 1.3: 
    Results          485.29
              System Info
                             Xbench Version                    1.3
                              System Version                    10.7.2 (11C74)
                              Physical RAM                    16384 MB
                             Model                    iMac12,2
                             Drive Type                    Promise Pegasus R4, 4TB Raid 10
              Disk Test          485.29
                              Sequential          290.32
                                       Uncached Write          1076.83          661.16 MB/sec [4K blocks]
                                        Uncached Write          534.43          302.38 MB/sec [256K blocks]
                                       Uncached Read          104.64          30.62 MB/sec [4K blocks]
                                       Uncached Read          703.33          353.49 MB/sec [256K blocks]
                              Random          1477.57
                                        Uncached Write          1021.43          108.13 MB/sec [4K blocks]
                                       Uncached Write          970.43          310.67 MB/sec [256K blocks]
            Uncached Read          4465.91          31.65 MB/sec [4K blocks]
                                        Uncached Read          2110.82          391.68 MB/sec [256K blocks]
    This is with just over 1.5TB used out of the available 2TB
    Thanks again.  I will post back again when I have my Lacie Drive up and running as a boot drive.

  • Excel Pivot Table with Date Hierarchies - query performance degradation

    For the sake of this explanation, I’m going to try and keep it simple. Slicing the data by additional dimensions only makes the issue worse. I’ll keep this description to one fact table and three dimensions. Also, I’m fairly new to SSAS Tabular; I’ve worked
    with SSAS Multidimensional in the past.
    We’ve got a fact table that keeps track of bill pay payments made over time. Currently, we only have about six months of data, with the fact row count at just under 900,000 rows. The grain is daily.
    There is an Account dimension (approx. 460,000 rows), with details about the individual making a payment.
    There is a Payment Category dimension (approx.. 35,000 rows), which essentially groups various Payees into groups which we like to report on: Automobile Loan, Mortgage, Insurance, etc.
    There is the requisite Date dimension  (exactly 62093 rows-more days than we need?), which allows visibility as to what is being paid when.
    Using this DW model, I’ve created a SSAS BISM Tabular model, from which Excel 2010 is ultimately used to perform some analysis, using Pivot Tables. In the tabular model, for easier navigation (doing what I’ve always done in SSAS MultiDimensional), I’ve created
    several Date Hierarchies, Year-Month, Year-Quarter-Month, etc.
    There are currently only two measures defined in the Tabular model: one for the “Sum of PaymentAmount”; one for the “PaymentsProcessed”.
    OK, in Excel 2010, using a Pivot Table, drag the “Sum of PaymentAmount” measure to the Values section, next to/under the PivotTable Field List. Not too exciting, just the grand total of all Payments, for all time.
    Drag the “YearMonth” hierarchy (from the Date dimension) to the “Column Labels” section. After expanding the year hierarchy to see the months, now the totals are for each of the months, for which we have data, for June through November, 2013.
    Drag the “PaymentCategory” (from the Payment Categories dimension) to the “Report Filter” section. Filter accordingly: We just want to see the monthly totals for “Automobile Loans”.
    Now, some details. Drag the “AccountSK” (hiding the actual account numbers) to the “Row Labels” section. This shows all accounts that have made Automobile Loan payments over the last six months, showing the actual payment amounts.
    So far, so good. Remember, I’m using a Date Hierarchy here, in this case “YearMonth”
    Now, if any of the other attributes on the Account dimension table, say “CreditScore”, or “LongName”, are subsequently dragged over to the “Row Lables” section, under the “AccountSK”, the results will never come back, before timing out or by giving up and
    pressing ESCape!
    If this exact scenario is done by removing the Date Hierarchy, “YearMonth” from the “Column Labels” and replace it with “Year” and “MonthName” attributes from the Date dimension, these fields not being in any sort of hierarchy, adding an additional “Account”
    attribute does not cause any substantial delay.
    What I’m trying to find out is why is this happening? Is there anything I can do as a work around, other than what I’ve done by not using a Date Hierarchy? Is this a known issue with DAX and the query conversion to MDX? Something else?
    I’ve done a SQL Profiler trace, but I’m not sure at this point what it all means. In the MDX query there is a CrossJoin involved. There are also numerous VertiPaq Scans which seems to be going through each and every AccountSK in the Account dimension, not
    just the ones filtered, to get an additional attribute (About 3,600 accounts which are “Automobile Loan” payments.).
    Any thoughts?
    Thanks! Happy Holidays!
    AAO

    Thanks for your reply Marco. I've been reading your book, too, getting into Tabular.
    I've set up the Excel Pivot Table using either the Year/MonthName levels, or the YearMonth hierarchy and then adding the additional attribute for the CreditScore.
    Incidentally, when using the YearMonth hierarchy and adding the CreditScore, all is well, if the Year has not been "opened". When this is done, I suspect the same thing is going on.
    From SQL Profiler, each of the individual MDX queries below (formatted a bit for readability).
    Thanks!
    // MDX query using separate Year and MonthName levels, NO hierarchy.
    SELECT 
    NON EMPTY 
    Hierarchize(
    DrilldownMember(
    CrossJoin(
    {[Date].[Year].[All],[Date].[Year].[Year].AllMembers}, 
    {([Date].[MonthName].[All])}
    ,[Date].[Year].[Year].AllMembers, [Date].[MonthName]
    DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
    ON COLUMNS, 
    NON EMPTY 
    Hierarchize(
    DrilldownMember(
    CrossJoin(
    {[Accounts].[AccountSK].[All],[Accounts].[AccountSK].[AccountSK].AllMembers}, 
    {([Accounts].[CreditScore].[All])}
    ,[Accounts].[AccountSK].[AccountSK].AllMembers, [Accounts].[CreditScore]
    DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
    ON ROWS  
    FROM [PscuPrototype] 
    WHERE ([PaymentCategories].[PaymentCategory].&[Automobile Loan],[Measures].[Sum of PaymentAmount]) 
    CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
    // MDX query using separate YearMonth hierarchy (Year, MonthName).
    SELECT 
    NON EMPTY 
    Hierarchize(
    DrilldownMember(
    {{DrilldownLevel({[Date].[YearMonth].[All]},,,INCLUDE_CALC_MEMBERS)}}, 
    {[Date].[YearMonth].[Year].&[2013]},,,INCLUDE_CALC_MEMBERS
    DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
    ON COLUMNS,
    NON EMPTY 
    Hierarchize(
    DrilldownMember(
    CrossJoin(
    {[Accounts].[AccountSK].[All],[Accounts].[AccountSK].[AccountSK].AllMembers}, 
    {([Accounts].[CreditScore].[All])}
    ,[Accounts].[AccountSK].[AccountSK].AllMembers, [Accounts].[CreditScore]
    DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
    ON ROWS  
    FROM [PscuPrototype] 
    WHERE ([PaymentCategories].[PaymentCategory].&[Automobile Loan],[Measures].[Sum of PaymentAmount]) 
    CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
    AAO

  • Table size effect on query performance

    I know this sounds like a very generic question, but, how much does table size affect the performance of a query?
    This is a rather unusual case actually. I am running a query on two tables, say, Table1 and Table2. Table1 is roughly 1 million record. Whereas for Table2, I tried using different number of records.
    The resultant query returns 150,000 records. If I keep Table2 to 500 records, the query execution time takes 2 minutes. But, if I increase Table2 to 8,000 records, it would take close to 20 minutes!
    I have checked the "Explain plan" statement and note that the indexes for the columns used for joining the two tables are being used.
    Is it normal for table size to have such a big effect on performance time, even when number of records is under the 10,000 range?
    Really appreciate your inputs. Thanks in advance.

    Did you update your statistics when you changed the size of Table2? The CBO will probably choose different plans as the size of Table2 changes. If it thinks there are many more or fewer rows, you're likely to have performance issues.
    Justin

  • Urgent: WAD performance is very slow than query performance

    Hi,
       If i execute the report(using query with variables) which contains 8,50,000 records in WAD then its taking more than 900 seconds and say Connection timed out at the end.
      If i execute the same query in Query designer using Web browser then it will take 400 seconds to show all the data in hierarchy or tabular view.
      I've done tuning using RSRT on query read mode and persistent mode etc..
      Can you please help me?
    THanks in advance. Points will be given...
    Reg,
      Varun

    Varun,
    Did you ever solve the performance issue of WAD report.  We are having the same issue of WAD performance lot slower than executing just as a Query.
    Thanks

  • IPad YouTube slow down

    iPad was working just fine but now even at home when I want to watch a video it takes forever also  while using safari any suggestions ....???

    Wifi speed?  Do you have an ap like speed test to check your speed?  As more and more devices get added, shared connections, like cable, wil slow down with heavy usage.
    Has anything in your setup changed?

  • CONTAINS clause still works after disabling fulltext index on a table

    I disabled the fulltext index on a table using the below query:
    USE <dbname>;
    GO
    ALTER FULLTEXT INDEX ON <table_name> DISABLE
    Per BOL, "The table will not support full-text queries while the index is disabled.", I would expect the CONTAINS clause to stop working but I can still return rows from the <table_name> as before.
    SELECT top 10 * 
      FROM [dbo].[table_name]
      WHERE CONTAINS(<column>, N'test');
    The above returns 10 rows before and after disabling the index.
    Do i need to do something else?
    I even tried DENY permissions:
    DENY CONTROL, TAKE OWNERSHIP, ALTER, REFERENCES, VIEW DEFINITION ON FULLTEXT CATALOG::<catalog_name>
    TO <some_database_roles including public>
    Please help.
    Thanks
    Thanks

    Charles,
    Do you have any DDL Triggers on your server that might affect whether the full text index could be disabled?
    Any Policies that might likewise affect your results?
    RLF

  • Index on Publisher Table ( CDC Setup)

    We have Aync Auto Log CDC setup in place on Oracle 11.1.0.7. Everything is working fine but had a question on performance of select on the tables owned by publisher.
    As per my understanding, changes are captured in tables owned by Publisher and Subscriber had view based on those tables. Our data warehouse application reads these views ( so publisher tables)
    I am seeing no index on publisher tables and also seeing bad performance on select on these views/tables. So thinking to create index on columns - CSCN$, ROW_ID$, on which our select are based.
    Can anyone share such experience or any idea on this....?
    Thank you in advance!
    Mahesh

    Mahesh,
    I've seen couple of issues same as what you said. It is possible to create the additional indexes on the change tables (the publisher table that you referred) on columns like CSCN$, RSID$ etc. Since the apply process has to populate the change table it would have a minor overhead to populate these indexes as well.
    Thanks,
    Rijesh

  • My external hard drives seem to slow down my iMac

    Hello,
    I've encountered an odd situation in that the external hard drives I use to hold all of my files seem to slow down the performance of my iMac. I have two Lacie 1 tb externals plugged into my 2006 2.0 Ghz iMac with 2 gig of ram. I've had these two externals for about two months and for the same amount of time, any other item (ipod, card reader, thumb drive) I'd plug in would take several min to mount onto my computer. From there, the data transfer from my external or internal hard drive is slightly delayed and slower as well.
    I unmounted these externals today and plugged in a thumb drive to test and it immediately mounted to my computer! I never thought an external could effect the mounting of other, smaller, externals!
    I'm just wondering if there's anything I can do to fix this problem? My itunes music files are stored on my externals and I'm a photographer, so I'd need regular access to my externals to get to my pictures.
    Thanks for all your help. I can usually find the answer to my problem by browsing around in discussions, but I find this situation to be a bit of a unique one!

    kromedomio wrote:
    Sorry, It's connected to my iMac via Firewire 400. I have the externals connected to each other via Firewire 800.
    In regards to types of files, I have my itunes library, photo (Raw Canon 50d files), Adobe (photoshop, indesign, illustrator) and Word files all on the external. I basically moved everything off my internal and store it all on my external now, so I'm accessing it a lot through the day.
    I'm wondering just why you did that. Surely you know that F/W 400 is much slower than your internal HD?
    I'd be inclined to move things that involve heavy I/O during editing (photos and videos, especially) back to the internal. I suspect you'll see a large improvement.

  • JVM performance slowed down after

    Hello all,
    My java application is heavily multithreaded and its supposed to run as a 24/7 service. Its supposed to collect SMS from different servers, store in memory/flat-files and send them to clients.
    The application has been running for the past 6 days and
    the JVM has slowed down considerably. (performance has gone down)
    Initially the app used to receive/send arnd 50 SMS per second and now it process aroubd 20-25 SMS per second.
    I've been using Your kit profiler to profile my app.
    The maximum heap I allocated was 500MB; the alloted Heap shown in the
    profiler is 95MB and the used Heap is 65MB
    The CPU usage looks fairly stable,i.e. it does go up when SMS comes in
    and i/o operations takes place and goes to 0% when no process is being done.
    memory usage also looks fairly stable.
    (No explicit memory leaks)
    The application has over 133 threads and that stays the same as per
    the profiler tool kit.
    Also in my application I have a maintainance phase at 23:00 hours during which i do some cleaning work like
    -deleting of expired SMS from memory
    -deleting old log files
    -deleteing other flat files
    -and finally I explicitly call the garbage collector
    What should I look in - to maintain the performance, should I not explicitly call
    the GC and let JVM do it on its own? or is it beacause the heap space has become fragmented? - I do make a lots of read/writes from/to the objects stored in Heap.
    I also make around 160,000+ read/write from/to flat files in the hard disk.
    Could this cause the JVM to slow down?
    Any suggestion on this will be great.

    Initially the app used to receive/send arnd 50 SMS
    per second and now it process aroubd 20-25 SMS per
    second.
    I've been using Your kit profiler to profile myapp.
    Does it have CPU profiling? If yes, then you can look
    at where the time's being spent when processing a
    message.
    It does have a CPU profiling graph, but there is nothing much i can infer from it, I can see the graph peaking to 60-80% CPU usage when SMS are comming in (i.e. SMS is received, stored in memory & a copy is also put in the flat file - which is a read/write I/O operation, so I would defenitely expect the CPU to peak up); this peaking up would normally happen between 6-9am when lots of SMS come it to my app. The rest of the time (in the afternoon & evening) CPU is 0% ; so I can defenitely rule ot memory leak right?
    its difficult to find out the time taken to process every message; the rough estimate I got from the log file is 50SMS / Sec. i.e. 50SMS receievd via TCP/IP; then store it in flat file & memory and also deliver it across to a client via socket; get a response back; change some status in memory and also in the flat file; this count of 50 has defenitely dropped to 25-30 in 6 days.
    >
    The maximum heap I allocated was 500MB; thealloted
    Heap shown in the profiler is 95MB and the usedHeap is 65MB
    So not a memory problem.
    The CPU usage looks fairly stable,i.e. it does goup
    when SMS comes in and i/o operations takes place
    and goes to 0% when no process is being done.So not a background thread that's run amok
    (probably).
    The application has over 133 threads and thatstays
    the same as per the profiler tool kit.You could be running into contention for a shared
    resource. This will show up in the CPU profiler, or
    you can get a "quick and dirty" report by hitting
    Ctrl-\ in the window where the JVM is running (or, if
    on Unix, sending SIGQUIT to the JVM process). This
    will send a thread dump to the console. Look for a
    lot of threads "wait"ing on some object, then look
    for the thread that holds that object.
    You are talking of possible dead-locks right? thats something i@ve go to llok into; the profiler does lists ot a list of possible thread-deadlocks. but all of them are purposefully made into TIMED_WAITING ; would that cause the performance to drop?
    >
    What should I look in - to maintain theperformance,
    should I not explicitly call the GC and let JVM doit on its own?
    Never call GC directly. The JVM will do it when
    necessary. Plus, you don't appear to have a memory
    issue.
    Yep, would change that and avoid calling GC directly.
    >
    I also make around 160,000+ read/write from/toflat
    files in the hard disk. Could this cause the JVM toslow down?
    Ahh ... flat files in a single directory? A lot of
    files in one directory will definitely slow things
    down, especially if you're opening them for every
    read and write: the OS has to scan the entire
    directory to find the file.Nothing much I can do there.
    >
    Does performance improve after your nightly cleanup?
    If yes, and you're removing old files, then this is
    an indication of the problem.I'll look into the logs to see if there is any increase in performance after GC and clome back

Maybe you are looking for

  • Yoga 2 Pro issues: display flashing, no recovery from power saving, blue screens

    I believe I've narrowed down a problem with the machine not coming out of sleep mode, and maybe blue screening. There is a new version of virtualbox that I've installed and it is suppose to help. Issues still present 1) I have found the screen to bec

  • DTP Short dump issue

    Hi Expert, I face a DTP shortdump issue on loading data from PSA to DSO The DSO is write optimize. DTP is using symantic loading and support 3 processor, pack size is default Situation is as below: 1. This issue occurs every two days. In some situati

  • Come error at doctype statement in ejb.jar.xml file

    hello, I use eclipse 3.1RC1 & lomboz emf-gef 3.1RC1 at linux os. when I create ejb project a error is created at line "doctype" in ejb-jar.xml file & it gives a error mess. java.sun.com can't be registrated

  • Movie clip buttons, needs a bigger "hit area"

    I made some custom buttons in flash cs5 and AS3.  How do I increase the hit area on the buttons?  Thanks!

  • Exchange Rate Download Service

    Hi There, Are there any SAP services available that could update the exchange rate in the SAP system? Are there any third party product that does this? Right now we manually enter exchange rate in the SAP system. We need to automate this process. Ple