This content has been marked as final. Show 8 replies
maybe the problem is that WebLogic doesn+t have free threads to serve your requests.
you can try changing
in the setDomainEnv.sh shell script....
it's just a wild guess, don't shoot me if it's useless :o) ...
In alternative, you might define a workmanager to associate to your application.... I am just guessing, no clue what it going on there.
we should not use 100% CPU utilization but we can make till 70%-80% of CPU utilization.
I appreciate there are capacity planning details please check following document.
That was my initial thought as well. So I tried those things you suggested but with no success.
Also I tried crafting the tests as not to have high thread usage...
I created a test scenario where there are only ever 24 concurrent users, 1 per core was the idea, and it exhibits the same behavior. Never utilizing even 50% of the processor, while lagging in returning responses.
have you tried running the load generator from 2 (or more) different machines at the same time? Maybe you have a network bottleneck, or a CPU limitation on the injector, or maybe simply for some funny reason WebLogic has some DOS protecting against requests coming from the same IP (I don't think so, but you never know)...
Thank you for the suggestions.
My load generators run on 4 separate computers each of them are brand new beasts.
Maybe I can distribute the load over more computer... I will try that.
Also I have monitored the network which is 1Gb and traffic seems light.
I will direct connect the load generators and see if that makes a differences, although I am not confident it will.
at this point I would assume that the application in WebLogic suffers from some type of bottleneck - which is not CPU.
Run a profiling (if using JRockit, I would suggest JRMC with Latency analysis, otherwise yourkit) to identify where your requests are waiting - maybe some IO operation, or some lock....
It is NOT guaranteed that you are able to reach 100% CPU, some other constraints might kick in before
Applications with a fewer number of users tend to run faster on glassfish as glassfish does not provide the features that weblogic provides for the total administration of the application and the server. You can view the performance test here :
The low utilization of cpu means that your threads are hogging in some calls. You can check that through administrative console->server->monitoring->threads. You can take the thread dump and analyze the stack to get the clear view.
I just look into the WebLogic Support Matrix for 11g here http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
CentOS is not listed here as a supported OS for WebLogic 11g. I would suggest to open a ticket with Oracle Tech support and follow up. Also if you have time and facility, try to install the supported operating system for the same WebLogic + Application setup and check if you encounter the same behaviour pattern.