There really is NO difference in functionality when you have a IIS server and witango server on the same machine in your load balancing setup. The draw back, is one hardware failure takes out an IIS AND a witango service.

However, if you store your files on a file server, so all of the files IIS and witango serve are on a remote machine, then you GREATLY reduce the chances of a hardware failure.

Allow me to explain:

In my several years of experience with my datacenter (I have over 30 servers in there now) I have found that most hardware failures are from HD failures, or power supplies and fans. HDs being the absolute worst. I go through HDs like nobody's business.

Now, when you take a witango server, or IIS server, and none of the files are served locally, but on a file server, you GREATLY reduce local disk access on the IIS or Witango server, and so the HDs on those machines, RARELY fail. So, you build a file server, with redundant power supply and a good RAID setup and you have put your extra redundancy expense in just one server, keeping your costs down. Then, make sure you have an extra power supply always handy for your witango/IIS machines. So if it fails, and it will almost always fail on a power off/power on cycle or restart, you just swap it out and you lose very little time.

For my db and file servers I use SuperMicro cases that have triple redundant power supplies and SATA hot swap bays so I get incredible performance and redundancy. If you also use the supermicro motherboards, which are great, you get full monitoring of all fans, PSs, and temps, with software to monitor in either windows or linux. Here is an example of the full printout of sensors on one of my linux mysql servers.

************************************************************************ *****
 Supero Doctor II - Linux version 2.35(070524)
Copyright(c) 1993-2007 by Super Micro Computer, Inc. http:// supermicro.com/ ************************************************************************ *****
Monitored Item            High Limit  Low Limit     Status
----------------------------------------------------------------------
Fan1 Fan Speed                              712       4141
Fan2 Fan Speed                              712       4054
Fan3 Fan Speed                              712       4066
Fan4 Fan Speed                              712          0  Warning!
Fan5 Fan Speed                              712       4103
Fan6 Fan Speed                              712       6887
CPU Core Voltage                1.48       0.92       1.30
-12V Voltage                  -10.58     -13.40     -12.21
DIMM Voltage                    1.98       1.62       1.81
+3.3V Voltage                   3.63       2.96       3.30
+12V Voltage                   13.25      10.75      12.10
+5V Voltage                     5.50       4.49       4.92
+5Vsb Voltage                   5.50       4.49       4.82
Battery Voltage                 3.66       2.99       3.12
CPU Temperature               65/149                 29/84
System Temperature            50/122                 35/95
Chassis Intrusion                                      Bad  Warning!
Power Supply Failure                                  Good
--------------------------------------------- Mon Oct  8 10:37:40 2007

One fan is warning because I don't have it hooked up, and I don't use the chasis intrusion sensor. But this is great, because I get alarms if anything goes bad, and all of there fans in this case, are snap in/ snap out, and can even be changed while the server is running.

Then I use the 3ware system to monitor my drives and system at all times.

Here is a screen shot:

http://web.mac.com/ragboy/iWeb/3ware.jpg

And lastly, I use Zabbix on a completely seperate server in a separate location to monitor every aspect of every machine.

http://www.zabbix.com/

You would be surprised how cheap this all is. Zabbix is open source, and is the best monitoring/alarm solution I have ever used. You can monitor and setup alarms for anything. Here is a great console I use to monitor the most important values for servers of one client.

http://web.mac.com/ragboy/iWeb/zabbix.jpg

For witango, I have found the best values to monitor are Queries Per Second, and CPU load.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Oct 8, 2007, at 8:19 AM, Fogelson, Steve wrote:

MC,

In my test configuration, I believe the current and future requests would error out. I only have the Witango client loaded on one server and if it died or the server failed, it wouldn't be able to serve requests to ANY of
the Witango services.

I would be curious to know how often the Witango client fails. For me it
seems to be the Witango service getting hung on ODBC connections. I am
guessing and hoping that the Witango client keeps serving requests to all
available Witango services.

I believe Robert had the solution to take care of this by having the Witango client and IIS loaded on a second server and using DNS load balancing. Like he mentioned, this would work for MOST of the requests. If you used the hardware DNS load balancing solution to stop requests from going to the failed IIS and Witango client server, it should probably work "ALL" the time. As I understand round robin DNS would still route some of the requests
to the failed server.

Eventually I plan on having IIS and the Witango client loaded on both
servers and using some form of DNS load balancing.

Hope I'm correct in the info I'm writing to you. Someone please correct me
if I'm wrong.

Thanks

Steve

