OSB: WebLogic lo4j performance issue

Hi
I have configured log4j on WebLogic server 11g.
Oracle Service Bus (OSB) uses this log4j file and writes log in AdminServer/logs/ApplicationLogs directory.
Log level is 'DEBUG' and quite a lot data is being logged.
lately i have noticed that server is running very slow.
any guidelines/links?
Thanks

If you feel that that excessive logging is the issue, then you can start by tune the WLS logging and compare the performance.
Go to WLS console > Servers > Servername > Logging > Advanced and set the following severity levels
‘Warning’ for “Log File” section;
‘Notice’ for “Standard out” section;
‘Warning’ for “Domain log broadcaster” section;
‘Error’ for “Memory buffer’’ section;
Then click on ‘HTTP’ tab in ‘Logging’ section. Uncheck the box “HTTP access log file enabled” if it is checked.If you still face issues, then please give more details of the domain and the services deployed.
Thanks,
Patrick

Similar Messages

  • OSB JCA Adapter performance issue

    Hi,
    We have to use OSB as an ESB at integration level which need to populate the result from local services e.g. from DB as well as from external services. Actually we need to use switch [split -join] and connector [individual proxy for individual services] features.
    As for external services, we do not have questions but to access data from local system e.g. Database, whether it will be a performance issue in OSB, in case if we are using JCA Adapter and exposing it as a service? Because some one objected that accessing JCA layer in OSB will be a performance issue.
    If some one can shed the light on it, it will be great.
    Thanks & Regards,
    V D

    Hi,
    Have a look at the Developer Guide for OSB... Oracle JCA Adapter for Database is supported... Have a look at the limitations, there's nothing mentioning performance...
    http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/jca.htm#i1110405
    Also have a look at the following blogs... One of them even suggests that jca performs better than xquery with fn-bea:execute-sql...
    http://victor-jan.blogspot.com.au/2012/06/osb-fn-beaexecute-sql-vs-jca-dbadapter.html
    http://reallifeserviceorientedarchitecture.blogspot.com.au/2011/09/oracle-service-bus-osb-and-jca-adapters.html
    If you are still in doubt open a SR with Oracle Support...
    Hope this helps...
    Cheers,
    Vlad

  • OSB 10gR3 Performance Issue

    Hi Guys,
    I having some performance issue in OSB but i not sure where to tune the setting kindly provide me some ideas. Current project having 3 proxy services, 2 jms proxy, 4 business services and 2 jms business services.
    Scenario
    when one of the proxy having high loads, others request did not get the responses in other proxy as well. Why will this happens? Is it because the threads is occupied? the proxy that having high load is a asynchronous process. Proxy>>JMS Business (input Q) || (pickup Q)JMS proxy>>business service.
    Behavior
    1. When having lots of incoming request others services cannot be accessed.
    2. Server did not shows out of memory.
    3. When browsing the sbconsole and admin console, navigation is very slow it might time out as well.

    Hi there, before going to the workmanager, can anyone explain about the socket listner? It seems like my socket listner is fully occupied when load comming in.
    Basically it seems like not releasing the socket. Can i know by defult how the socket works in WLS? I am lost, because from my understanding, each socket is base on one connection means when it reach the JMS it will ends the process and close the listner. Then when JMS proxy picking the message in the queue will perform one by one means consume the socket one by one.
    For e.g:
    1. JMS proxy pick up message>"one socket consumed">send to business service > wait for respone > respone return >"socket close"
    2. JMS proxy pick up message>"one socket consumed">send to business service > wait for respone > respone return >"socket close"
    so each time will used only one socket per transaction am i rite?
    and i received below message from the domain log
    ####<Jul 20, 2010 3:50:25 PM SGT> <Warning> <Socket> <selbgixb50ut002> <CGISOSB_MS1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1279612225183> <BEA-000449> <Closing socket as no data read from it during the configured idle timeout of 5 secs>
    ####<Jul 20, 2010 3:50:25 PM SGT> <Warning> <Socket> <selbgixb50ut002> <CGISOSB_MS1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1279612225183> <BEA-000449> <Closing socket as no data read from it during the configured idle timeout of 5 secs>
    I am really lost. Recommanded setting for basic Ascync process needed, and i am using the default connection factory, will this cause the problem?

  • Performance Issues in weblogic managed server

    Hi,
    We are facing performance issues in our managed servers in weblogic domain and in logs it is showing this error continuously.
    <Oct 2, 2013 10:39:27 AM MST> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '47' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "700" seconds working on the request "Workmanager: OIMMDBWorkManager, Version: 0, Scheduled=false, Started=true, Started time: 700360 ms
    ", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
    Thread-294 "[STUCK] ExecuteThread: '47' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, suspended, blocked, priority=1, DAEMON> {
        -- Blocked trying to get lock: java.io.PrintStream@41a53700[not locked]
        java.io.PrintStream.println(PrintStream.java:755)
        com.wyndham.operations.user.eventHandlers.PostCreateOperationsEventHandler.execute(PostCreateOperationsEventHandler.java:60)
        oracle.iam.platform.kernel.impl.OrchProcessData.runPostProcessEvents(OrchProcessData.java:1225)
        oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:665)
        oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:268)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:810)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.notifyParentProcess(OrchestrationEngineImpl.java:971)
        oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:665)
        oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:268)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:810)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeChildProcess(OrchestrationEngineImpl.java:880)
        oracle.iam.platform.kernel.impl.OrchProcessData.handleAdditionalChanges(OrchProcessData.java:552)
        oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:665)
        oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:268)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:815)
        oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:843)
        oracle.iam.platform.kernel.impl.OrhestrationAsyncTask.execute(OrhestrationAsyncTask.java:97)
        oracle.iam.platform.async.impl.TaskExecutor.executeUnmanagedTask(TaskExecutor.java:99)
        oracle.iam.platform.async.impl.TaskExecutor.execute(TaskExecutor.java:52)
        oracle.iam.platform.async.messaging.MessageReceiver.onMessage(MessageReceiver.java:60)
        sun.reflect.GeneratedMethodAccessor1493.invoke(Unknown Source)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:575)
        com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:86)
        com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:102)
        com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:151)
        $Proxy460.onMessage(Unknown Source)
        weblogic.ejb.container.internal.MDListener.execute(MDListener.java:518)
        weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:467)
        weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
        weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4638)
        weblogic.jms.client.JMSSession.execute(JMSSession.java:4134)
        weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3820)
        weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
    We have performed workload manager tuning in weblogic console as below.
    The property ‘Maximum Threads Constraint’ of work managers OIMMDBWorkManager = 80 and OIMUIWorkManager = 20
    Please suggest the solution.

    Hi,
    If you look more closely at the STUCK Thread stack trace, you will notice that the thread is attempting to acquire a LOCK on the following Object monitor: java.io.PrintStream@41a53700. The native thread state is also in a BLOCKED state.
    My primary recommendation is to generate a full JVM Thread Dump (next re-occurence) so we can identify the potential culprit Thread holding such lock. One more thing, please see if you have multiple snapshots of this thread 294?
    I also recommend to review the following source code:
    com.wyndham.operations.user.eventHandlers.PostCreateOperationsEventHandler.execute(PostCreateOperationsEventHandler.java:60)
    Sharing the same Stream object in this case would trigger thread lock contention given java.io.PrintStream has built-in synchronization ex:
       public void println(String x) {
      synchronized (this) {
         print(x);
         newLine();
    Regards,
    P-H
    http://javaeesupportpatterns.blogspot.com

  • BEA Weblogic performance issue

    Hi All,
    We are using bea weblogic 10.2.
    We have some performance issue in our production.
    We face the proble like
    1. Our bea query takes maxixmum cpu utilization in the oracle databse.
    process are content upload, update, expiry and report fetching.
    2. When we run BEA query for report it takes around 10 min to run and content count is around 70,000,
    is this OK?
    3. Some times we get Socket connection error.
    4. Sometimes we get portal datasource connection pool error, currently it is set as 30.
    5. Almost every process is slow.
    Can anyone help me for optimization?
    From BBA,
    we idetified the query which is taking high CPU utilization..
    SELECT
    DISTINCT B.NODE_ID, B.NODE_VERSION_ID, B.CM_MODIFIED_DATE, B.MODIFIED_BY,B.VERSION_COMMENT,
    B.LIFECYCLE_STATUS,A.OBJECT_CLASS_ID,A.REPOSITORY_NAME
    FROM CMV_NODE A, CMV_NODE_VERSION B,(SELECT NODE_ID, MAX(CAST(NODE_VERSION_ID AS INTEGER)) NVI
    FROM CMV_NODE_VERSION GROUP BY NODE_ID) A1, ( SELECT B.NODE_ID,B.NODE_VERSION_ID, B.CM_MODIFIED_DATE,
    B.MODIFIED_BY, B.VERSION_COMMENT, B.LIFECYCLE_STATUS, A.OBJECT_CLASS_ID, A.REPOSITORY_NAME FROM CMV_NODE A,
    CMV_NODE_VERSION B, CMV_NODE_VERSION_PROPERTY N1, CMV_PROPERTY P1, CMV_VALUE_V V1 WHERE A.NODE_ID = B.NODE_ID
    AND B.NODE_ID = N1.NODE_ID AND B.NODE_VERSION_ID = N1.NODE_VERSION_ID AND N1.PROPERTY_ID = P1.PROPERTY_ID
    AND P1.PROPERTY_ID = V1.PROPERTY_ID AND P1.PROPERTY_NAME = :1 AND (UPPER(V1.TEXT_VALUE) LIKE :2 ESCAPE :"SYS_B_0" )
    UNION
         SELECT B.NODE_ID, B.NODE_VERSION_ID, B.CM_MODIFIED_DATE, B.MODIFIED_BY, B.VERSION_COMMENT,
    B.LIFECYCLE_STATUS, A.OBJECT_CLASS_ID, A.REPOSITORY_NAME FROM CMV_NODE A, CMV_NODE_VERSION B, CMV_NODE_
    Edited by: Arvind Rai on Apr 13, 2010 12:49 PM

    If your DB CPU is pegged, then anything that does db operations will take time (including some portal operations). If you take a thread dump you should be able to see them waiting on the DB
    When we run BEA query for report it takes around 10 min to run and content count is around 70,000,No. If it causes your CPU to max out it isnt. However your content items arent that much, so what query are you running? You could always export and import just the content tables and run your queries on some other machine (Assuming this is the cause)
    3. Some times we get Socket connection error.More information needed
    4. Sometimes we get portal datasource connection pool error, currently it is set as 30.What is the error?
    5. Almost every process is slow.If the DB is maxed this is what you should expect.
    When is the query fired? Are your indexes created? I assume caching is not much good to you since these are reporting queries?

  • Weblogic J2EE agent 2.2 performance issue

    Hi All,
    Are these known performance issues with J2EE Agent 2.2 for Weblogic 8sp5?
    Is there a document that tells about performance tuning of J2EE Agent 2.2 for Weblogic server?
    We are doing the load testing with AM 7.0 and Weblogic J2EE Agent. We found that AM7.0 with Apache Policy agent works fine in our load test. Our Application's performance without the J2EE agent is good. The moment we add J2EE Agent for weblogic to the equation, it goes south...
    Any help will be appreciated,
    Thanks,
    Vivek

    Hi All,
    Are these known performance issues with J2EE Agent 2.2 for Weblogic 8sp5?
    Is there a document that tells about performance tuning of J2EE Agent 2.2 for Weblogic server?
    We are doing the load testing with AM 7.0 and Weblogic J2EE Agent. We found that AM7.0 with Apache Policy agent works fine in our load test. Our Application's performance without the J2EE agent is good. The moment we add J2EE Agent for weblogic to the equation, it goes south...
    Any help will be appreciated,
    Thanks,
    Vivek

  • Weblogic 8.1 SP4 on AIX Performance issues

    We are currently facing big performance issues with our servers that are holding just a couple of applications. The server specs are:
    System Model: IBM,7040-681
    Processor Type: PowerPC_POWER4
    Number Of Processors: 2
    Processor Clock Speed: 1500 MHz
    CPU Type: 64-bit
    Kernel Type: 64-bit
    Memory Size: 6144 MB
    Good Memory Size: 6144 MB
    Java version "1.4.2"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
    Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca142-20060824 (SR6) (JIT
    enabled: jitc))
    Is anybody aware of this kind of problems for Wl8.1+AIX?
    Thanks,
    Johann

    I am getting the same error as well
    cannot load libary 'stackdump': java.lang.UnsatisfiedLinkError: no stackdump in java.library.path
    I am creating a simple domain using the domain config wizard and I hope all the PATH and LD_LIBRARY_PATH are set by the default scripts. But I am still getting this error.
    But Kill -3 <PID> works though!
    Is is a know problem OR am I missing something?!
    Bala

  • WebLogic 10.3.4 Adminserver Performance Issues - Clustered Environment.

    I am running WL 10.3.4 64 bit version on 64 bit hardware (blade serves) running Solaris 10 and I have the servers setup in a cluster. There are 3 machines are part of the cluster.
    Managed Server1 is on Blade Server 1
    Managed Server2 is on Blade Server 2
    Managed Server3 is on Blade Server 3
    We have about 20 different clusters setup and 60 servers across those 20 clusters.
    The adminserver runs on a separate box (not a blade server). Tasks that do NOT involve the servers or deployments tabs are relatively fast however, when I go to the servers or deployments tab, and to some extent the clusters tab, the response is very slow.
    For example, I am running WL 10.3.0 on less robust hardware. I installed the patch that Oracle published to resolve this particular issue. We have a similar number of clusters and servers on in that environment (3 severs to a cluster). The servers tab responds in 10 seconds.
    In WL 10.3.4, the servers and deployments tabs take about 45 - 60 seconds to respond. This adds a LOT of overhead to doing any server or deployment related tasks.
    I realize that the admin server has to query all the managed servers but performance in 10.3.4 is much worse than WL 10.3.0 with the performance patch.
    Has anyone else run into similar performance issues with the WL 10.3.4 ADMIN Console running in a clustered environment? If so, does anyone have any suggestions to help improve performance.
    I also run a WL 10.3.4 instance in a single server environment and the servers and deployments tabs respond withing 10 seconds (very fast). It is just in a clustered environment.
    Regards,
    Mark

    hi Mark, it's a very interesting story, any follow-up? I would be curious to know the reason for the delay...

  • Performance issues with class loader on Windows server

    We are observing some performance issues in our application. We are Using weblogic 11g with Java6 on a windows 2003 server
    The thread dumps indicate many threads are waiting in queue for the native file methods:
    "[ACTIVE] ExecuteThread: '106' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
         java.io.WinNTFileSystem.getBooleanAttributes(Native Method)
         java.io.File.exists(Unknown Source)
         weblogic.utils.classloaders.ClasspathClassFinder.getFileSource(ClasspathClassFinder.java:398)
         weblogic.utils.classloaders.ClasspathClassFinder.getSourcesInternal(ClasspathClassFinder.java:347)
         weblogic.utils.classloaders.ClasspathClassFinder.getSource(ClasspathClassFinder.java:316)
         weblogic.application.io.ManifestFinder.getSource(ManifestFinder.java:75)
         weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
         weblogic.application.utils.CompositeWebAppFinder.getSource(CompositeWebAppFinder.java:71)
         weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
         weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
         weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:33)
         weblogic.utils.classloaders.GenericClassLoader.findResource(GenericClassLoader.java:210)
         weblogic.utils.classloaders.GenericClassLoader.getResourceInternal(GenericClassLoader.java:160)
         weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:182)
         java.lang.ClassLoader.getResourceAsStream(Unknown Source)
         javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
         java.security.AccessController.doPrivileged(Native Method)
         javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
         javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
         javax.xml.parsers.FactoryFinder.find(Unknown Source)
         javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
         org.ajax4jsf.context.ResponseWriterContentHandler.<init>(ResponseWriterContentHandler.java:48)
         org.ajax4jsf.context.ViewResources$HeadResponseWriter.<init>(ViewResources.java:259)
         org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:445)
         org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:193)
         org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
         org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
    On googling this seems to be an issue with java file handling on windows servers and I couldn't find a solution yet. Any recommendation or pointer is appreciated

    Hi shubhu,
    I just analyzed your partial Thread Dump data, the problem is that the ajax4jsf framework ResponseWriterContentHandler triggers internally a new instance of the DocumentBuilderFactory; every time; triggering heavy IO contention because of Class loader / JAR file search operations.
    Too many of these IO operations under heavy load will create excessive contention and severe performance degradation; regardless of the OS you are running your JVM on.
    Please review the link below and see if this is related to your problem.. This is a known issue in JBOSS JIRA when using RichFaces / ajaxJSF.
    https://issues.jboss.org/browse/JBPAPP-6166
    Regards,
    P-H
    http://javaeesupportpatterns.blogspot.com/

  • Performance issues with the Vouchers index build in SES

    Hi All,
    We are currently performing an upgrade for: PS FSCM 9.1 to PS FSCM 9.2.
    As a part of the upgrade, Client wants Oracle SES to be deployed for some modules including, Purchasing, Payables (Vouchers)
    We are facing severe performance issues with the Vouchers index build. (Volume of data = approx. 8.5 million rows of data)
    The index creation process runs for over 5 days.
    Can you please share any information or issues that you may have faced on your project and how they were addressed?

    Check the following logs for errors:
    1.  The message log from the process scheduler
    2.  search_server1-diagnostic.log  in /search_server1/logs directory
    If the build is getting stuck while crawling then we typically have to increase the Java Heap size for the Weblogic instance for SES>

  • Socket based application - Performance Issues - Suggestions Needed

    Hi All,
    We have an application which basically has been developed using core java. Here is a high level information about the application:
    a) It opens a serversocket which allows clients to connect to it.
    b) For every new client connection, a separate thread is created and this thread deals with requests from clients, processing the data and replying back to clients.
    c) Each socket is polled continuously and sockettimeout is 2 seconds. If there is a timeout, we handle the situation and socket is again read. So basically sockets is read every 2 seconds. If number of timeouts reaches a configurable value, we close the connection and thread is dropped as well.
    d) In production, three instances of this application are running with the help of a cisco load balancer. It is there for last 5 years.
    However there has always been some minor performance isssues and we have sorted them out using different types of garbage collectors, by introducing hardware load balancers, upgrading the code for new Java versions. It is currently running on 1.4.2.
    However there has always been some performance issues and today while googling over internet I came across following on the bea website which says that core java sockets are not as efficients as native API. BEA has implemented its own APIs for weblogic. My queries are:
    a) Are there any better Java Socket/network API (for solairs, I know Java is plateform independenet but there could be lib which also using native libs) which are much more efficient than Core Java.
    b) We are getting the InputStream/OutputStream and creating objects of DataInputStream/DataOutputStream to read the data 'Byte-By-Byte'. Each byte can have different information thats why it is required. Are there any better way of getting info than what we are currently doing.
    c) As I mentioned, we are continously polling the socket for read operation with a timeout value of 2 seconds. What is the better among the following from performance point of view: (1) Frequent read operation with a lesser timeout value or (2) Less Frequent read operations with larger timeout value. (3) Any better idea??
    Please suggest few things or pointers which I could do to improve the performance of the applcations. Many thanks.
    Thanks,Akhil
    From BEA website:-
    "Although the pure-Java implementation of socket reader threads is a reliable and portable method of peer-to-peer communication, it does not provide the best performance for heavy-duty socket usage in a WebLogic Server cluster. With pure-Java socket readers, threads must actively poll all opened sockets to determine if they contain data to read. In other words, socket reader threads are always "busy" polling sockets, even if the sockets have no data to read. This unnecessary overhead can reduce performance."

    My recommendations:
    - Always use a BufferedInputStream and BufferedOutputStream around the socket streams
    - Increase the socket send and receive buffers to at least 32k if you are on a Windows platform where the default is a ridiculous 8k, which hasn't been enough for about 15 years.
    - Your 2-second timeout is far too short. Increase it to at least 10 seconds.
    - Your strategy of counting up to N short timeouts of S seconds each is completely pointless. Change it to one single timeout of N*S seconds. There is nothing to be gained by the complication you have introduced to this.

  • Oracle BPM 11.1.1.5 Performance issues

    Hi,
    I have 2 Node Cluster of Oracle SOA 11.1.1.5 installed. Have a separate cluster for SOA/BPM, BAM, OSB, WSM. Here are the OS and Java versions
    Java Vendor: HP
    Java Version: 1.6.0.14
    OS: HP-UX
    OS Version: B.11.31
    Running into an issue where Oracle BPM is performing very slow the task forms takes forever to come up and performing any actions takes too long to proceed som time it keeps timing out. I have over 100 SOA Process running plus some BPM Process but BMP Workspace application is running too slow as have customized tasks forms. But the same works a bit better in other instance which is non-clustered. Any idea what can be done on the server level to get around the performance issues. So far have modified Audit Levels and reduced soa-infra bpm log have the following settings in setDomainEnv.sh for USER_MEM_ARGS=-Xms2000m -Xmx6000m -XX:PermSize=1000m
    But not help. Any idea what else to look into to get around these bpm performance issues. Here is what I have in setSOADomainEnv.sh
    # 8395254: add -da:org.apache.xmlbeans... in EXTRA_JAVA_PROPERTIES
    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -da:org.apache.xmlbeans..."
    XENGINE_DIR="${SOA_ORACLE_HOME}/soa/thirdparty/edifecs/XEngine"
    DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
    PORT_MEM_ARGS="-Xms768m -Xmx1536m"
    if [ "${JAVA_VENDOR}" != "Oracle" ] ; then
      DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=128m -XX:MaxPermSize=512m"
      PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m"
    fi
    #========================================================
    # setup LD_LIBRARY_PATH if directory is present...
    #========================================================
    if [ -d ${XENGINE_DIR}/bin ]; then
       LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${XENGINE_DIR}/bin"
       export LD_LIBRARY_PATH
    fi
    #========================================================
    # setup platform specific environment variables
    #========================================================
    case ${PLATFORM_TYPE} in
      # AIX
      AIX)
        if [ -d ${XENGINE_DIR}/bin ]; then
           LIBPATH="${LIBPATH}:${XENGINE_DIR}/bin"
           export LIBPATH
        fi
        USER_MEM_ARGS=${PORT_MEM_ARGS}
        export USER_MEM_ARGS
        # Fix for 7828060
        POST_CLASSPATH=${POST_CLASSPATH}:${SOA_ORACLE_HOME}/soa/modules/soa-ibm-addon.jar
        # Fix for 7520915 and 8264518 and 8305217
        EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Djavax.xml.datatype.DatatypeFactory=org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl -Djava.endorsed.dirs=${SOA_ORACLE_HOME}/bam/modules/org.apache.xalan_2.7.1"
        export EXTRA_JAVA_PROPERTIES
      # HPUX
      HP-UX)
        if [ -d ${XENGINE_DIR}/bin ]; then
           SHLIB_PATH="${SHLIB_PATH}:${XENGINE_DIR}/bin"
           export SHLIB_PATH
        fi
        LD_LIBRARY_PATH="${XENGINE_DIR}/bin:${LD_LIBRARY_PATH}"
        export LD_LIBRARY_PATH
        USER_MEM_ARGS="-d64 ${PORT_MEM_ARGS}"
        export USER_MEM_ARGS
        ;;And here is what I have in setDomainEnv.sh
    XMS_SUN_64BIT="256"
    export XMS_SUN_64BIT
    XMS_SUN_32BIT="256"
    export XMS_SUN_32BIT
    XMX_SUN_64BIT="512"
    export XMX_SUN_64BIT
    XMX_SUN_32BIT="512"
    export XMX_SUN_32BIT
    XMS_JROCKIT_64BIT="256"
    export XMS_JROCKIT_64BIT
    XMS_JROCKIT_32BIT="256"
    export XMS_JROCKIT_32BIT
    XMX_JROCKIT_64BIT="512"
    export XMX_JROCKIT_64BIT
    XMX_JROCKIT_32BIT="512"
    export XMX_JROCKIT_32BIT
    if [ "${JAVA_VENDOR}" = "Sun" ] ; then
         WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"
         export WLS_MEM_ARGS_64BIT
         WLS_MEM_ARGS_32BIT="-Xms256m -Xmx512m"
         export WLS_MEM_ARGS_32BIT
    else
         WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m"
         export WLS_MEM_ARGS_64BIT
         WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"
         export WLS_MEM_ARGS_32BIT
    fi
    if [ "${JAVA_VENDOR}" = "Oracle" ] ; then
         CUSTOM_MEM_ARGS_64BIT="-Xms${XMS_JROCKIT_64BIT}m -Xmx${XMX_JROCKIT_64BIT}m"
         export CUSTOM_MEM_ARGS_64BIT
         CUSTOM_MEM_ARGS_32BIT="-Xms${XMS_JROCKIT_32BIT}m -Xmx${XMX_JROCKIT_32BIT}m"
         export CUSTOM_MEM_ARGS_32BIT
    else
         CUSTOM_MEM_ARGS_64BIT="-Xms${XMS_SUN_64BIT}m -Xmx${XMX_SUN_64BIT}m"
         export CUSTOM_MEM_ARGS_64BIT
         CUSTOM_MEM_ARGS_32BIT="-Xms${XMS_SUN_32BIT}m -Xmx${XMX_SUN_32BIT}m"
         export CUSTOM_MEM_ARGS_32BIT
    fi
    MEM_ARGS_64BIT="${CUSTOM_MEM_ARGS_64BIT}"
    export MEM_ARGS_64BIT
    MEM_ARGS_32BIT="${CUSTOM_MEM_ARGS_32BIT}"
    export MEM_ARGS_32BIT
    if [ "${JAVA_USE_64BIT}" = "true" ] ; then
         MEM_ARGS="${MEM_ARGS_64BIT}"
         export MEM_ARGS
    else
         MEM_ARGS="${MEM_ARGS_32BIT}"
         export MEM_ARGS
    fi
    MEM_PERM_SIZE_64BIT="-XX:PermSize=128m"
    export MEM_PERM_SIZE_64BIT
    MEM_PERM_SIZE_32BIT="-XX:PermSize=128m"
    export MEM_PERM_SIZE_32BIT
    if [ "${JAVA_USE_64BIT}" = "true" ] ; then
         MEM_PERM_SIZE="${MEM_PERM_SIZE_64BIT}"
         export MEM_PERM_SIZE
    else
         MEM_PERM_SIZE="${MEM_PERM_SIZE_32BIT}"
         export MEM_PERM_SIZE
    fi
    MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=512m"
    export MEM_MAX_PERM_SIZE_64BIT
    MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=512m"
    export MEM_MAX_PERM_SIZE_32BIT
    if [ "${JAVA_USE_64BIT}" = "true" ] ; then
         MEM_MAX_PERM_SIZE="${MEM_MAX_PERM_SIZE_64BIT}"
         export MEM_MAX_PERM_SIZE
    else
         MEM_MAX_PERM_SIZE="${MEM_MAX_PERM_SIZE_32BIT}"
         export MEM_MAX_PERM_SIZE
    fi
    if [ "${JAVA_VENDOR}" = "Sun" ] ; then
         if [ "${PRODUCTION_MODE}" = "" ] ; then
              MEM_DEV_ARGS="-XX:CompileThreshold=8000 ${MEM_PERM_SIZE} "
              export MEM_DEV_ARGS
         fi
    fi
    # Had to have a separate test here BECAUSE of immediate variable expansion on windows
    if [ "${JAVA_VENDOR}" = "Sun" ] ; then
         MEM_ARGS="${MEM_ARGS} ${MEM_DEV_ARGS} ${MEM_MAX_PERM_SIZE}"
         export MEM_ARGS
    fi
    if [ "${JAVA_VENDOR}" = "HP" ] ; then
         MEM_ARGS="${MEM_ARGS} ${MEM_MAX_PERM_SIZE}"
         export MEM_ARGS
    fi
    if [ "${JAVA_VENDOR}" = "Apple" ] ; then
         MEM_ARGS="${MEM_ARGS} ${MEM_MAX_PERM_SIZE}"
         export MEM_ARGS
    fi
    if [ "${debugFlag}" = "true" ] ; then
         JAVA_OPTIONS="${JAVA_OPTIONS} -da:org.apache.xmlbeans... "
         export JAVA_OPTIONS
    fi
    export USER_MEM_ARGS="-Xms4g -Xmx6g -XX:PermSize=2g -XX:+UseParallelGC -XX:+UseParallelOldGC"Here is the output of the top command
    Load averages: 0.08, 0.06, 0.06
    315 processes: 205 sleeping, 110 running
    Cpu states:
    CPU   LOAD   USER   NICE    SYS   IDLE  BLOCK  SWAIT   INTR   SSYS
    0    0.06   4.0%   0.2%   1.0%  94.8%   0.0%   0.0%   0.0%   0.0%
    2    0.07   3.6%   5.0%   0.2%  91.2%   0.0%   0.0%   0.0%   0.0%
    4    0.07   2.0%   0.2%   0.0%  97.8%   0.0%   0.0%   0.0%   0.0%
    6    0.07   2.4%   0.2%   0.8%  96.6%   0.0%   0.0%   0.0%   0.0%
    8    0.09   1.2%   0.2%  10.9%  87.7%   0.0%   0.0%   0.0%   0.0%
    10    0.12   3.0%   0.0%  11.1%  85.9%   0.0%   0.0%   0.0%   0.0%
    12    0.08   3.0%   0.2%   6.6%  90.3%   0.0%   0.0%   0.0%   0.0%
    14    0.09   4.2%   1.2%   0.8%  93.8%   0.0%   0.0%   0.0%   0.0%
    avg   0.08   3.0%   1.0%   3.8%  92.2%   0.0%   0.0%   0.0%   0.0%
    System Page Size: 4Kbytes
    Memory: 38663044K (38379156K) real, 149420048K (148978096K) virtual, 26349848K f
    ree  Page# 1/63
    CPU TTY  PID USERNAME PRI NI   SIZE    RES STATE    TIME %WCPU  %CPU COMMAND
    4   ?  3926 root     152 20   213M 70040K run    694:47 10.05 10.04 cimprovagt
    4   ?  6855 user1  152 20  7704M  1125M run      4:36  9.31  9.29 java
    0   ?  6126 user2  152 20  2790M  1863M run     22:57  4.16  4.15 javaHere is the Memory on the box
    Memory: 98132 MB (95.83 GB)
    Thanks

    After changing JVM settigns for soa cluster it's a bit better but still slow so wondering what other tweaks can be done on the JVM side. Here is what is for the SOA Cluster
    USER_MEM_ARGS="-server -Xms12928m -Xmx12928m -XX:PermSize=3072m -Xmn3232m -XX:+SXTElimination -XX:+UseParallelGC -XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrent -XX:-TraceClassLoading -XX:-TraceClassUnloading"
    We are running multiple instances on the same boxes and the total RAM on the machine is 95 GB on each box which is being shared across 4 cluster environments. For now other 3 cluster environments have the SOA Cluster JVM setting as
    USER_MEM_ARGS="-server -Xms4096m -Xmx4096m -XX:PermSize=1024m -Xmn1152m -XX:+SXTElimination -XX:+UseParallelGC -XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrent -XX:-TraceClassLoading -XX:-TraceClassUnloading"
    Any help on what else I can tweak or set in JVM to get a better performance.
    Thanks

  • OSB (11.1.1.7): Can OSB/Weblogic (11.1.1.7) support multiple PKIs (Public Key Infra-structure)

    Hi All,
    Would you be able to help me in understanding if OSB/Weblogic (11.1.1.7) can support multiple private key's in the domain to enable 2-SSL W/S calls ?
    Solution walk-through :
    A 3rd Party Web Service is only accessible via 2-way SSL http channel. To achieve this, OSB is required to use the private key which is issued by 3rd party. This private key and 3rd party root certificate (CA) need to be installed into OSB’s keystore which is based on Java Keystore format.
    The private key (issued by 3rd Party) will be used by OSB for identity signature. This private key is bound to IP address of the OSB machine calling the 3rd Party web service. Also, 3rd Party root certificate (CA) will be used by OSB to verify the identity of 3rd Party web service.
    Given the private key is used as the identity of the system and should be guarded closely by the target system, we believe this approach needs to be reviewed and assessed accordingly.
    Limitations and drawbacks with the current solution :  
    1. The private key of OSB system is issued and controlled by an external application vendor.
    2. OSB is enforced to use this private key and its signature algorithm for other external parties’ interactions. The current client certificate issued by 3rd Party is X509v3 certificate which uses RSA, with a 2048-bit key size, signed with a SHA-512 hash.
    3. The SSL is self-signed, not signed by a publicly trusted cert provider (i.e. VeriSign)
    4. Extra dependency on external vendor systems as the key provider. Currently, the keys are bound to server IP address; any changes to the production environment, (i.e. adding new nodes) will require a new key to be generated by 3rd Party system. In case 3rd Party is no more used in the future, the keys can no longer be generated.
    Conclusion : OSB does not support multiple PKIs (Public Key Infra-structure) which is a mapping mechanism that OSB uses to provide its certificate for SSL connecitons to the server. Multiple private keys, require multiple PKIs which OSB does not handle.
    So, do you agree that OSB/Welblofic (11.1.1.7) could not support multiple private key issued by more than one 3rd party vendor ?
    Thanks,
    Kunal Singh

    Hi Kunal,
    Although it is recommended to have 1 key pair for 1 identity store as it represents unique identity of your domain but you can:
    import multiple key-pairs in your identity store
    Configure PKI credential mapper to use reference of identity store consisting of multiple keys
    When in your OSB project, you create Service Key provider(SKP) then it loads all the private keys present in identity store referred by PKI mapper. It will browse both the keys.
    Depending on your requirement, you can choose different key pair for for different SKPs for "Client Authentication key" section(For SSL) and "Signature key" for DigiSign.
    Please let me know if i understood your query correctly and above helps.
    Regards,
    Ankit

  • Performance issues in bw

    Hi All,
    What is buffering number?How it is useful in performance issue? Tell me the option where it is available? To set this what are navigational steps?
    Thanks inadvance.
    Yogeswar

    Hi Yogi,
    A nice weblog by Vikas Please do check this.on number range buffering,
    /people/vikash.agrawal/blog/2006/04/05/load-lots-of-data-147faster148-with-buffering-number-range
    Check these links.
    FAQ - The Future of SAP NetWeaver Business Intelligence in the Light of the NetWeaver BI&Business Objects Roadmap
    https://www.sdn.sap.com/irj/sdn/developerareas/bi?rid=/webcontent/uuid/b4674415-0b01-0010-ae81-deb009860b7e [original link is broken]
    following are the links that may help you
    http://help.sap.com/search/highlightContent.jsp
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/s-u/sap%20bw%20business%20planning%20and%20simulation%20-%20how%20to%20guides%20list.htm
    http://help.sap.com/search/highlightContent.jsp
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cccad390-0201-0010-5093-fd9ec8157802
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/afbad390-0201-0010-daa4-9ef0168d41b6
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b7bdde90-0201-0010-26b1-dcda5e0b394d
    How to improve performance in reporting side?
    Query Performance Techniques:
    1. Check Query properties—Use RSRT tcode
    2. Check whether cube is compressed
    3. Optimize query definition
    4. Analyze query execution
    5. Check for additional indexes
    6. Archive unwanted data
    7. Check for partitioning options
    8. Check for additional aggregates ( Consider DB ratio and KPI ratio)
    9. Check for parallelization options
    10. Use Nav attributes instead of hierarchies, use free char and filters.
    Possible causes for the performance :
    A) High Database Runtime
    B) High OLAP Runtime
    C) High Frontend Runtime
    Depending upon your analysis
    A)Strategy - High Database Runtime
    Check if an aggregate is suitable (use All data to get values "selected records to transferred records", a high number here would be an indicator for query performance improvement using an aggregate)
    Check if database statistics are update to data for the Cube/Aggregate, use Tcode RSRV output (use database check for statistics and indexes)
    Check if the read mode of the query is unfavourable - Recommended (H)
    B)Strategy - High OLAP Runtime
    Check if a high number of Cells transferred to the OLAP (use "All data" to get value "No. of Cells")
    a) Use RSRT technical Information to check if any extra OLAP-processing is necessary (Stock Query, Exception Aggregation, Calc. before Aggregation, Virtual Char. Key Figures, Attributes in Calculated Key Figs, Time-dependent Currency Translation) together with a high number of records transferred.
    b) Check if a user exit Usage is involved in the OLAP runtime?
    c) Check if large hierarchies are used and the entry hierarchy level is as deep as possible. This limits the levels of the hierarchy that must be processed.
    C)Strategy - High Frontend Runtime
    1) Check if frontend PC are within the recommendation (RAM, CPU Mhz)
    2) Check if the bandwidth for WAN connection is sufficient.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1e553368-0601-0010-49ab-c429607f3eb3
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5401ab90-0201-0010-b394-99ffdb15235b
    check this, you can download lot of performance materials
    Business Intelligence Performance Tuning [original link is broken] [original link is broken] [original link is broken]
    and e-learning -> intermediate course and advance course
    https://www.sdn.sap.com/irj/sdn/developerareas/bi?rid=/webcontent/uuid/fe5b0b5e-0501-0010-cd88-c871915ec3bf [original link is broken]
    e.g
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/10b589ad-0701-0010-0299-e5c282b7aaad
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/d9fd84ad-0701-0010-d9a5-ba726caa585d
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/8e6183ad-0701-0010-e083-9ab1c6afe6f2
    performance tools in bw 3.5
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/07a4f070-0701-0010-3b91-a6bf7644c98f
    (here also you can download the presentation by righ click the disk drive icon)
    Check the following links,
    FAQ - The Future of SAP NetWeaver Business Intelligence in the Light of the NetWeaver BI&Business Objects Roadmap
    Business Intelligence Performance Tuning [original link is broken] [original link is broken] [original link is broken]
    http://help.sap.com/saphelp_nw04/helpdata/en/06/b5f8926ba22b45bc9eaa589f1c835b/content.htm
    Some bw docs/ performance material
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3a699d90-0201-0010-bc99-d5c0e3a2c87b
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4c0ab590-0201-0010-bd9a-8332d8b4f09c
    and don't miss bw performance knowledge centre, there are e-learning
    Business Intelligence Performance Tuning [original link is broken] [original link is broken] [original link is broken]
    Hope this Helps.
    <removed>
    Regards,
    Ravikanth.

  • Performance issue on WLS Plugins

    I also have some performance issue on wls plugins. tried to load test to
    weblogic directly with 1000 concurrent connection, it's fine on Weblogic
    server. when try to use SunOne Web Server 6.0 + wls plugins, it becomes slow
    through web server, if configure wls plugins with Weblogic Cluster , even
    worse, very slow response. look like this plugins can not support so much of
    load . it's a bottleneck.

    Duplicate post:
    Performance issue on AFPO
    Performance issue on AFPO

Maybe you are looking for