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 DHi,
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 -
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 PMIf 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,
VivekHi 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,
JohannI 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,
Markhi 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 appreciatedHi 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)
ThanksAfter 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 -
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 SinghHi 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 -
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.
YogeswarHi 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 propertiesUse 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
-
How to show Primary_key in Column Tab - Oracle SQL Developer 2.1.1.64
How to show Primary_key in Column Tab or It bug? i can not see. thank you for answer.
-
When I Click on some of the bookmark folders I do get a dropdown list of sites but not always all of the sites that were bookmarked. If I copy a nonresponding folder, the new copy can be accessed but apparently does not contain all of the sites. If I
-
Error when posting an goods issue of movement type 501: order not contain
I tried to post an goods issue of movment type 501 to a stock transport order. But I get the error as below. Document 4500000130 does not contain any selectable items Message no. M7 064 Diagnosis The document or item entered cannot be adopted. Possib
-
Exception color can not display at another key figure in BEx query desinger
I have a report requirement, the user want to display the average price on each month ,such as: Jan. Feb. Mar. Apr. etc. 100 105 104 95 .... and the user want to compare each other months with Jan's price. they want to display the except
-
Preview can't be opened -10810
I'm running 10.9.2 on a MacBook Pro and suddenly I'm unable to launch Preview and I'm getting error code -10810. I can run into a Genius bar but if anyone has some suggestions for solving the issue it would save me a trip and the genius an extra vis