Poor performance and high number of gets on seemingly simple insert/select

Versions & config:
Database : 10.2.0.4.0
Application : Oracle E-Business Suite 11.5.10.2
2 node RAC, IBM AIX 5.3Here's the insert / select which I'm struggling to explain why it's taking 6 seconds, and why it needs to get > 24,000 blocks:
INSERT INTO WF_ITEM_ATTRIBUTE_VALUES ( ITEM_TYPE, ITEM_KEY, NAME, TEXT_VALUE,
  NUMBER_VALUE, DATE_VALUE ) SELECT :B1 , :B2 , WIA.NAME, WIA.TEXT_DEFAULT,
  WIA.NUMBER_DEFAULT, WIA.DATE_DEFAULT FROM WF_ITEM_ATTRIBUTES WIA WHERE
  WIA.ITEM_TYPE = :B1
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          4           0
Execute      2      3.44       6.36          2      24297        198          36
Fetch        0      0.00       0.00          0          0          0           0
total        3      3.44       6.36          2      24297        202          36
Misses in library cache during parse: 1
Misses in library cache during execute: 2Also from the tkprof output, the explain plan and waits - virtually zero waits:
Rows     Execution Plan
      0  INSERT STATEMENT   MODE: ALL_ROWS
      0   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'WF_ITEM_ATTRIBUTES' (TABLE)
      0    INDEX   MODE: ANALYZED (RANGE SCAN) OF 'WF_ITEM_ATTRIBUTES_PK' (INDEX (UNIQUE))
Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  library cache lock                             12        0.00          0.00
  gc current block 2-way                         14        0.00          0.00
  db file sequential read                         2        0.01          0.01
  row cache lock                                 24        0.00          0.01
  library cache pin                               2        0.00          0.00
  rdbms ipc reply                                 1        0.00          0.00
  gc cr block 2-way                               4        0.00          0.00
  gc current grant busy                           1        0.00          0.00
********************************************************************************The statement was executed 2 times. I know from slicing up the trc file that :
exe #1 : elapsed = 0.02s, query = 25, current = 47, rows = 11
exe #2 : elapsed = 6.34s, query = 24272, current = 151, rows = 25
If I run just the select portion of the statement, using bind values from exe #2, I get small number of gets (< 10), and < 0.1 secs elapsed.
If I make the insert into an empty, non-partitioned table, I get :
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.01       0.08          0        137         53          25
Fetch        0      0.00       0.00          0          0          0           0
total        2      0.01       0.08          0        137         53          25and same explain plan - using index range scan on WF_Item_Attributes_PK.
This problem is part of testing of a database upgrade and country go-live. On a 10.2.0.3 test system (non-RAC), the same insert/select - using the real WF_Item_Attributes_Value table takes :
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.10         10         27        136          25
Fetch        0      0.00       0.00          0          0          0           0
total        2      0.00       0.10         10         27        136          25So I'm struggling to understand why the performance on the 10.2.0.4 RAC system is so much worse for this query, and why it's doing so many gets. Suggestions, thoughts, ideas welcomed.
I've verified system level things - CPUs weren't/aren't max'd out, no significant paging/swapping activity, run queue not long. AWR report for the time period shows nothing unusual.
further info on the objects concerned:
query source table :
WF_Item_Attributes_PK : unique index on Item_Type, Name. Index has 144 blocks, non-partitioned
WF_Item_Attributes tbl : non-partitioned, 160 blocks
insert destination table:
WF_Item_Attribute_Values:
range partitioned on Item_Type, and hash sub-partitioned on Item_Key
both executions of the insert hit the partition with the most data : 127,691 blocks total ; 8 sub-partitions with 15,896 to 16,055 blocks per sub-partition.
WF_Item_Attribute_Values_PK : unique index on columns Item_Type, Item_Key, Name. Range/hash partitioned as per table.
Bind values:
exe #1 : Item_Type (:B1) = OEOH, Item_Key (:B2) = 1048671
exe #2 : Item_Type (:B1) = OEOL, Item_Key (:B2) = 4253168
number of rows in WF_Item_Attribute_Values for Item_Type = OEOH : 1132587
number of rows in WF_Item_Attribute_Values for Item_Type = OEOL : 18763670
The non-RAC 10.2.0.3 test system (clone of Production from last night) has higher row counts for these 2.
thanks and regards
Ivan