-----Original Message-----
From: MC Tay [mailto:[EMAIL PROTECTED]
Sent: Monday, October 08, 2007 12:20 AM
To: [email protected]
Subject: RE: Witango-Talk: Load Balancing Test

Steve:

In your configuration, what would happen if the server with the
Witango client die or has hardware failure? Will the other server take over?

MC

At 04:02 PM 10/7/2007, you wrote:
Thanks Robert. This helps a lot. I had to use a different user for the
Witango service to get the ODBC connector for R:Base to work with dbs
located on a different server. Your further instructions ties it all
together and everything is working great.

The more I get into load balancing the more excited I get. I didn't realize that the Witango client operates independently of the Witango server. I did some testing by killing the Witango service on the server that has IIS, Witango client and Witango server running on it and everything still kept
chugging away. The Witango Client kept distributing jobs to the other
server
and jobs that were already on the other server kept running fine.

Even jobs that were running on the Witango client server where the Witango service was killed were rerouted to the other server. Of course they lost
their user variables, but at least the user wasn't stuck.

Now when I have time, I will have to work on a way to notify the user that
their session was interrupted and to log back in.

Steve Fogelson

-----Original Message-----
From: Robert Garcia [mailto:[EMAIL PROTECTED]
Sent: Saturday, October 06, 2007 6:20 PM
To: [email protected]
Subject: Re: Witango-Talk: Load Balancing Test

You only need to SET this in IIS. However. Lets say that the IIS
server gets a request for domain ABC, file /about/index.tml. Now the
home directory for this IIS domain is \\server1\mysites\abc\.

Now the iis passes this request to the witango plugin, which picks a
server from the load balancing pool. Now lets say that the server it
sends this request to is on a different machine, we will call it
witango1.

When the request comes to witango1, witango one must also be able to
see the file /about/index.tml in the path of \\server1\mysites\abc\
OR \\server1\mysites\abc\about\index.tml

Also very important. Make a user on ALL of these machines, that has
FULL access to the paths you serve. So lets say that you make the
user WITANGO. Then make sure in IIS you set the home directory, and
the user to connect with as WITANGO. And then, ALSO make sure that
you go to the SERVICES panel, and alter the properties of the
witango55 service. Set it to login as Witango, and same pass. This
will make sure that all of your witango processes, and the IIS
process have EQUAL FULL rights to these served directories. This is
VERY important.

One more tip. If you are going to run any external processes, like
executable files, do not run them from the network share. Witango has
a habit of crashing under load in this situation. On each WITANGO
server, make a directory, called c:\scripts and put any executables
in there on ALL WITANGO machines. This way you can run from code with
the same path of:

c:\scripts\myscript.exe on any server, and this will help get around
this weakness of witango.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Oct 6, 2007, at 8:35 AM, Fogelson, Steve wrote:

Robert,

Thanks for the great explanations.

When you set the home directory in IIS to a share like
\\server1\webfiles\mysite, I see that this would satisfy the IIS
requirement
in your statement "Each of the processes, the IIS process, and each
Witango
Server process must all see the same files with the same path".

Does this share designation in IIS also satisfy the "Each of the
processes
and each Witango Server process"? Or is there somewhere else I need
to do
this? It seems like proper permissions and the Witango Client takes
care of
this automatically.

Steve

-----Original Message-----
From: Robert Garcia [mailto:[EMAIL PROTECTED]
Sent: Friday, October 05, 2007 6:06 PM
To: [email protected]
Subject: Re: Witango-Talk: Load Balancing Test

Its ok.

If you ONLY have 1 IIS server, then you are NOT doing DNS load
balancing. If your IIS server is at IP 10.0.1.1, then your domain
points to it, (www.mysite.com 10.0.1.1) then the is no dns load
balancing. When the request comes into your IIS server, the witango
plugin looks at the clients.ini file, and will load balance the
requests across however many of witango servers you have. Each of the
processes, the IIS process, and each Witango Server process must all
see the same files with the same path.

DNS load balancing occurs when you have more than one IIS server for
the same domain. You can have any number of IIS servers connecting to
any number of witango servers. The IIS server may or may not be on
the same server as the IIS servers.

When you have say 4 IIS servers, for the same domain, then there are
a couple of ways to load balance. The first is with a hardware load
balancer, which is expensive, but provides better switching upon the
failure of a web server.

The easy method is called round robin load balancing. All it requires
is that you enter multiple A records in your dns server for the same
domain.

www.mysite.com A 10.0.1.1
www.mysite.com A 10.0.1.2
www.mysite.com A 10.0.1.3
www.mysite.com A 10.0.1.4

When the browser requests address for www.mysite.com it will get all
of these, or randomly one. If it gets all, it will only try one. Load
balancing this way works fairly well, but shows its weakness when a
single IIS server dies. The you must alter your DNS to remove the
entry of the faulty server. This is why it is best to enter a small
TTL value for these multiple A records, like 30 minutes or so.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Oct 5, 2007, at 3:07 PM, Fogelson, Steve wrote:

Robert,

I don't mean to question, but I would like to understand.

I don't have IIS running on the second server. I don't understand
DNS load
balancing, but are you running all of your Witango websites on both
of the
servers that you are running IIS and the Witango Client and then
using DNS
Load Balancing to spread the requests across both servers?

If so, it makes sense to have the UNC notation you have indicated
below so
you only have to place all the files in one location.

Thanks,

Steve

-----Original Message-----
From: Robert Garcia [mailto:[EMAIL PROTECTED]
Sent: Friday, October 05, 2007 4:46 PM
To: [email protected]
Subject: Re: Witango-Talk: Load Balancing Test

In IIS, you set the home directory as a share on another computer.
You set the path using UNC notation, like \\server1\webfiles\mysite
or whatever. This path must point to same files for the IIS server,
and all witango services. I have a setup with 7 servers for instance.
2 IIS servers with witango plugins, and 6 witango servers and one
file server they can all see with same UNC path.

When IIS gets a request, it passes it on to witango service with
path, and the witango service pulls the file and processes.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Oct 5, 2007, at 2:34 PM, Fogelson, Steve wrote:

Robert,

Where in Windows, IIS or Witango do you indicate or use this? My
setup is
working correctly without this.

Unless:
Maybe because I have shares setup on each server with
Administrative Rights
as follows:
\\ics9\wwwroot
\\ics14\wwwroot

Thanks,

Steve

-----Original Message-----
From: Robert Garcia [mailto:[EMAIL PROTECTED]
Sent: Friday, October 05, 2007 4:04 PM
To: [email protected]
Subject: Re: Witango-Talk: Load Balancing Test

Both servers need to have access to the files, and the web
directory,
and the path to the files must be the same for both servers. LIke:

\\Server1\webfiles\mysite\

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Oct 5, 2007, at 1:53 PM, Fogelson, Steve wrote:

Hi,

I ran a test with the following setup.

Server A will run one Witango service and the databases will reside
here.
Server B will run IIS, Witango Client and one Witango service

Server B contains all the Witango and web files in the wwwroot
folder. IIS
is setup to run this website.

Server A does not contain any Witango and web files for this
application.
IIS is not setup to run this web site.

DNS points to the IIS website running on Server B.

The apps runs fine repeatedly (closing the browser and opening a
new one). I
can tell which Witango Service is serving the browser because one
of my
Witango services is running on a 30 day trial license and the green
trailer
displays when the browser is using this service. Also the Witango
log files
on both servers show evidence of the app running on them.

I am concluding that the Witango apps and html files only have to
be placed
on the server hosting the IIS service and Witango Client. In this
test,
server B. It appears that server A reads the Witango files from
server B and
caches them for further use.

So it also appears that you only have to maintain one set of files
on the
IIS and Witango Client server. You don't need them on subsequent
Witango
servers included in the load balancing farm.

Comments would be appreciated. Maybe everyone knows this and I just
didn't
get it.

Thanks

Steve Fogelson
Internet Commerce Solutions

FYI: Witango config for each server included below

Server A
witango.ini
VALIDHOSTS=127.0.0.1:10.10.20.14

client.ini
[witango55_iis.dll]
WITANGO_SERVER=127.0.0.1,18155

Server B
witango.ini
VALIDHOSTS=127.0.0.1

client.ini
WITANGO_SERVER=XXX14,127.0.0.1,18155:XXX9,10.10.20.9,18155
CONNECTION_TIMEOUT=0
FORCE_SERVER_ARG_NAME=_SrvID
_________________________________________________________________ __
_
_
_
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ maillist.taf

__________________________________________________________________ __
_
_
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ maillist.taf __________________________________________________________________ __
_
_
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ maillist.taf

___________________________________________________________________ __
_
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
___________________________________________________________________ __
_
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

____________________________________________________________________ __
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
____________________________________________________________________ __
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

_____________________________________________________________________ ___
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
_____________________________________________________________________ ___
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

______________________________________________________________________ __
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
______________________________________________________________________ __
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to