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 2007One 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.jpgAnd 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.jpgFor 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 ofthe Witango services.I would be curious to know how often the Witango client fails. For me itseems to be the Witango service getting hung on ODBC connections. I amguessing and hoping that the Witango client keeps serving requests to allavailable 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 requeststo 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 meif 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 theWitango 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 theWitango 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 keptchugging away. The Witango Client kept distributing jobs to the otherserverand 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 losttheir 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 thattheir 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 therequests across however many of witango servers you have. Each of theprocesses, 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 forthe same domain. You can have any number of IIS servers connecting toany 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 requiresis 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 allof these, or randomly one. If it gets all, it will only try one. Loadbalancing 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 residehere. 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 myWitango services is running on a 30 day trial license and the greentrailer 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 fileson 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 justdidn'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.tafTO 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