hi Sven,
Thanks for your input.
1) I guess so, but I haven't lifted the lid to delve inside the form as to which one. I don't think it's the cause though, as I got poor performance running the insert statement with my own value (same statement, using my own bind value).
2) In every execution plan I've seen, checked, re-checked, it uses a range scan on the primary key. It is the most efficient I think, but the source table is small in any case - table 160 blocks, PK index 144 blocks. So I think it's the partitioned destination table that's the problem - but we only see this issue on the 10.2.0.4 pre-production (RAC) system. The 10.2.0.3 (RAC) Production system doesn't have it. This is why it's so puzzling to me - the source table read is fast, and does few gets.
3) table storage details below - the Item_Types being used were 'OEOH' (fast execution) and 'OEOL' (slow execution). Both hit partition WF_ITEM49, hence I've only expanded the subpartition info for that one (there are over 600 sub-partitions).
============= From DBA_Part_Tables : Partition Type / Count =============
PARTITI SUBPART PARTITION_COUNT DEF_TABLESPACE_NAME
RANGE   HASH                 77 APPS_TS_TX_DATA
1 row selected.
============= From DBA_Tab_Partitions : Partition Names / Tablespaces =============
Partition Name       TS Name         High Value           High Val Len
WF_ITEM1             APPS_TS_TX_DATA 'A1'                            4
WF_ITEM2             APPS_TS_TX_DATA 'AM'                            4
WF_ITEM3             APPS_TS_TX_DATA 'AP'                            4
WF_ITEM47            APPS_TS_TX_DATA 'OB'                            4
WF_ITEM48            APPS_TS_TX_DATA 'OE'                            4
WF_ITEM49            APPS_TS_TX_DATA 'OF'                            4
WF_ITEM50            APPS_TS_TX_DATA 'OK'                            4
WF_ITEM75            APPS_TS_TX_DATA 'WI'                            4
WF_ITEM76            APPS_TS_TX_DATA 'WS'                            4
WF_ITEM77            APPS_TS_TX_DATA MAXVALUE                        8
77 rows selected.
============= From dba_part_key_columns : Partition Columns =============
NAME                           OBJEC Column Name                    COLUMN_POSITION
WF_ITEM_ATTRIBUTE_VALUES       TABLE ITEM_TYPE                                    1
1 row selected.
PPR1 sql> @q_tabsubpart wf_item_attribute_values WF_ITEM49
============= From DBA_Tab_SubPartitions : SubPartition Names / Tablespaces =============
Partition Name       SUBPARTITION_NAME              TS Name         High Value           High Val Len
WF_ITEM49            SYS_SUBP3326                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3328                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3332                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3331                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3330                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3329                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3327                   APPS_TS_TX_DATA                                 0
WF_ITEM49            SYS_SUBP3325                   APPS_TS_TX_DATA                                 0
8 rows selected.
============= From dba_part_key_columns : Partition Columns =============
NAME                           OBJEC Column Name                    COLUMN_POSITION
WF_ITEM_ATTRIBUTE_VALUES       TABLE ITEM_KEY                                     1
1 row selected.
from DBA_Segments - just for partition WF_ITEM49  :
Segment Name                        TSname       Partition Name       Segment Type     BLOCKS     Mbytes    EXTENTS Next Ext(Mb)
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3332         TblSubPart        16096     125.75       1006         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3331         TblSubPart        16160     126.25       1010         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3330         TblSubPart        16160     126.25       1010         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3329         TblSubPart        16112    125.875       1007         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3328         TblSubPart        16096     125.75       1006         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3327         TblSubPart        16224     126.75       1014         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3326         TblSubPart        16208    126.625       1013         .125
WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3325         TblSubPart        16128        126       1008         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3332         IdxSubPart        59424     464.25       3714         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3331         IdxSubPart        59296     463.25       3706         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3330         IdxSubPart        59520        465       3720         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3329         IdxSubPart        59104     461.75       3694         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3328         IdxSubPart        59456      464.5       3716         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3327         IdxSubPart        60016    468.875       3751         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3326         IdxSubPart        59616     465.75       3726         .125
WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3325         IdxSubPart        59376    463.875       3711         .125
sum                                                                                               4726.5
[the @ in the TS Name is my shortcode, as Apps stupidly prefixes every ts with "APPS_TS_"]
The Tablespaces used for all subpartitions are UNIFORM extent mgmt, AUTO segment_space_management ; LOCAL extent mgmt.regards
Ivan

