WebLogic and JDE

fbrammer

fbrammer

Active Member
I'd like to get in touch with some other folks that are using WebLogic as there web server. I'm trying to get a better understanding of how to configure it for our environment.

How many users per JVM do you target? (I'm targeting 10, not because of performance, but because these things seem so unstable.)

How many containers do you have on a single server? (I have about 20 on a single Windows 2008 R2 SE)

What startup parameters do you use and why? (I have just Xms=1512M Xmx=1512, Oracle recommended only setting the memory parameters.)

How stable are you JVM containers? ( I have one go down or get into multiple stuck threads about 3 per week. We have some questionable custom code, but it is getting better.)

We're required to allow 2 hours of idle time. Does anyone else have such a large idle setting?

Is WebSphere "better"?

Is Linux better for the JVMs than Windows?

We don't need to cluster, but I'd like to distribute the load over multiple nodes and can't find a good way to do this. Looking for ideas on this.

Thanks.
Frank

Tools 9.1.3
9.0
WebLogic 11/12
Windows 2008 R2 and HPUX
Oracle DB
 
Frank,

Answers for my 9.1 instance.

How many users per JVM do you target? (I'm targeting 10, not because of performance, but because these things seem so unstable.)
I target 100, but in reality I top out at about 50 per instance.

How many containers do you have on a single server? (I have about 20 on a single Windows 2008 R2 SE)
In my non-prod I have 4

What startup parameters do you use and why? (I have just Xms=1512M Xmx=1512, Oracle recommended only setting the memory parameters.)
-XX:MaxPermSize=256m -- I set this because 128m is too small, I run out of perm space
-Xms3072m -- The more users I get the larger I will set this up to maybe 4G, then I'll consider another instance
-Xmx3072m -- I set to the same, it seems to help with GC, although I see the literature going back and forth on if it should = Xms
-Dweblogic.wsee.wstx.wsat.deployed=false --Not at all sure, a consultant set this up initially. I'm not using it in my 8.12 instances and things work fine.

How stable are you JVM containers? ( I have one go down or get into multiple stuck threads about 3 per week. We have some questionable custom code, but it is getting better.)
So far so good (knock on wood), I think stability has more to do with the tools release than WebLogic. 8.98.3 was terrible, when I went to 8.98.4.4 my issues 'went away'. I haven't had any 9.1.x issues

We're required to allow 2 hours of idle time. Does anyone else have such a large idle setting?
We use 1 hour

Is WebSphere "better"?
I'd say 'different'

Is Linux better for the JVMs than Windows?
No first hand experience.

We don't need to cluster, but I'd like to distribute the load over multiple nodes and can't find a good way to do this. Looking for ideas on this.
I'd suggest a load balancer, we use an F5 I know altquark has an open source balancer he likes.

BTW, we leave our JDE up for long periods of time, my 9.1 instances have been up for 33 days at the moment.
 
Last edited:
How many users per JVM do you target? (I'm targeting 10, not because of performance, but because these things seem so unstable.)
We keep to under 50 per JVM

How many containers do you have on a single server? (I have about 20 on a single Windows 2008 R2 SE)
For our production servers, we have 3 containers per server.

What startup parameters do you use and why? (I have just Xms=1512M Xmx=1512, Oracle recommended only setting the memory parameters.)
We set our Xms=2048 and Xmx=2048

How stable are you JVM containers? ( I have one go down or get into multiple stuck threads about 3 per week. We have some questionable custom code, but it is getting better.)
I'd say they are very stable. We may have one die maybe once every month or two. Tools release may affect stability, and custom code could definitely be a factor for you, too.

We're required to allow 2 hours of idle time. Does anyone else have such a large idle setting?
We also have 2 hours of idle time.

Is WebSphere "better"?
I'd say go with whichever web server you have experience with. I know a lot of people use Websphere and a lot use Weblogic.

Is Linux better for the JVMs than Windows?
Again, what is your experience level with Linux or Windows? I'd go with that.

We don't need to cluster, but I'd like to distribute the load over multiple nodes and can't find a good way to do this. Looking for ideas on this.
We use a single sign-on solution from Everest Software which comes with a built-in load balancer. This has been a bit hit with our end users for the SSO part, and for us in I.T. for the load balancer part.
 
I'd like to get in touch with some other folks that are using WebLogic as there web server. I'm trying to get a better understanding of how to configure it for our environment.
I'll answer these questions from the perspective of a customer that went live last April on 9.1 with Weblogic. 15,000 named users, iSeries as their database platform, Oracle Weblogic 10.3.6 on Linux (OUEL) as their Java Enterprise Servers

How many users per JVM do you target? (I'm targeting 10, not because of performance, but because these things seem so unstable.)
Approximately 150 users per JVM as the maximum - but reliably we see > 100 users per JVM. We have approximately 35 Weblogic Servers, each with two JVM instances, loadbalanced through an F5
How many containers do you have on a single server? (I have about 20 on a single Windows 2008 R2 SE)
Two. We run Linux.
What startup parameters do you use and why? (I have just Xms=1512M Xmx=1512, Oracle recommended only setting the memory parameters.)
/XMs=6192< Xmx=6192
How stable are you JVM containers? ( I have one go down or get into multiple stuck threads about 3 per week. We have some questionable custom code, but it is getting better.)
Incredibly stable. Running Tools Release 9.1.4.7 - we never see any downtime.
We're required to allow 2 hours of idle time. Does anyone else have such a large idle setting?
I think we have it configured for 1 hour. I believe we tried a higher setting, but it can introduce instability.
Is WebSphere "better"?
No
Is Linux better for the JVMs than Windows?
No. ok - let me answer that a little more clearly - I've seen Weblogic on Windows at customers and have seen MONTHS of uptime with no instability. However, Windows does need certain other applications to run - including antivirus, etc. as opposed to Linux, so your instability might be related to that.
We don't need to cluster, but I'd like to distribute the load over multiple nodes and can't find a good way to do this. Looking for ideas on this.
You need to loadbalance your E1 servers. There are plenty of threads that talk about this - either purchase a hardware loadbalancer, like an F5 - or utilize a software-based loadbalancer - such as Zen Loadbalancer. Ensure that you set up persistency properly - that is the most critical item.
Thanks.
Frank

Tools 9.1.3
9.0
WebLogic 11/12
Windows 2008 R2 and HPUX
Oracle DB
[/quote]
I note you're using Tools 9.1.3 and that you have Weblogic 12 in your signature.

You can definitely utilize Weblogic 12c - but you need to be on a later tools release. Just FYI. I think that running 20 weblogic instances on one windows server might be causing your issues to be honest. I would presume that each of the weblogic instances is on a different port. The min/max memory heap 1.5Gb limitation has gone since 64bit JVM's - so you can bump up your memory to handle more users. In our configuration, we have 16Gb RAM for each of the production linux boxes, with 6Gb per JDE HTML server, 2Gb for the Admin Server, and that leaves 2Gb for the OS. We install OHS (Web Tier Utilities) because Apache is FAR more stable than utilizing Weblogics' internal web server. If you read the documentation, Oracle specifically states that you should absolutely utilize OHS wherever possible. Some people have questioned that, and I've noticed that without OPMN running, there are stability issues with lots of users.

IF, however, you are looking to install Oracle 12c, then you will have to install two nodemanagers unless you install in an "enterprise" method.

Lastly, I don't like the "clustering" of JDE HTML servers. I think thats a waste of resources, and doesn't work as well as load-balancing. Use a great load-balancer, but if you don't have the F5 expertise - then install Zen Loadbalancer, which is a LOT easier to configure and cluster.
 
Last edited:
The system referenced here is a E1 9.0 on AS400 V6R1 with the web on WLS 10.3.5 on Win 2008 R2


I'd like to get in touch with some other folks that are using WebLogic as there web server. I'm trying to get a better understanding of how to configure it for our environment.

How many users per JVM do you target? (I'm targeting 10, not because of performance, but because these things seem so unstable.)

- 35 to 40 per JVM . This is a conservative number but my users are super sensitive to even the smallest performance delays so we find that staying under this number is good for us.


How many containers do you have on a single server? (I have about 20 on a single Windows 2008 R2 SE)

- I presume you mean JVM when you say container ? We have 2 per server and 3 servers. As you can see from most of the other responses, 20 per server is unusually high. How much RAM and CPU do you have on this box ? Also if you put all 20 JVMs on one server you are introducing a single point of failure. What if that server goes down ?

What startup parameters do you use and why? (I have just Xms=1512M Xmx=1512, Oracle recommended only setting the memory parameters.)

- I have it set to 4 GB , so Xms=4096M Xmx=4096M. The Server has 12 GB of RAM so 4 + 4 for each JVM , 2 for Admin Server and 2 for the OS. You could go higher here if you had more RAM but at some point the larger JVMs are going to result in longer GC cycles that could result in longer CPU spikes.

How stable are you JVM containers? ( I have one go down or get into multiple stuck threads about 3 per week. We have some questionable custom code, but it is getting better.)

- It depends , sometimes they run fine for months , sometimes at about the 5 week mark , one JVM out of the 6 will have a leak or runaway thread that will leave the CPU spiked at 100%. But this is on an older TR - 9.1.0.x and I do believe the issue is being caused by some bad code so its not necessarily a WLS problem. But to be cautious we reboot the servers once a month. Because they are load balanced using a hardware load balancer (RadWare) , we are able to easily do them one at a time without requiring a downtime.

We're required to allow 2 hours of idle time. Does anyone else have such a large idle setting?

- We have a 1 hour time out setting. Larger time out settings would usually result in more memory consumption to hold those sessions.

Is WebSphere "better"?

- Not really. The WAS Network Deployment Clustering features do seem to be better than WebLogic's Clustering features, but this is just my perception. Most people seem to use hardware or virtual appliance load balancers today anyway. So all in all I would say from a JDE perspective , one is not better than the other. Keeping in mind Oracle's long term direction , it may be better to get on WLS sooner than later. Since you are already there , I would not suggest going to WAS now.

Is Linux better for the JVMs than Windows?

- Linux in general has better up time than windows simply because of not having to install updates that require reboots etc , but if you are a windows shop stay on windows. No need to go Linux just for these servers.

We don't need to cluster, but I'd like to distribute the load over multiple nodes and can't find a good way to do this. Looking for ideas on this.

- You can vertically cluster using the in built WLS clustering feature and OHS using the WLS Standard Edition . If you want to horizontally cluster then you need the Enterprise Edition of WLS which costs a lot of $$$. You would be better of with a hardware load balancing solution at that point or even something like Zen as mentioned by Jon

Thanks.
Frank

Tools 9.1.3
9.0
WebLogic 11/12
Windows 2008 R2 and HPUX
Oracle DB


It sounds like your system has about 200 concurrent users ? I would definitely recommend that you stand up more servers and spread the JVMs across them rather than load up one server with 20 JVMs. It would also eliminate your single point of failure.
 
Last edited:
Back
Top