Performance guidlines for workbench objects?

HI,
What are the performance guidlines consider to develop an object in workbench like reports or function module ot etc.,?
thanks in advance.
sekhar

Please  go through  this  link it has  very clear   explainiation and easy to  Under what has to be Followed for Performace of  any  object which you develop.
<a href="http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_Introduction.asp">http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_Introduction.asp</a>
Reward  points if it is usefull....
Girish

Similar Messages

  • 30EA3- 2.*: Weird performance issues for editing objects

    Hi,
    I noticed weird performance issues for editing objects: when right-clicking on them in the navigator tree and selecting Edit, you get the old progress dialog "Connected to database XXX". This stays on screen a lot longer than it ever did (last sequence I edited over 30 seconds!).
    Cancelling displays a "Error retrieving schemas" dialog, but then opens the Edit dialog correctly. No further side effects noticed, so I think sqldev is adding useless overhead here.
    If confirmed, can this be bugged and/or fixed by production?
    Thanks,
    K.

    Yes, I mean in context of other hangs reported. This one is a nasty performance issue, but IMO the others are real show stoppers.
    Atomic steps are easy; any* Edit (object) action inside the context menu of the navigator or the Edit button of the object viewer.
    I took a lot of dumps (every second or so) and came to these findings:
    Full thread dump Java HotSpot(TM) Client VM (14.2-b01 mixed mode):
    "ProgressBarThread" prio=6 tid=0x049de000 nid=0x1674 runnable [0x056ff000]
       java.lang.Thread.State: RUNNABLE
            at oracle.jdbc.driver.T2CStatement.t2cDefineFetch(Native Method)
            at oracle.jdbc.driver.T2CPreparedStatement.doDefineFetch(T2CPreparedStatement.java:818)
            at oracle.jdbc.driver.T2CPreparedStatement.executeForRows(T2CPreparedStatement.java:746)
            at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1100)
            at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
            at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
            at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
            - locked <0x1828f7f0> (a oracle.jdbc.driver.T2CConnection)
            at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1202)
            at oracle.javatools.db.execute.QueryWrapper.executeQueryImpl(QueryWrapper.java:280)
            at oracle.javatools.db.execute.QueryWrapper.access$000(QueryWrapper.java:76)
            at oracle.javatools.db.execute.QueryWrapper$QueryExecutionRunnable.runImpl(QueryWrapper.java:390)
            - locked <0x1828f7f0> (a oracle.jdbc.driver.T2CConnection)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionRunnable.run(StatementWrapper.java:692)
            - locked <0x10c504c0> (a oracle.javatools.db.execute.QueryWrapper$QueryExecutionRunnable)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.runAndLog(ProgressBarExecutionWrapper.java:136)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.access$000(ProgressBarExecutionWrapper.java:38)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper$R.run(ProgressBarExecutionWrapper.java:180)
            at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
            at java.lang.Thread.run(Thread.java:619)
    "pool-2-thread-2" prio=6 tid=0x06795400 nid=0xa58 waiting on condition [0x073ef000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131fded0> (a java.util.concurrent.SynchronousQueue$TransferStack)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
            at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
            at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "pool-4-thread-1" prio=6 tid=0x06654400 nid=0xa08 waiting on condition [0x05dff000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x18334e28> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
            at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
            at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
            at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "WeakDataReference polling" prio=2 tid=0x064de800 nid=0xc58 in Object.wait() [0x0eb3f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x18335088> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at oracle.ide.util.WeakDataReference$Cleaner.run(WeakDataReference.java:88)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04decc00 nid=0x1248 waiting on condition [0x0ea3f000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "IconOverlayTracker Timer" prio=6 tid=0x063e5400 nid=0x16fc in Object.wait() [0x076ef000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x180c2840> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "WaitCursor-Timer" prio=6 tid=0x04e39c00 nid=0x910 in Object.wait() [0x074ef000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x1792d840> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "Native Directory Watcher" prio=2 tid=0x04e38400 nid=0x12b8 runnable [0x062ef000]
       java.lang.Thread.State: RUNNABLE
            at oracle.ide.natives.NativeHandler.enterWatcherThread(Native Method)
            at oracle.ide.natives.NativeHandler$2.run(NativeHandler.java:252)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04d86c00 nid=0x12ac waiting on condition [0x061af000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "Background Parser" prio=6 tid=0x04d82800 nid=0x1240 waiting on condition [0x05eff000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
            at oracle.dbtools.raptor.plsql.BackgroundParser$1.construct(BackgroundParser.java:112)
            at oracle.dbtools.raptor.utils.NamedSwingWorker$2.run(NamedSwingWorker.java:115)
            at java.lang.Thread.run(Thread.java:619)
    "TextBufferScavenger" prio=6 tid=0x04d81400 nid=0x10ec in Object.wait() [0x05cff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            - waiting on <0x1729c0a8> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x1729c0a8> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at oracle.ide.model.TextNode$FacadeBufferReference$PollingThread.run(TextNode.java:1949)
    "BaseTreeExplorer.NodeOpeningExecutor" prio=6 tid=0x04ba0400 nid=0x11bc waiting on condition [0x05aff000]
       java.lang.Thread.State: WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131a1910> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
            at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "pool-2-thread-1" prio=6 tid=0x04c1c400 nid=0x11b8 waiting on condition [0x059ff000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x131fded0> (a java.util.concurrent.SynchronousQueue$TransferStack)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
            at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
            at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
            at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)
    "Scheduler" daemon prio=6 tid=0x04b9a800 nid=0x11b0 in Object.wait() [0x058ff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at oracle.dbtools.raptor.backgroundTask.TaskLinkedList.takeNextTask(TaskLinkedList.java:47)
            - locked <0x131a1ba0> (a oracle.dbtools.raptor.backgroundTask.TaskLinkedList)
            at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$SchedulerThread.run(RaptorTaskManager.java:422)
    "TimerQueue" daemon prio=6 tid=0x0445b000 nid=0x10fc in Object.wait() [0x057ff000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at javax.swing.TimerQueue.run(TimerQueue.java:236)
            - locked <0x12f7c028> (a javax.swing.TimerQueue)
            at java.lang.Thread.run(Thread.java:619)
    "ChangeSetService" prio=2 tid=0x049d0800 nid=0x1060 in Object.wait() [0x053ff000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            - waiting on <0x12e140c8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
            at java.lang.Object.wait(Object.java:485)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.awaitEvents(ChangeSetService.java:178)
            - locked <0x12e140c8> (a oracle.jdevimpl.vcs.changeset.ChangeSetService)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.eventLoop(ChangeSetService.java:199)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService.access$200(ChangeSetService.java:56)
            at oracle.jdevimpl.vcs.changeset.ChangeSetService$2.run(ChangeSetService.java:138)
            at java.lang.Thread.run(Thread.java:619)
    "TimedCache-Timer" daemon prio=6 tid=0x03af9c00 nid=0x414 in Object.wait() [0x03fdf000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.util.TimerThread.mainLoop(Timer.java:509)
            - locked <0x12869c58> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "JarIndex Timer" daemon prio=6 tid=0x03945400 nid=0x171c in Object.wait() [0x042df000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.util.TimerThread.mainLoop(Timer.java:509)
            - locked <0x127d85a8> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)
    "AWT-EventQueue-0" prio=6 tid=0x030f4800 nid=0x1684 in Object.wait() [0x041de000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.awt.EventQueue.getNextEvent(EventQueue.java:479)
            - locked <0x127d8658> (a java.awt.EventQueue)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
            at java.awt.Dialog$1.run(Dialog.java:1045)
            at java.awt.Dialog$3.run(Dialog.java:1097)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.awt.Dialog.show(Dialog.java:1095)
            at java.awt.Component.show(Component.java:1563)
            at java.awt.Component.setVisible(Component.java:1515)
            at java.awt.Window.setVisible(Window.java:841)
            at java.awt.Dialog.setVisible(Dialog.java:985)
            at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:395)
            at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:356)
            at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:352)
            at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:229)
            at oracle.ideimpl.db.ProgressBarExecutionWrapper.execute(ProgressBarExecutionWrapper.java:108)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionProxy.doExecute(StatementWrapper.java:647)
            at oracle.javatools.db.execute.StatementWrapper$ExecutionProxy.access$200(StatementWrapper.java:585)
            at oracle.javatools.db.execute.StatementWrapper.doExecute(StatementWrapper.java:307)
            at oracle.javatools.db.execute.QueryWrapper.executeQuery(QueryWrapper.java:215)
            at oracle.javatools.db.dictionary.DictionaryDatabase.listObjectsImpl(DictionaryDatabase.java:323)
            at oracle.javatools.db.ora.BaseOracleDatabase.listObjectsImpl(BaseOracleDatabase.java:524)
            at oracle.javatools.db.AbstractDBObjectProvider.listSchemas(AbstractDBObjectProvider.java:859)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.createNamespace(BaseDBEditorFactory.java:503)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.editDBObject(BaseDBEditorFactory.java:357)
            at oracle.ide.db.dialogs.AbstractDBEditorFactory.editDBObject(AbstractDBEditorFactory.java:332)
            at oracle.ide.db.dialogs.BaseDBEditorFactory.editDBObject(BaseDBEditorFactory.java:54)
            at oracle.ide.db.dialogs.AbstractDBEditorFactory.editDBObject(AbstractDBEditorFactory.java:314)
            at oracle.dbtools.raptor.utils.DataBaseNodeUtil.editNodeWizard(DataBaseNodeUtil.java:45)
            at oracle.dbtools.raptor.oviewer.xmleditor.XMLBasedEditor.handleEvent(XMLBasedEditor.java:152)
            at oracle.ide.controller.IdeAction.performAction(IdeAction.java:531)
            at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:886)
            at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:503)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
            at java.awt.Component.processMouseEvent(Component.java:6263)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
            at java.awt.Component.processEvent(Component.java:6028)
            at java.awt.Container.processEvent(Container.java:2041)
            at java.awt.Component.dispatchEventImpl(Component.java:4630)
            at java.awt.Container.dispatchEventImpl(Container.java:2099)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
            at java.awt.Container.dispatchEventImpl(Container.java:2085)
            at java.awt.Window.dispatchEventImpl(Window.java:2475)
            at java.awt.Component.dispatchEvent(Component.java:4460)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    "AWT-Shutdown" prio=4 tid=0x030e6400 nid=0x1680 in Object.wait() [0x040df000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
            - locked <0x127d8718> (a java.lang.Object)
            at java.lang.Thread.run(Thread.java:619)
    "AWT-Windows" daemon prio=6 tid=0x03abb400 nid=0x1610 runnable [0x03edf000]
       java.lang.Thread.State: RUNNABLE
            at sun.awt.windows.WToolkit.eventLoop(Native Method)
            at sun.awt.windows.WToolkit.run(WToolkit.java:291)
            at java.lang.Thread.run(Thread.java:619)
    "Java2D Disposer" daemon prio=10 tid=0x03a97400 nid=0x15f8 in Object.wait() [0x03cdf000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x127d8810> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at sun.java2d.Disposer.run(Disposer.java:125)
            at java.lang.Thread.run(Thread.java:619)
    "Low Memory Detector" daemon prio=6 tid=0x030d1c00 nid=0x15dc runnable [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "CompilerThread0" daemon prio=10 tid=0x030cb800 nid=0x15d8 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Attach Listener" daemon prio=10 tid=0x030ca000 nid=0x15d4 runnable [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Signal Dispatcher" daemon prio=10 tid=0x030c8c00 nid=0x15d0 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "Finalizer" daemon prio=8 tid=0x030b9c00 nid=0x15c8 in Object.wait() [0x0343f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
            - locked <0x12770298> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
            at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x030b5000 nid=0x15c4 in Object.wait() [0x0333f000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
            - locked <0x12770320> (a java.lang.ref.Reference$Lock)
    "main" prio=6 tid=0x00967800 nid=0x1504 waiting on condition [0x00000000]
       java.lang.Thread.State: RUNNABLE
    "VM Thread" prio=10 tid=0x030b1000 nid=0x15c0 runnable
    "VM Periodic Task Thread" prio=10 tid=0x030d3c00 nid=0x15e0 waiting on condition
    JNI global references: 2645
    Heap
    def new generation   total 12544K, used 6205K [0x10010000, 0x10da0000, 0x12770000)
      eden space 11200K,  53% used [0x10010000, 0x105e2ff0, 0x10b00000)
      from space 1344K,  18% used [0x10c50000, 0x10c8c7b8, 0x10da0000)
      to   space 1344K,   0% used [0x10b00000, 0x10b00000, 0x10c50000)
    tenured generation   total 165468K, used 99280K [0x12770000, 0x1c907000, 0x30010000)
       the space 165468K,  59% used [0x12770000, 0x18864308, 0x18864400, 0x1c907000)
    compacting perm gen  total 50432K, used 50210K [0x30010000, 0x33150000, 0x38010000)
       the space 50432K,  99% used [0x30010000, 0x33118aa8, 0x33118c00, 0x33150000)
    No shared spaces configured.- In the beginning of the waiting time, the "locked <0x10c504c0>" in the "ProgressBarThread" changed (at least once) to "locked <0x10c51da0>".
    - Then halfway the waiting time, the "pool-2-thread-1" disappeared, then "pool-2-thread-2" shortly after.
    - Then the "TimedCache-Timer" changed to
    "TimedCache-Timer" daemon prio=6 tid=0x03af9c00 nid=0x414 in Object.wait() [0x03fdf000]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at java.lang.Object.wait(Object.java:485)
            at java.util.TimerThread.mainLoop(Timer.java:483)
            - locked <0x12869c58> (a java.util.TaskQueue)
            at java.util.TimerThread.run(Timer.java:462)- Then near the end, the "locked <0x10c51da0>" in the "ProgressBarThread" changed to "locked <0x10b01da0>", then to "locked <0x10c51da0>".
    Hope that helps,
    K.

  • How to set change mode as default for workbench objects

    Hi experts
    I've always wondered if there is a configuration option in NW BW 7 where it can be set whether double clicking a workbench object will show the maintenance screen for that object in change or display mode (default is display). Because is annoying to have to set edit mode every time one double click a workbench object in the development system, and as it is a development system, it would make sense to have edit mode by default instead of display
    I was thinking that it may be related to the client role, but who knows...
    I appreciate your help
    regards

    Not sure where this can be set...if anywhere.
    But how about this for a workaround: Right click the object in RSA1 and the select Change instead of Display.
    That would save you a click if I counted correctly

  • History for Workbench Object

    Hi Community,
    Today on quality system have delete a development class (Package)...Obj is not found...
    Obj has been delete without a Change request!!!
    I would like access in log information of workbench objects.
    Exist a tables or a transaction code to monitoring a history??
    Best Regards,
    Antonello.

    hi
    look into tables :tadir, e070, e071
    and also SM21 for more info!!
    Plz reward points by clicking on star!!
    Regards
    Gunjan

  • EMIGALL performance for migration object OBJCLASS

    Hi all,
    my previous question, was Classification of IFLOT & EQUI via CLB2 / CLB1  & was focused on improving performance of classification of IFLOT & EQUI objects.
    Testing EMIGALL for migration object OBJCLASS I am seeing no performance gains between a single thread update & parallel update threads.  IE the single thread throughput is reported as ~the same as the parallel threads throughput combined.
    I note in the job logs of my various tests;
    for a single thread, that no messages are logged between the start & end of the migration.
    for parallel threads, that message C4 200 'Class "CLASSNAMEHERE" is locked' appearing many times.
    I don't see any unexpected migration errors in ether case.
    Are there any insights on how I might improve over all throughput using this method? I cant see any control parameters for this object, nor does the Guideline have much information on OBJCLASS.
    First world problems :-/

    Hello Daniel,
    Without having much insight into your system and infrastructure details or the volume that you are working with, I suggest for you to try below for performance improvement.
    1. Run DB Statistics on functional location and Equipment related tables such as EQUI, IFLOT, ILOA, etc. (these are HLO objects that you are updating by way of classification). Also update classification table such as AUSP. These tables mentioned here as a starting point.
    2. Also strongly suggest that a performance trace be done on this job to analyze and identify another table or steps that may be a performance bottleneck and maybe a candidate for DB statistics refresh Or some other corrective action.
    3. The locks maybe occurring due to a mass update which is as expected. Perhaps to get by that you may want to use "commit buffering allowed" option for this migration object and set to say a number "10" or "20" to start with and see if it helps better the performance. As you would have noticed, locks will also impact performance.
    4. Please also refer to Cookbook for ISUMIG Performance and refer to sections for DEVICE, CONNOBJ and DEVLOC. These are HLO objects for classification and there may be some useful insight in that document too.
    Hope this helps.
    Ash

  • Performance issue with Business Objects Java JRC API in CRXI R2 version

    A report is developed using java JRC API in CR XI release 2. When I generate the report in the designer, it took less than 5 seconds to display the results in crystal report viewer inside the designer. But in the QA environment, when I generate the same report from the application, it takes almost 1 to 1.5 minutes to display the same results in PDF. I also noticed that if the dataset contains bigger volume of data, then the reports are taking even longer almost 15 to 20 minutes.
    While generating the report from the application, I noticed that most of time is taken during the execution of the com.crystaldecisions.report.web.viewer.ReportExportControl Object method as shown in following line of code
    exportControl.processHttpRequest(request, response, context, null)
    We thought the delay in exporting the report to PDF might be the layout of the report and data conversion to PDF for such a bigger volume of data.
    Then we investigated the issue and experimented quickly to generate the same report with same result set data from the application using XML, XSL and converted the output XSL-FO to PDF using Apache FOP (Formatting Objects Processor) implementation. The time taken to export the report to PDF is less than 6 seconds. By doing this experiment, it is proved that the issue is not with conversion of data to PDF but it is the performance problem with Business Objects Java JRC API in CR XI R2.
    In this regard, I searched for the above issue in the SAP community Network Forums -> Crystal Reports and Xcelsius -> Java Development -> Crystal Reports. But I did not find any answers or solutions for this kind of issue in the forums.
    Any suggestion, hint in this matter is very much appreciated.

    Ted, The setReportAppServer problem is resolved. Now I could able to generate the report with hardcoded values in the SQLs in just 6 seconds where as the same report was generated in CRXI R2 in 1 minute 15 seconds as mentioned in the earlier message.
    But, our exisiting application passes the parameter values to the SQLs embedded in the report. For some reason the parameters are not being passed to the report and the report displays only the labels without data.
    As per the crj 12 samples codes, the code is written as shown below.
    1. Created ReportClient Document
    2. SetReportAppServer
    3. Open the report
    4. Getting DatabaseController and switching the database connection at runtime
    5. Then setting the parameters as detailed below
    ParameteFields parameterFieldController = reportClientDoc.getDataDefController().getParameterFieldController();
    parameterFieldController.setCurrentValue("", "paramname",paramvalue);
    parameterFieldController.setCurrentValue("", "paramname",paramavalue);
    byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF); 
    6. Streaming the report to the browser
    Why the parematers are not being passed to the report?  Do I need to follow the order of setting these parameters?  Did I miss any line of code for setting Params using  crj 12?
    Any help in this regard would be greatly appreciated.

  • Exporting and Importing Statistics for Schema objects.

    Hello All,
    I am trying to gather stats for optimization using, gather_schema_stats for all objects under schema. The manual what i am reading says it covers both Tables and Indexes and we can also include the all partions too. For the safety reasons i was informed by a friend that we should take a back up of old stats into a table (user defined), so as in case of messing up with new stats for performance issue we can use it as an backup copy. So, i have created a user table and exported the stats from existing schema. My Question is, do i have to create one for the indexes too. Or its all in one table. I hope my question is clear.
    Generally manuals don't teach all this kind of stuff until unless we learn it by ourselves by trial and error Or getting solutions from great resolvers like you people.
    Hope to hear soon.
    Thanks in Advance.

    One table for table and indexes stats is enough, a little test for you :
    SCOTT@demo102> exec DBMS_STATS.CREATE_STAT_TABLE('SCOTT','MYTBL');
    PL/SQL procedure successfully completed.
    SCOTT@demo102> desc mytbl
    Name                                      Null?    Type
    STATID                                             VARCHAR2(30)
    TYPE                                               CHAR(1)
    VERSION                                            NUMBER
    FLAGS                                              NUMBER
    C1                                                 VARCHAR2(30)
    C2                                                 VARCHAR2(30)
    C3                                                 VARCHAR2(30)
    C4                                                 VARCHAR2(30)
    C5                                                 VARCHAR2(30)
    N1                                                 NUMBER
    N2                                                 NUMBER
    N3                                                 NUMBER
    N4                                                 NUMBER
    N5                                                 NUMBER
    N6                                                 NUMBER
    N7                                                 NUMBER
    N8                                                 NUMBER
    N9                                                 NUMBER
    N10                                                NUMBER
    N11                                                NUMBER
    N12                                                NUMBER
    D1                                                 DATE
    R1                                                 RAW(32)
    R2                                                 RAW(32)
    CH1                                                VARCHAR2(1000)
    SCOTT@demo102> create table mytable_obj as select * from all_objects;
    Table created.
    SCOTT@demo102> create index myindex on mytable_obj(object_id);
    Index created.
    SCOTT@demo102> exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabname=>'MYTABLE_OBJ',cascade=>true);
    PL/SQL procedure successfully completed.
    SCOTT@demo102> select last_analyzed from all_tables where table_name='MYTABLE_OBJ';
    07/06/06
    SCOTT@demo102> select last_analyzed from all_indexes where table_name='MYTABLE_OBJ';
    07/06/06
    SCOTT@demo102> exec dbms_stats.export_table_stats('SCOTT','MYTABLE_OBJ',stattab=>'MYTBL')
    PL/SQL procedure successfully completed.
    SCOTT@demo102> exec dbms_stats.delete_table_stats('SCOTT','MYTABLE_OBJ');
    PL/SQL procedure successfully completed.
    SCOTT@demo102> select last_analyzed from all_tables where table_name='MYTABLE_OBJ';
    -->No value
    SCOTT@demo102> select last_analyzed from all_indexes where table_name='MYTABLE_OBJ';
    -->No value
    SCOTT@demo102>  exec dbms_stats.import_table_stats('SCOTT','MYTABLE_OBJ',stattab=>'MYTBL');
    PL/SQL procedure successfully completed.
    SCOTT@demo102> select last_analyzed from all_tables where table_name='MYTABLE_OBJ';
    07/06/06
    SCOTT@demo102> select last_analyzed from all_indexes where table_name='MYTABLE_OBJ';
    07/06/06
    SCOTT@demo102> Nicolas.

  • PERFORMANCE of this REPORT object

    Hi Experts
    I have a REPORT object, having a few SELECT Queries in it. I need to analyze the PERFORMANCE of this REPORT object.
    How can I analyze the performance of a SELECT Query alone in it - that is time taken to execute this SELECT Query alone?
    How can I find the total execution time taken by the REPORT object?
    Plz suggest.
    BD

    Hi Bobby,
    TYPES : BEGIN OF gtyp_rbkp,
              belnr TYPE re_belnr,
              gjahr TYPE gjahr,
              budat TYPE budat,
              usnam TYPE usnam,
              lifnr TYPE lifre,
              ivtyp TYPE ivtyp,
              lieffn TYPE lieffn,
            END OF gtyp_rbkp.
    DATA : gt_rbkp TYPE STANDARD TABLE OF gtyp_rbkp,
          gs_rbkp type gtyp_rbkp.
    DATA: gv_str_j TYPE i,
    gv_end_j TYPE i,
    gv_run_time_join TYPE p DECIMALS 2.
    constants : lc_a type char1 value 'A'.
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-015.
    SELECT-OPTIONS : so_belnr FOR gs_rbkp-belnr,
                     so_gjahr FOR gs_rbkp-gjahr NO-EXTENSION NO INTERVALS,
                     so_usnam FOR gs_rbkp-usnam,
                     so_lifnr FOR gs_rbkp-lifnr,
                     so_budat FOR gs_rbkp-budat NO-EXTENSION OBLIGATORY
                                                DEFAULT sy-datum.
    SELECTION-SCREEN: END OF BLOCK b1.
    start-of-selection.
    write: 'testing performance'.
    get RUN TIME FIELD gv_str_j.
    SELECT belnr
             gjahr
             budat
             usnam
             lifnr
             ivtyp
             lieffn
        FROM rbkp
        INTO TABLE gt_rbkp
        WHERE belnr IN so_belnr
          AND gjahr IN so_gjahr
          AND budat IN so_budat
          AND usnam IN so_usnam
          AND lifnr IN so_lifnr.
      IF sy-subrc EQ 0.
    **delete entries from GT_RBKP where IVTYP ne A(Invoice from Parking Function)
        DELETE gt_rbkp WHERE ivtyp NE lc_a.
      ENDIF.
    get RUN TIME FIELD gv_end_j.
    Now get the runtime.
    gv_run_time_join = ( gv_end_j - gv_str_j ) / 1000000 .
    write:/ 'Report RunTime with delete is ', gv_run_time_join, 'seconds'.
    clear : gv_str_j, gt_rbkp[], gv_end_j.
    Hope this will help you.
    Regards,
    Phani

  • Customizing and workbench objects

    what are customizing objects and workbench objects?

    Changes to cross-client Customizing objects and to Repository objects are recorded in Workbench requests
    In workbench request .... it can be programs(repository objects) and cross client data (ie not specific to one client).
    Changes to client-specific Customizing objects are recorded in Customizing requests.
    Customer customized data designed for a specific client is transported to another client using customizing request. Most of the cases these requests are something like changing values in tables (that too client specific).
    Once the Transport request is created it will be "Modified" Status.
    Before a request can be transported it should be "Released".
    Once the request is released no other changes pertaining to the object saved in the request can be saved to the same request. you have to create a new request for that.
    After transporting to the required system, you can check the log of the transport to see if this was transported without errors.

  • EWA for Business Objects (XI 3.1) within SAP Solution Manager

    Hello!
    We use Business Objects (XI 3.1) and would like to get weekly a EWA report within our SAP Solution Manager.
    Our SAP Solution Manger has only ABAP stack and it has the SPS version 25.
    We also do not use Wily Introscope/Diagnostics and E2E tools within SAP Solution Manager.
    Question
    Is it possible to set up EWA for Business Objects with our requirements (SOLMAN with ABAP stack and without E2E/Diagnostics tools)?

    Hello,
    The short answer is no. You can verify this in SAP Note  1507629  - Preparing a BOE system for Service Sessions in Sol. Manager.
    "...1.) Managed System Setup
    Perform the Managed System Setup for SAP BusinessObjects Enterprise as
    described in the "End-to-End Root Cause Analysis System Landscape Setup
    Guide". This guide can be found in the SAP Service Market Place:
    -> http://service.sap.com/diagnostics
        -> Navigate to the "Media Library"
           -> Open the document "SAP Solution Manager Landscape Setup Guide"
    Please ensure that you perform all steps mentioned in the guide which
    are relevant for your product and version. Please read also SAP note
    1357901, which is also referred to in the above mentioned setup guide."
    So this is a requirement. There are also pdf documetns attached to this note  that describe how to setup the EWA in Solution Manager. EGI_SBOP_EWA_part1.pdf and EGI_SBOP_EWA_part2.pdf.
    The fact you have no Java stack and have not installed Diagnostics, just means it has not been done. It can be done and then you can do a managed system setup, and the balance of tasks required to prepare the system and Solution manager to generate EWA reports for the BOE system. Its just more work, not a show stopper.
    Regards,
    Paul

  • Performance of mapping Oracle objects to Java classes

    Hi,
    By retrieving some test data from Oracle database in a Java application, I compared the traditional JDBC/RDBMS solution to JPublisher-generated-classes/Oracle-object-tables solution. The underlaying Oracle database and the client environment was the same in both tests. Although the table schemas were different, they represented the same data.
    It seems that the traditional JDBC/RDBMS solution is much faster. Is this a reality or did I make a mistake somewhere?
    BR,
    Timo

    I am also facing performance overhead when using Jpub generated
    classes for the object types.
    I am using 817 jdbc and jpub but my database is 816. I have seen
    that following statements each take around 2-3 seconds to
    execute. Is there any communication between driver and database
    to resolve the object type ?
    Please help.
    cCallableStatement =
    (OracleCallableStatement)m_cConnection.prepareCall("{call
    list_unsync_appts_array(?,?,?,?,?,?,?,?)}");
    ((OracleCallableStatement)cCallableStatement).setCustomDatum(1,ct_number_arr);
    cCallableStatement.registerOutParameter(2,OracleTypes.ARRAY,"T_EVENT_SUMMARY_ARR");
    cCallableStatement.registerOutParameter(3,OracleTypes.ARRAY,"T_EVENT_DETAIL_ARR");
    cCallableStatement.registerOutParameter(4,OracleTypes.ARRAY,"T_EVENT_SUMMARY_ARR");
    cCallableStatement.registerOutParameter(5,OracleTypes.ARRAY,"T_EVENT_DETAIL_ARR");
    cCallableStatement.registerOutParameter(6,OracleTypes.ARRAY,"T_EVENT_SUMMARY_ARR");
    cCallableStatement.registerOutParameter(7,OracleTypes.ARRAY,"T_ATTENDEE_EMAIL_ARR");
    cCallableStatement.registerOutParameter(8,OracleTypes.ARRAY,"T_ATTENDEE_EMAIL_ARR");
    cCallableStatement.execute();

  • Performance tuneup for a special DB (disable locking, check-pointing,...)

    Hi,
    I have simple database contains key/value records. The program is a multi-thread application that iterate over records. Each worker thread read a record and after some calculations, replace it. The records are completely independent from each other. The following is my DBController class that share between all threads. Is there any considerations to achieve best performance?, For example I don't want any locking, check-pointing, caching,...overheads. I just want to achieve THE BEST PERFORMANCE to store and retrieve each record independently.
    import gnu.trove.*;
    import java.io.*;
    import com.sleepycat.bind.tuple.*;
    import com.sleepycat.je.*;
    public class DBController {
         private class WikiSimTupleBinding extends TupleBinding<TIntObjectHashMap<TIntDoubleHashMap>> {
              // Write an appropriate object to a TupleOutput (a DatabaseEntry)
              public void objectToEntry(TIntObjectHashMap<TIntDoubleHashMap> object, TupleOutput to) {
                   try {
                        ByteArrayOutputStream bout = new ByteArrayOutputStream();
                        ObjectOutputStream oout = new ObjectOutputStream(bout);
                        oout.writeObject(object);
                        oout.flush();
                        oout.close();
                        bout.close();
                        byte[] data = bout.toByteArray();
                        to.write(data);
                   } catch (IOException e) {
                        e.printStackTrace();
              // Convert a TupleInput(a DatabaseEntry) to an appropriate object
              public TIntObjectHashMap<TIntDoubleHashMap> entryToObject(TupleInput ti) {
                   TIntObjectHashMap<TIntDoubleHashMap> object = null;
                   try {
                        byte[] data = ti.getBufferBytes();
                        object = (TIntObjectHashMap<TIntDoubleHashMap>) new java.io.ObjectInputStream(
                                  new java.io.ByteArrayInputStream(data)).readObject();
                   } catch (Exception e) {
                        e.printStackTrace();
                   return object;
         private Environment myDbEnvironment = null;
         private Database db_R = null;
         private WikiSimTupleBinding myBinding;
         public DBController(File dbEnv) {
              try {
                   // Open the environment. Create it if it does not already exist.
                   EnvironmentConfig envConfig = new EnvironmentConfig();
                   envConfig.setAllowCreate(true);
                   myDbEnvironment = new Environment(dbEnv, envConfig);
                   // Open the databases. Create them if they don't already exist.
                   DatabaseConfig dbConfig = new DatabaseConfig();
                   dbConfig.setAllowCreate(true);
                   db_R = myDbEnvironment.openDatabase(null, "R", dbConfig);
                   // initialize Binding API
                   myBinding = new WikiSimTupleBinding();
              } catch (DatabaseException dbe) {
                   // Exception handling goes here
                   dbe.printStackTrace();
         private final byte[] intToByteArray(int value) {
              return new byte[] { (byte) (value >>> 24), (byte) (value >>> 16), (byte) (value >>> 8), (byte) value };
         public void put(int id, TIntObjectHashMap<TIntDoubleHashMap> repository) {
              try {
                   DatabaseEntry theKey = new DatabaseEntry(intToByteArray(id));
                   DatabaseEntry theData = new DatabaseEntry();
                   myBinding.objectToEntry(repository, theData);
                   db_R.put(null, theKey, theData);
              } catch (Exception dbe) {
                   // Exception handling goes here
                   dbe.printStackTrace();
         public TIntObjectHashMap<TIntDoubleHashMap> get(int id) {
              TIntObjectHashMap<TIntDoubleHashMap> repository = null;
              try {
                   // Create a pair of DatabaseEntry objects. theKey is used to perform the search. theData is used to store the
                   // data returned by the get() operation.
                   DatabaseEntry theKey = new DatabaseEntry(intToByteArray(id));
                   DatabaseEntry theData = new DatabaseEntry();
                   // Perform the get.
                   if (db_R.get(null, theKey, theData, LockMode.DEFAULT) == OperationStatus.SUCCESS) {
                        // Recreate the data repository
                        repository = myBinding.entryToObject(theData);
                   } else {
                        System.out.println("No record found for key '" + id + "'.");
              } catch (Exception e) {
                   // Exception handling goes here
                   e.printStackTrace();
              return repository;
         public void close() {
              // closing the DB
              try {
                   if (db_R != null)
                        db_R.close();
                   if (myDbEnvironment != null)
                        myDbEnvironment.close();
              } catch (DatabaseException dbe) {
                   // Exception handling goes here
                   dbe.printStackTrace();
    }

    If you are writing and you need to recover in a reasonable amount of time after a crash, you need checkpointing.
    If multiple threads may access a record concurrently, you need locking.
    If you need good read performance, you need as large a JE cache as possible.
    If you want to tune performance, the first step is to print the EnvironmentStats (Environment.getStats) periodically, and read the FAQ performance section. Try to find out if your app's performance is limited by CPU or I/O.
    If you are reading records in key order, then you'll get better performance if you also write them in key order.
    I'm not sure why you're using a TupleBinding to do Java object serialization If you want Java serialization, try using a SerialBinding.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Are there REST APIs to retrieve entity metadata for  eloqua objects?

    There is a list of all the objects which can be accessed by REST for CRUD in this link: REST API - Documentation for Core Objects under the Core Objects section.
    For each of the objects listed under the  Core Objects section are there is a field metadata under the Properties section.
    For example for Email object, REST API - Accessing Emails , under the Properties section, there corresponding entries for fields of Emails object under the
    Name ,Type, Description and Validations headings.
    Is there a REST API for retrieving the same information i.e. the field metadata for an eloqua object programmatically ?
    If not , it is a serious hindrance to building systems that are metadata driven and also since SOAP support is being deprecated...

    Metadata is 'top level' information on the object, and available whether you query the individual object (a single form, or email asset) or query for multiple objects of that type (list all forms, list all emails). Consider using a depth of minimal or partial for faster performance if the specific configuration of those objects is not important..
    Example:
    GET /assets/forms?depth=minimal&count=2
    Returns:
      "elements":
        "type":"Form",
        "currentStatus":"Draft",
        "id":"19",
        "createdAt":"1409623550",
        "createdBy":"8",
        "depth":"minimal",
        "folderId":"7",
        "name":"zzztestCS_3-9381543541_AutocompleteTest",
        "permissions":"fullControl",
        "updatedAt":"1409623623",
        "updatedBy":"8"
        "type":"Form",
        "currentStatus":"Draft",
        "id":"22",
        "createdAt":"1409781207",
        "createdBy":"11",
        "depth":"minimal",
        "folderId":"466",
        "name":"daisychain1",
        "permissions":"fullControl",
        "updatedAt":"1412779449",
        "updatedBy":"20"
      "page":1,
      "pageSize":2,
      "total":130
    Without limiting the count to 2, this would return up to 1000 results if you had multiple forms in your system and give you a basic top level view of each. Similarly, you can use GET /assets/form/{id}?depth=minimal to get the same sort of information.
    Other endpoints can be found on the REST livedocs page here (requires authentication):
    https://secure.eloqua.com/api/docs/Dynamic/Rest/1.0/Reference.aspx
    Regards,
    Bojan

  • Performance Tuning for BAM 11G

    Hi All
    Can anyone guide me for any documents or any tips realted to performance tuning for BAM 11G on on Linux

    It would help to know if you have any specific issue. There are number of tweaks all they way from DB to Browser.
    Few key things to follow:
    1. Make sure you create index on DO. If there are too much old data in the DO and not useful then periodically delete it. Similar to relational database indexes, defining indexes in Oracle BAM creates and maintains an ordered list of data object elements for fast retrieval.
    2. Ensure that IE setup to do automatic caching. This will help with reducing server round trips.
    3. Tune DB performance. This would typically require DBA. Identify the SQL statements most likely to be causing the waits by looking at
    the drilldown Top SQL Statements Ordered by Wait Time. Use SQL Analyze, EXPLAIN PLAN, or the tkprof utility to tune the queries that were identified.
    Check the Dataobject tables involved in the query for missing indexes.
    4. Use batching (this is on by default for most cases)
    5. Fast network
    6. Use profilers to look at machine load/cpu usage and distribute components on different boxes if needed.
    7. Use better server AND client hardware. BAM dashboard are heavy users of ajax/javascript logic on the client

  • Development Performance Guidlines

    Could you please send me information if you know about guidlines for J2EE developers regarding performance.
    We will develop client desktop application running in browser and communicating with application server BEA WebLogic.

    do you mean tips for better performance?
    Yes:
    use the business delegate pattern
    use the session facade pattern
    avoid lots of round trips (it's better to send a small number of large messages than a large number of small messages)
    have the client keep track of most/all of the application's state
    use lazy-instantiation or proxies where appropriate
    Read:
    Patterns of Enterprise Applications (Fowler)
    J2EE Design Patterns
    EJB Design Patterns
    the GoF patterns book
    Best Practices:
    write your code to be maintainable and very loosely coupled
    have a DBA tune your table structures and SQL
    use a performance tuning tool to spot performance troubles
    tune those areas specified by your tool (the loosely coupled nature of your implementation should allow you to make these changes rather easily)
    don't pre-emptively tune: you'll spend too much time chasing things that aren't actual performance problems.

Maybe you are looking for

  • Reg: Customer Master Creation in BAPI

    Hi All, How can i find the fields, which are all used in BAPI_CUSTOMER_CREATEFROMDATA1 and in BAPI_CUSTOMER_CREATEFROMDATA... And how can i find the sap given sequential/flat file for customer master. Thanks & Regards arun

  • Unable to Edit Template Properties

    I have created an optional editable area in a DW template for a submenu. It functions properly in DW when I create a new page and go to Modify>Template Properties. However in Contribute 4 (on a page created from this template) when I go to Format>Tem

  • Organizing photos in Aperture?????

    I am trying to organize the projects and albums that are located on the left hand side of the screen when using Aperture.  You can arrange the projects and albums by name, manual, or kind when you use the preferences drop down menu located below the

  • New to Mac and iWeb, was use to Dreamweaver on a PC

    Hi All I am a newbie to Macs, I have been publishing my web site via Dreamweaver for a few years. I have seen the iWeb application on my Mac but for the life of me I can not see how I can import my site to the iWeb application and publish from here,

  • Cloud Services

    Hi, If I'm right (and read correctly earlier posts) Web Role(s) and Worker Role(s) in a Cloud Service can only be created in a Visual Studio project? What about a SQL Server (e.g. Web Edition) database in a Cloud Service? Can this also be created in