Similar Messages

  • Poor performance and unidasd connections are getting closed and re-opened

    The problem is due to the unidasd daemon looking for some orphaned
    Calendar users in LDAP and it is resulting in the snc broker dropping
    unidasd connections (processes that handle LDAP connections) if the
    result of an LDAP search for a Calendar user comes back with no match.
    <P>
    For "Found dead connection" of "Service = unidas" problems, you need to correct
    the process of managing the Directory Server, i.e., always shut down the Calendar
    Server before shutting down the Directory Server and then starting the Calendar
    Server after the Directory Server has started. Or you may need to make sure the
    Directory Server is configured properly, i.e., the parameter idletimeout should
    be set to zero-- never timeout-- (see article 1783 for more info),
    or you need to get the Calendar Server and Directory Server back in sync.
    <P>
    This last point can be accomplished by using a new Calendar Server tool, unidsdiff,
    to identify any user or resource objects that are out of sync and another new
    Calendar Server tool, unireqchk, to identify any user or resource requests
    in the CWS queue that are no longer in the directory server. Both these tools
    can be downloaded from http://help.netscape.com/business/filelib.html#caltools.

    Troubleshooting Apple Mail
    What does Mail/Window/Connection Doctor Show? If the server is red, select it and look at the Show Details box.
    Troubleshooting sending and receiving email messages
    Troubleshooting sending email messages
    SMTP servers keep going offline

  • Poor performance and now dropping connection

    I am very underwhelmed by performance since switching to infinity FTTC last year. Download speed is very variable and I just cannot get an upload speed much better than 1.1 Mb/s.
    Now we have a regularly dropping connection. Last Saturday morning we had a thunderstorn with heavy downpour and phone line dropped completely - no dialtone and unsurprisingly no broadband. Did a line check from my mobile - all fine and no reported problems in the area. I phoned BT and got an Indian who just repeated what the website told me and said couldn't get an engineer for 4 days! Phone came back late the same afternoon and a little while later broadband came up but connection was up and down like a yo-yo. After 4 days of sunshine when the engineer turned up broadband had been up solid from 3 am and phone was fine. Engineer did more detailed tests which showed no problem and reckoned our problem must have been fixed, and that reason broadband had been dropping was because of computerised checks due to reported fault which would cause line to drop.
    For a few days all was fine, although performance still underwheliming, until we had another downpour yesterday morning. Phone line stayed up, although a little crackly, but once again broadband started dropping regularly. Since then it has gradually improved (no more rain).
    My suspicion is (and always has been) that with the heavy rain water is getting into a connection somewhere. How do I go about communicating it to BT support (I can't even find a web page or number for reporting broadband problems) this fact and actually getting someone to look into it properly? I rejected the "fault reported fixed" on the tracking your fault web page but so far nothing.
    I am distinctly unimpressed with BT support and unless this gets fixed soon I am seriously thinking of switching to fibre to the home with Virgin (despite hating Branson) especially as the move from Yahoo mail to BT mail has not been smooth and the BT webmail is full of bugs (which again I cannot find any way of reporting).

    Thanks. I tried that. Broadband up and down regularly until the day the engineer came. Day before had intermittent heavy crackling on the line and calls dropping. Day he came all is fine and of course his diagnostics checks come back all clear. Apparently, or so he told me, they are not allowed to work on our line unless the checks show a fault...which they didn't.
    I've just had 24 hours of our broadband working but just now it's started dropping regularly again.
    I am getting very frustrated/annoyed. What do I do now? How do they expect to solve the problem if it isn't constant and they can't get an engineer to look at it within 3 or 4 days? Do I just keep on calling our an engineer until by chance it happens to hit a problem while they're on site? Not good for customer satisfaction and surely it must cost them to keep sending out an engineer!

  • Poor performance and overheat

    Story
    I've been using arch for the past four months, dual booting with my old Windows XP. As I'm very fond of Flash games and make my own programs with a cross-platform language, I've found few problems with the migration. One of them was the Adobe Flash Player performance, which was stunningly bad. But everyone was saying that was normal, so I left it as is.
    However, one special error always worried me: a seemingly randomly started siren sound coming from the motherboard speaker. Thinking it was a alarm about some fatal kernel error, I had been solving it mostly with reboots.
    But then it happened. While playing a graphics intensive game on Windows quickly after rebooting from Arch, the same siren sound started. It felt like a slap across the face: it was not a kernel error, it was an motherboard overheat alarm.
    The Problem
    Since the computer was giving overheat signs, I started looking at things from another angle. I noticed that some tasks take unusually long times in Arch (i.e.: building things from source; Firefox / OpenOffice startup; any graphics intensive program), specially from the Flash Player.
    A great example is the game Penguinz, that runs flawlessly in Windows but is unbearably slow in Arch. So slow that it alone caused said overheat twice. And trying to record another flash game's record using XVidCap things went so bad that the game halved the FPS and started ignoring key presses.
    Tech Info
    Dual Core 3.2 processor
    1 gb RAM
    256 mb Geforce FX 5500 video card
    Running Openbox
    Using proprietary NVIDIA driver
    TL;DR: poor performance on some tasks. Flash Player is so slow that overheats CPU and makes me cry. It's fine on Windows.
    Off the top of my head I can think up some reasons: bad video driver, unwanted background application messing up, known Flash Player performance problems and Actionscript Linux/Arch-only bug.
    Where do you think is the problem?

    jwcxz wrote:Have you looked at your process table for any program with abnormal CPU usage?  That seems like the logical place to start.  You shouldn't be getting poor performance in anything with that system.  I have a 2.0GHz Core 2 Duo and an Intel GMA 965 and I've never had any problems with Flash.  It's much better than it used to be.
    Pidgin scared me for a while because it froze for no apparent reason. After fixing this, the table contains this two guys here:
    %CPU
    Firefox: 80%~100%
    X: 0~20%
    Graphic intensive test, so I think the X usage is normal. It might be some oddity at the Firefox+Linux+Flash sum, maybe a conflict. I'll try another browser.
    EDIT:
    Did a Javascript benchmark to test both systems and browsers.
    Windows XP + Firefox = 4361.4ms
    Arch + Firefox = 5146.0ms
    So, it's actually a lot slower without even taking Flash into account. If someone knows a platform-independent benchmark to test both systems completely, and not only the browser, feel free to point out.
    I think that something is already wrong here and the lack of power saving systems only aggravated the problem, causing overheat.
    EDIT2:
    Browser performance fixed: migrated to Midori. Flash stills slower than on Windows, but now it's bearable. Pretty neat browser too, goes better with the Arch Way. It shouldn't fix the temperature, however.
    Applied B's idea, but didn't test yet. I'm not into the mood of playing flash games for two straight hours today.
    Last edited by BoppreH (2009-05-03 04:25:20)

  • Poor performance and voltage fluctuation.

    I'm running two 280x in crossfire which I upgraded from two 6970's.   When I'm playing DayZ my FPS never go above 30 FPS.  With my 6970's I was well into the 70's.  I never changed my video settings when I went from the 6970's to the 280X's.   For the most part I have a lot of the graphics low or disabled.   Borderlands 2 is a nightmare on the 280X.  I drop down into 10 fps area and this has never happened with on my 6970's.
    During games my core voltage fluctuates between 500mhz and 1020mhz during game play.  I have ULPS disable as well.
    My power supply is an Antec HCG-900.
    Happened on all these drivers 14.4, 14.6 Beta, and 14.6 RC (currently installed).

    jwcxz wrote:Have you looked at your process table for any program with abnormal CPU usage?  That seems like the logical place to start.  You shouldn't be getting poor performance in anything with that system.  I have a 2.0GHz Core 2 Duo and an Intel GMA 965 and I've never had any problems with Flash.  It's much better than it used to be.
    Pidgin scared me for a while because it froze for no apparent reason. After fixing this, the table contains this two guys here:
    %CPU
    Firefox: 80%~100%
    X: 0~20%
    Graphic intensive test, so I think the X usage is normal. It might be some oddity at the Firefox+Linux+Flash sum, maybe a conflict. I'll try another browser.
    EDIT:
    Did a Javascript benchmark to test both systems and browsers.
    Windows XP + Firefox = 4361.4ms
    Arch + Firefox = 5146.0ms
    So, it's actually a lot slower without even taking Flash into account. If someone knows a platform-independent benchmark to test both systems completely, and not only the browser, feel free to point out.
    I think that something is already wrong here and the lack of power saving systems only aggravated the problem, causing overheat.
    EDIT2:
    Browser performance fixed: migrated to Midori. Flash stills slower than on Windows, but now it's bearable. Pretty neat browser too, goes better with the Arch Way. It shouldn't fix the temperature, however.
    Applied B's idea, but didn't test yet. I'm not into the mood of playing flash games for two straight hours today.
    Last edited by BoppreH (2009-05-03 04:25:20)

  • Is there a connection between the performance and the number of photos?

    Is there a connection between the performance of LR 4 (LR 5) and the number of photos in the catalog? Will it slow down LR with a directory of more than 40,000 images (Win7, 4 Gb RAM)?

    I use lots of smart and dumb collections, lots of keywords too, also on Win7/64 though with 12Gb of Ram.
    Have you read through Optimizing performance, especially running a File > Optimize. Also Performance hints is more handy for troubleshooting.
    John

  • IPad 2 music does not play and high resolution pictures get corrupted when syncing through iTunes on 64 bit Win 7.  Anyone else have a problem with iTunes corrupting music and pictures from 64bit machine?

    Works from a 32 bit XP machine.  Does not work from a 64bit Win 7 machine.  It's 64 bit that seems to be the issue; the music won't start playing, and for pictures, it's when they're more than 768x1024 resolution that they appear very low resolution and/or corrupt.  None of the normal tricks work (different user account; different USB port; different USB hub controller) and the problem is replicable.  The music and JPEG and PNGs, however, are fine if transferred via a Windows network to a 32 bit machine ie it's not the music/image files.

    Dear Katrina, the problem has finally been solved, with the help of a computer-savvy friend of mine who came round this afternoon. As a courtesy, and to thank you for all your help in this matter, I want to share the solution with you.
    A piece of the puzzle was missing, as you said, and it lay in the tenth line of the XML document I relayed to you....
    <key>Music Folder</key><string>file://localhost/C:/Users/Simon/Music/iTunes/iTunes%20Media/</string>
    My friend spotted that the command string contained a sub-folder of the iTunes folder called "iTunes Media". iTunes was expecting to find all my music there, but that folder didn't exist.
    So I created a new folder called "iTunes Media", and moved all my musical content into it, leaving all the command files in the original iTunes folder.
    Then I moved the "iTunes Media" folder into the "iTunes" folder, so that it was a sub-folder of the latter.
    Then I re-opened iTunes and - joy of joys! - everything works once again. I am re-united with all of my music, and without having to make over 14,000 manual location exercises. I can't tell you how exciting that is.
    The mystery is solved, and what had me so puzzled seems obvious now. Thanks again for your help. Without you I might never have got to this point.

  • Poor performance and speed since 21CN Update.

    My Wholesale exchange was upgraded to BT21CN at the end of January. (MELLOR, LANCASHIRE)
    Before the upgrade :
    > We got about 6-7Mbps constantly. (BT Unlimited Broadband).  This was day and night via Speedtest.net and BT Speedtest
    > iPlayer and other services reliably streamed in HD at any time of day.
    > We didnt have any speed drops at night and could stream video content etc perfectly for years.
    Now everything has changed.......
    After the Update 31/01/14 :
    > Video from outside the UK is slow and constantly buffers. US Netflix for example no longer streams reliably.
    > Video and streming services from within the UK arent that great either. iPlayer and other services struggle to stream in HD - if ever. 
    > BT Speedtest says we get around 17-18Mbps. Speedtest.net Constantly says less than 5Mbps. BBC iPlayer speed tests only register 1.8Mbps. - we cant stream any HD Olympic services.
    > After 4pm speeds drop across the range of activities, video services like youtube, iplayer, netflix etc etc dont work unless the streaming quality is very low.
    > At night other Speedtest services report <3-4Mbps. BT still says above 17Mbps, buit we cant even use video and the internet feels slow.
    >IP Profile is 19.34Mbps.
    We pay for full unlimited BT Broadband however since the change to 21CN and a 20Mbps connection our service is now worse ! It almost feels as if we are being penalised or throttled for video and anything from outside the UK
    BT Speedtest is the only one that ever says we get high speeds- but we dont, we cant even reliably stream video.
    Cany anyone help??

    MY CURRENT STATS (09/02/2014) ....
    ADSL Line Status
    Connection Information
    Line state:
    Connected
    Connection time:
    0 days, 04:12:22
    Downstream:
    16.47 Mbps
    Upstream:
    1.134 Mbps
    ADSL Settings
    VPI/VCI:
    0/38
    Type:
    PPPoA
    Modulation:
    G.992.5 Annex A
    Latency type:
    Interleaved
    Noise margin (Down/Up):
    7.1 dB / 7.1 dB
    Line attenuation (Down/Up):
    9.7 dB / 5.5 dB
    Output power (Down/Up):
    19.9 dBm / 12.4 dBm
    FEC Events (Down/Up):
    3 / 0
    CRC Events (Down/Up):
    0 / 1
    BTW PERFORMANCE TEST:
     Download speedachieved during the test was - 13.39 Mbps
     For your connection, the acceptable range of speeds is 4 Mbps-21 Mbps.
     IP Profile for your line is - 19.34 Mbps
    Upload speed achieved during the test was - 0.91Mbps
     Additional Information:
     Upstream Rate IP profile on your line is - 0.83 Mbps
     SPEEDTEST.NET to Closest Server
    Download Speed : 4.7Mbps
    Upload Speed : 0.94Mbps
    PING: 50ms
    BBC iPlayer Speed Test:
    Download Speed : 11.3Mbps
    Streaming Speed 1 : 5.01Mbps
    Streaming Speed 2 : 1.4Mbps
    Streaming Speed 3 : 0.6Mbps
    Your Connection : 2.3Mbps
    TV-HD - NO
    TV-SD - YES

  • Rotating images: Poor performance and incorrect direction of the dropshadow

    I've created an extremely simple application that is rotating a bitmap image. I have two issues:
    1) The performance is quite frankly terrible with stuttering and screen tearing. Is there any way to improve the performance or is this a known limitation of JFX's rendering?
    2) The Image has a dropshadow, but as the image rotates so does the shadow which is not the behavior I want since that makes it look like the lightsource is also moving. How can I get around this? I want the shadow to stay on the bottom right. Am I putting the dropshadow in the wrong location in the scenegraph?
    import javafx.scene.text.Text;
    import javafx.scene.text.Font;
    import javafx.scene.effect.*;
    import javafx.scene.image.ImageView;
    import javafx.scene.image.Image;
    import javafx.animation.Interpolator;
    import javafx.animation.Timeline;
    var x: Number;
    Timeline {
        repeatCount: Timeline.INDEFINITE
        autoReverse: true
        keyFrames: [
             at (0s) {x => 0.0},
             at (5s) {x => 365.0 tween Interpolator.LINEAR}
    }.play();
    Stage {
        title: "Application title"
        width: 800
        height: 1000
        scene: Scene {
            content: [
                ImageView {
                    image: Image {
                        url: "{__DIR__}image.jpg"
                    effect: DropShadow {
                        offsetX: 5
                        offsetY: 5
                    translateX: 10
                    translateY: 10
                    rotate: bind x
    }

    lol, nope, that still won't show the image... i guess i have really screwed up my install on this system. i had nb6.5 beta then i installed the new nb for javafx but it created an new instance of the app instead of updating the old one. so i removed both and installed the new one... think i will try and setup the nb on a totally clean system and open the app from there and recompile to see if somethin hinky is going on with that.

  • Oracle JDBC poor performance at high volume

    We have a requirement to read through huge ASCII files (120 million records, 9 gigs uncompressed) and do database lookups on 4 values in each record. I have written a multithreaded application to read through one of the files and perform the lookups.
    Each Thread has a dedicated Connection object from which I create a CallableStatement object that I reuse throughout the lifecycle of the Thread. I use a CallableStatement object to call a stored procedure with INOUT parameters that effectively wraps the 4 lookups into one database roundtrip.
    The issue is that we can't seem to top 240 lookups per second, which is just not fast enough for our needs. Our DBA says that while we are not taxing the Oracle database in the least, we are eating up a TON of processor utilization (20 Connections ups the load on a Solaris 8 4-way box from anywhere from 10 to 20). So if we up the number of threads, any performance gain we would hope to get is nullified by the slowdown brought on by the increased load.
    I'll be happy to post sample code if anyone shows further interest. And yes, we've considered doing a sql*loader direct load of the file, and then doing the validation on the DB via PL/SQL. I'm just trying to find out if this is a limitation of the Oracle JDBC drivers (we've had similar results with thin and OCI), or if I'm doing something terribly wrong.

    For the purposes of readability (and client confidentiality) I removed about 400 lines of processing logic that from performance testing I found to not be the bottleneck.. it's all in the cs.executeUpdate(). It should compile.
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    public class Sample extends Thread{
         private static final String url = "jdbc:oracle:oci8:@instance";
         private static final String dbUser = "user";
         private static final String dbPass = "pass";
         private static BufferedReader br;
         // instance members for each thread
         private Connection con;
         private     CallableStatement cs = null;
         public static void main(String args[]){
              try{
                   int numThreads = Integer.parseInt(args[1]);
                   br = new BufferedReader(new FileReader("FileToRead.txt"));
                   //create and load a LinkedList to keep track of all threads
                   LinkedList threads = new LinkedList();
                   Thread curThread;
                   for (int i = 0; i < numThreads; i++){
                        curThread = new Sample(String.valueOf(i));
                        synchronized (threads){
                             threads.add(curThread);
                        curThread.start();
                   System.out.println("Threads started, reading file...");
                   Iterator it = threads.iterator();
                   //wait for all threads to die before closing the shared resources
                   while (it.hasNext()){
                        ((Thread)it.next()).join();     
              catch(Exception ex){
                   ex.printStackTrace();
              //close all resources
              finally{
                   closeResources();
         public Sample(String threadId) throws Exception{
              super(threadId);
              Class.forName("oracle.jdbc.driver.OracleDriver");
              con = DriverManager.getConnection(url, dbUser, dbPass);
              con.setAutoCommit(false);
         public void run(){
              String line;
              int wDimId = -1, sDimId = -1, tDimId = -1, iDimId = -1;
              int abcd;
              String efgh, ijkl, mnop, cFlg = "N";
              try{
                   cs = con.prepareCall("{call my_wrapper_prc(?,?,?,?,?,?,?,?,?)}");
                   //read first line
                   synchronized (br){
                        line = br.readLine();
                   while (line != null){
                                  abcd = Integer.parseInt(line.substring(0,4).trim());
                        efgh = line.substring(31,36).trim();
                        ijkl = line.substring(36,42).trim();
                              mnop = line.substring(24,31).trim();
                              cs.setInt(1, abcd);
                              cs.setString(2, efgh);
                              cs.setString(3, ijkl);
                              cs.setString(4, mnop);
                        cs.setInt(5, wDimId);
                        cs.setInt(6, tDimId);
                        cs.setInt(7, iDimId);
                        cs.setInt(8, sDimId);
                        cs.setString(9, cFlg);
                        cs.registerOutParameter(5, java.sql.Types.INTEGER);
                        cs.registerOutParameter(6, java.sql.Types.INTEGER);
                        cs.registerOutParameter(7, java.sql.Types.INTEGER);
                        cs.registerOutParameter(8, java.sql.Types.INTEGER);
                        cs.registerOutParameter(9, java.sql.Types.VARCHAR);
                        cs.executeUpdate();
                        wDimId = cs.getInt(5);
                        tDimId = cs.getInt(6);
                        iDimId = cs.getInt(7);
                        sDimId = cs.getInt(8);
                        cFlg = cs.getString(9);
                        cs.clearParameters();
                        * Logic to deal with DimId's
                        //read next line
                        synchronized (br){
                             line = br.readLine();
              // if an exception occurs, let the thread die but don't exit the application
              catch(Exception ex){
                   ex.printStackTrace();
              finally{
                   //close connection and CallableStatement objects
                   try{
                        if (cs != null) cs.close();
                        if (con != null && !con.isClosed()) con.close();
                   catch(SQLException ex){
                        ex.printStackTrace();     
         private static void closeResources(){
              //Close IO resources
    }

  • Very poor speeds and high error counts?

    Hi guys,
    I have been reading through some threads on the forum but still cannot find any information regarding my poor connection. My connection runs extremely slow and eventually leads to me being unable to load webpages.
    I had a look through my ADSL settings and found some high CRC and HEC events which I presume are not good! I have copied and pasted the results below.
    Any help would be greatly appreciated as I have had no luck after calling the call centres...
    ADSL Line Status
    Connection Information
    Line state:
    Connected
    Connection time:
    1 days, 08:15:37
    Downstream:
    14.27 Mbps
    Upstream:
    1.07 Mbps
    ADSL Settings
    VPI/VCI:
    0/38
    Type:
    PPPoA
    Modulation:
    G.992.5 Annex A
    Latency type:
    Fast
    Noise margin (Down/Up):
    6.6 dB / 7.5 dB
    Line attenuation (Down/Up):
    21.8 dB / 11.1 dB
    Output power (Down/Up):
    20.4 dBm / 12.6 dBm
    FEC Events (Down/Up):
    0 / 0
    CRC Events (Down/Up):
    3705026 / 8470
    Loss of Framing (Local/Remote):
    0 / 0
    Loss of Signal (Local/Remote):
    0 / 0
    Loss of Power (Local/Remote):
    0 / 0
    HEC Events (Down/Up):
    18038215 / 2958
    Error Seconds (Local/Remote):
    78523 / 3326

    Hi, thanks for the speedy reply! The results from above are not whilst connected to a test line
    The quiet line test seems fine.
    I have just put it into the test socket and the internet does seem much more repsonsive when I go onto websites.
    There still seems to be a few errors on the ADSL settings.
    ADSL Line Status
    Connection Information
    Line state:
    Connected
    Connection time:
    0 days, 00:05:38
    Downstream:
    18.24 Mbps
    Upstream:
    1.063 Mbps
    ADSL Settings
    VPI/VCI:
    0/38
    Type:
    PPPoA
    Modulation:
    G.992.5 Annex A
    Latency type:
    Fast
    Noise margin (Down/Up):
    6.1 dB / 7.0 dB
    Line attenuation (Down/Up):
    21.3 dB / 11.0 dB
    Output power (Down/Up):
    20.3 dBm / 12.6 dBm
    FEC Events (Down/Up):
    0 / 0
    CRC Events (Down/Up):
    18 / 9081
    Loss of Framing (Local/Remote):
    0 / 0
    Loss of Signal (Local/Remote):
    0 / 0
    Loss of Power (Local/Remote):
    0 / 0
    HEC Events (Down/Up):
    71 / 2989
    Error Seconds (Local/Remote):
    16 / 3345

  • Weak performance and high cpu usage

    I've been wondering for sometime now, how can some flash games run so laggy on my pc at the same time where i run DX and OpenGL games without any problem and smooth!
    Whenever i play games in FB or any other site, i notice high cpu usage about 70-90% especially when i run them fullscreen (1152x864) and with effects enabled then my system kneals almost!!!!!! This is UNACCEPTABLE of course..
    I also found an interesting article which i dought if it has been updated as it was supposed to, which is the following link: http://forums.adobe.com/message/5417983#5417983
    I run Flash player on an Intel E5700 - Win XP sp3 - 4GB ram and an Nvidia GTX650.. for those who understand, such a system is in position to run flash games like an adult holds a baby in his arms... so either the hardware acceleration does not work or adobe has let this problem unresolved for years now as i have made an interesting research on this case before i come here.
    For the records, i run flash games within Chrome since it's proved to be the most apropriate browser for videos and flash-shockwave games.. firefox comes 2nd to me and IE 8.....leave it unused better!
    Even in 2006 up to today, people are facing high cpu usage and weak performance in flash apps no matter what pc they have, so who is to blame here?? Adobe ofc.
    Is there anyone who has a solution to propose or has found somethin relevant to this case? Or should we wait a solution in 2020?

    Mike M., i didn't give any load or credit on u, but Adobe, as i see you're not responsible for their mistakes or ignorance so i have nothin to ask from u, i have seen that u reply to ppl and good for u.
    All i have to say to what u replied, is that, what if win xp reach the end of life? i mention a problem that remains for years now and is unresolved, or didn't they see that the previous years?since 2008 let's say!!!
    I have noticed the same exactly behavior on newer OS and specifically tested on Win Vista 32-64 and Win 7 32-64 too..... it's EXACTLY the same behavior, so it's not OS dependant, i won't take any excuse for Adobe cause i have experienced their terrible work on flash-shockwave for too long.
    It's their responsibility to solve it but they have chosen to ignore this and many other mistakes that users report weekly for years, their response is 2/10 solved... it's just disgusting. I dont' want to argue with anyone for Adobe's shake, they don't worth it.

  • Poor performance and increase CPU on UNIX 64 bit

    Hi
    I have moved one of my 300GB test databases from a 4GB RAM 2x DUAL zeon 3GHz processors LINUX machine to a UNIX 64 bit 6GB RAM 2x1GHz USIIIi processor machine. Both have the oracle data stored on RAID 5 disk.
    Both Oracle versions are the same. The data was transered via export/import.
    Running exactly the same queries the UNIX box is up to 3 times slower and sits at 100% CPU, wheras LINUX machine sits between 30-50% CPU and performance is really good. No other users are accessing the machines.
    Statspack reports look very similar, both have 100%/near 100% instance efficiency. top wait events on both machines are control file parallel write and db file sequential read, but even the values for these do not look worrying. The only difference is there is more memory allocated to the SGA of the UNIX server.
    Any ideas as to why the UNIX 64bit server is slower and using 100%CPU would be greatly received.
    Thanks

    LINUX
    SELECT
    count(*)
    FROM
    mastermap.topographicline
    WHERE
    descriptivegroup like :"SYS_B_00"
    and
    descriptiveterm like :"SYS_B_01"
    and
    physicalpresence = :"SYS_B_02"
    AND
    sdo_filter(geom, mdsys.sdo_geometry(:"SYS_B_03", :"SYS_B_04", null,
    mdsys.sdo_elem_info_array (:"SYS_B_05", :"SYS_B_06", :"SYS_B_07"),
    mdsys.sdo_ordinate_array (:"SYS_B_08", :"SYS_B_09", :"SYS_B_10",:"SYS_B_11")), :"SYS_B_12")=:"SYS_B_13"
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 2 0 0
    Execute 1 0.01 0.01 0 11 2 0
    Fetch 2 0.20 0.18 0 10713 0 1
    total 4 0.21 0.19 0 10726 2 1
    UNIX
    SELECT
    count(*)
    FROM
    mastermap.topographicline
    WHERE
    descriptivegroup like :"SYS_B_00"
    and
    descriptiveterm like :"SYS_B_01"
    and
    physicalpresence = :"SYS_B_02"
    AND
    sdo_filter(geom, mdsys.sdo_geometry(:"SYS_B_03", :"SYS_B_04", null,
    mdsys.sdo_elem_info_array (:"SYS_B_05", :"SYS_B_06", :"SYS_B_07"),
    mdsys.sdo_ordinate_array (:"SYS_B_08", :"SYS_B_09", :"SYS_B_10",:"SYS_B_11")), :"SYS_B_12")=:"SYS_B_13"
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.03 0.02 0 42 2 0
    Fetch 2 0.24 0.34 0 10707 0 1
    total 4 0.27 0.36 0 10749 2 1
    The elapsed time is twice as slow on unix, and it seems to be a fetch issue. Any ideas?

  • Poor performance and duplicate apps after migration

    I migrated from a G4 ti book to a MacBook pro and have never been happy. I have duplicate applications and one will say in parens (from old mac) behind the name. It also moves very slow, especially in Eudora. I made a new user on the new computer in hopes to start fresh in Apple mail etc but when I switch to that user (the first one on the computer) Safari won't work. On and ON... I am so frustrated, nothing works right, even slower than my tibook and I don't know where to start to try to fix it. Should I try to figure out what I have done in the last 3 weeks and pull it off and 'restart" the whole process?
    Help,
    Debbie

    So are you saying that I revert back to factory settings and start over? I still don't understand why I would have 2 applications identical except the (from old mac). Example - "Adobe indesign CS2" then the next folder is "Adobe Indesign CS2 (from old mac) ".
    does that mean the application is on the machine twice?

  • Poor performance and loop

    Hello,
    I have a simple while loop in my JSP code which accesses a javabean data item on each iteration. The loop is causing a 2 � 3 second delay between converses of the web pages.
    Does any one else suffer the same type of performance sacrifices when using loops in their JSP code?
    Any suggestions of increasing the response time for the JSP?
    Code below,
    Thanks in advance.
    <% { int i = 0;
               String par;
               while (i < 99) {
                         par = (PARENT_SCREEN_ID.getTextValue(i));
                             if (par.equals("SM")) { %> mm_menu_1120099999_1_1.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');"); 
                                  <% } else if (par.equals("DM")) { %> mm_menu_1120099999_1_2.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals("AM")) { %> mm_menu_1120099999_1_3.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals("PM")) { %> mm_menu_1120099999_1_4.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals("FM")) { %> mm_menu_1120099999_1_5.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals("MC")) { %> mm_menu_1120099999_1_7.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals("EM")) { %> mm_menu_1120099999_1_8.addMenuItem("<%= SCREEN_MSG.getTextValue(i) %>", "clickNav('<%= NAV_SCREEN_ID.getTextValue(i) %>');");
                                  <% } else if (par.equals(" ")) { i = 98;
                        } i = i + 1;
               } %>     

    Does any one else suffer the same type of performance sacrifices when using loops in their JSP code?only if i write badly performing loops.
    The fact its JSP is irrelavant, my guess is that your loop is very slow.
    Its hard to pinpoint where its slow becuase with all the sriplets its hard to read
    Some weird things to, you write PARENT_SCREEN_ID.getTextValue(i)
    This looks like you execute a method on a constant, its confusing too, what is that PARENT_SCREEN_ID ? what does the getTextValue do ?

Maybe you are looking for