Dragonlance
Member
Standalone Load balance multiple JVM\'s
Everyone,
we have been running an XE farm since WAS 4.0 days. We used to run this as a WAS standalone machine with 4 JVM’s on it and 200 concurrent users. Recently we had to upgrade to SP24.1.3 and WAS 6.1 to support Windows7. We tried to set the WAS 6.1 as a ND server but due to time constraints , we were told to setup “old school” with the 4 different ports (86,87,88,89) . This is a farm of 5 servers with 4 ports on each. We have a Cisco switch load balancing across the 5 servers. Currently, We have a home grown vertical load balancer where we are redirecting from a dispatcher.php to a random port #. We have an issue as follows. The user gets a friendly URL www.friendly.com:86/Dispatcher.dsp that will redisplay as “WWW.friendly.com:RandPort#(86-89)/jde/servlet/com.jdedwards.runtime.virtual.LoginServlet?jdeLoginAction=LOGOUT once it executes. This was done as people are X’ing out and their previous session taking up valuable http threads and hanging sessions.
The issue is the EU would then copy that ending URL. It is causing two issues. They would bypass the dispatcher (as it is not on the URL) so this would not vertical cluster and they would go to that random port on one of the 5 servers (from the Cisco switch, thus overwhelming a port.)
We would like to use the Cisco switch to load balance the people and eliminate the home grown vertical balance. I saw the Two white papers by Jeff Stevenson on Eliminating Port numbers and Using documentRoot. As stated, I have a server farm running WAS 6.1 that are NOT clustered. Each server has a 4 JVM's on it with ports 86,87,88,89. We currently had a home grown PHP script to vertical cluster. This script would do a round robin of balancing but the switch never knew if it overloads a port. We are looking to use a Cisco load balancer switch that will have the DcoumentRoot under each alias. Our current issue is with the ports, EU's are copying the ports and it is defeating the load balancing. I am trying to figure out how i can use a straight URL without the port (probably have to redirect everything back to the Cisco switch despite what they have marked as a favorite?) I saw some threads here that state we should only have a Listen 80 for the 4 ports but I am failing to understand how it will know to go to the four ports or what sounds like instead of one IP address going to this server, I will need 4??(per Jeff’s document?)
This is the sample area of the listen that we have. I started putting in the documentroot directive so it would have a healthcheck.txt in each JVM. My question is how would i have it so it would eliminate port numbers? Jeff’s white paper explains for one JVM but I am a little hazy with multiple JVM's for the one Production instance? (we are standing up a new farm and i am trying not to replicate the mistakes we have made in the past and hopefully/maybe even retrofit them back to the main farm.)
Thank you,
Dean
## Production - PD Port 86
Listen 86
<VirtualHost ProdServ1T:86>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\owhtml"
</VirtualHost>
Listen ProdServ1T.HS.UTC.COM:86
<VirtualHost ProdServ1T.HS.UTC.COM:86>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\owhtml"
</VirtualHost>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\WEB_INF">
Order Deny,Allow
Deny from All
</Directory>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>
## Production - PD Port 87
Listen 87
<VirtualHost ProdServ1T:87>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\owhtml"
</VirtualHost>
Listen ProdServ1T.HS.UTC.COM:87
<VirtualHost ProdServ1T.HS.UTC.COM:87>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\owhtml"
</VirtualHost>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\WEB_INF">
Order Deny,Allow
Deny from All
</Directory>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>
Everyone,
we have been running an XE farm since WAS 4.0 days. We used to run this as a WAS standalone machine with 4 JVM’s on it and 200 concurrent users. Recently we had to upgrade to SP24.1.3 and WAS 6.1 to support Windows7. We tried to set the WAS 6.1 as a ND server but due to time constraints , we were told to setup “old school” with the 4 different ports (86,87,88,89) . This is a farm of 5 servers with 4 ports on each. We have a Cisco switch load balancing across the 5 servers. Currently, We have a home grown vertical load balancer where we are redirecting from a dispatcher.php to a random port #. We have an issue as follows. The user gets a friendly URL www.friendly.com:86/Dispatcher.dsp that will redisplay as “WWW.friendly.com:RandPort#(86-89)/jde/servlet/com.jdedwards.runtime.virtual.LoginServlet?jdeLoginAction=LOGOUT once it executes. This was done as people are X’ing out and their previous session taking up valuable http threads and hanging sessions.
The issue is the EU would then copy that ending URL. It is causing two issues. They would bypass the dispatcher (as it is not on the URL) so this would not vertical cluster and they would go to that random port on one of the 5 servers (from the Cisco switch, thus overwhelming a port.)
We would like to use the Cisco switch to load balance the people and eliminate the home grown vertical balance. I saw the Two white papers by Jeff Stevenson on Eliminating Port numbers and Using documentRoot. As stated, I have a server farm running WAS 6.1 that are NOT clustered. Each server has a 4 JVM's on it with ports 86,87,88,89. We currently had a home grown PHP script to vertical cluster. This script would do a round robin of balancing but the switch never knew if it overloads a port. We are looking to use a Cisco load balancer switch that will have the DcoumentRoot under each alias. Our current issue is with the ports, EU's are copying the ports and it is defeating the load balancing. I am trying to figure out how i can use a straight URL without the port (probably have to redirect everything back to the Cisco switch despite what they have marked as a favorite?) I saw some threads here that state we should only have a Listen 80 for the 4 ports but I am failing to understand how it will know to go to the four ports or what sounds like instead of one IP address going to this server, I will need 4??(per Jeff’s document?)
This is the sample area of the listen that we have. I started putting in the documentroot directive so it would have a healthcheck.txt in each JVM. My question is how would i have it so it would eliminate port numbers? Jeff’s white paper explains for one JVM but I am a little hazy with multiple JVM's for the one Production instance? (we are standing up a new farm and i am trying not to replicate the mistakes we have made in the past and hopefully/maybe even retrofit them back to the main farm.)
Thank you,
Dean
## Production - PD Port 86
Listen 86
<VirtualHost ProdServ1T:86>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\owhtml"
</VirtualHost>
Listen ProdServ1T.HS.UTC.COM:86
<VirtualHost ProdServ1T.HS.UTC.COM:86>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\owhtml"
</VirtualHost>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war\WEB_INF">
Order Deny,Allow
Deny from All
</Directory>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_86.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>
## Production - PD Port 87
Listen 87
<VirtualHost ProdServ1T:87>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\owhtml"
</VirtualHost>
Listen ProdServ1T.HS.UTC.COM:87
<VirtualHost ProdServ1T.HS.UTC.COM:87>
Alias /jde "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war"
DocumentRoot "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\owhtml"
</VirtualHost>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war\WEB_INF">
Order Deny,Allow
Deny from All
</Directory>
<Directory "E:\Program Files\WebSphere\AppServer\installedApps\ProdServ1TNode01\EA_JS_87.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>