Thanks Robert,

That has answered almost all of my concerns J couldn’t have looked for any 
better. I will discuss on this with my team and see how things pan out for TS 
v.7 and if Witango 5.5 is the way to go, maybe come back with some basic 
questions. Thanks once again.

Thanks & Regards

Prabakaran

BSS Type II & III, Project Primus (Optus)
Accenture, Chennai, India
(+91) 8056810457
________________________________
From: Robert Shubert <[email protected]>
Sent: Tuesday, October 21, 2014 8:45 PM
To: [email protected]
Subject: RE: TeraScript-Talk: Can Witango 5.5 multiple process be run in a 
server?

Prabakaran,
I’ll try to provide as much help as I can. This response is going to be 
tailored for Witango 5.5 (and previous) installations. I would consider this 
information deprecated for Witango/TeraScript 6.x and not applicable to 
TeraScript v7.x
I believe that running multiple instances is nearly a must. Witango 5.5 has 
several memory leaks and instabilities which require it to be restarted often 
(usually nightly) and automatically recover from crashes. Small pools of 2 to 4 
services are the right way to increase uptime during these events.
All versions of Witango and TeraScript require a Professional or Advanced 
license to run multiple instances on one server. You also have the option of 
running multiple physical or virtual servers each with a standard license on 
one instance.
Witango 5.5 is tailored for running multiple instances on one server. It has an 
affinity option that allows you to keep processing of an instance on a given 
set of CPUs.
Here’s an example of one installation I have in my network now. This was 
actually setup about 7 years ago and hasn’t been changed since.
Server: 53xx XEON with two quad core CPUs (8 cores total)
Witango 5.5 instances: 4
The first instance has affinity mask of 11000000, the second instance has 
00110000, etc.
The server is Windows 2003 R2 64-bit with 16 GB of ram
I consider this server as stable as Witango 5.5 can get.
You may have problems with some operations of the server. These are all related 
to non-core functions. For example, if two instances both call an external 
batch file at the same time, they can lock against each other. JavaScript, 
accessing a JVM, @URL, and other “external” operations will be areas where 
deadlocks and memory leaks can occur. Many users of Witango 5.5 don’t 
experience these problems simply because they don’t use these functions. I 
recently corrected a memory leak related to using regex (eg @REGEX) which only 
leaked when the match failed. Bugs like this are in 5.5 and previous versions.
Basically what this means is that when you move to a pooled set of instances on 
one server, some code may need to be changed as a work around to new problems. 
These problems typically do not occur if you decide to run multiple physical or 
virtual servers with a single instance on each. This is how I deploy high 
traffic sites today and with v7, instances typically run for the month between 
Windows Update reboots.
Clients.ini does tell the Apache/IIS plugin how to find services. The mapping 
is done with IP + port (when running multiple services on one server, each must 
listen on a different TCP port). The server selection is random, there is no 
logic to it – not even round robin. A call to a server will wait about 2 
seconds before giving up and trying a different server. As you can see, both 
the load balancing and failover capabilities of the plugin are extremely basic.
In addition, there is no intra-service communication. This means that shared 
scopes, like the domain scope, must be maintained by your code. If server 1 
@ASSIGNs a value into the domain scope, that value is not assigned into the 
domain scope on server 2. You have to engineer software to do that work.
I would also recommend continuing to use Windows Server 2003 R2. It’s the best 
match for Witango 5.5, I realize that this suggestion has limited longevity 
with EOL coming next summer, but Witango 5.5 is already EOL anyway. The IIS 
plugin has been rock solid since 5.0 days. It’s one of those things that 
Microsoft made easy to do well.
One last point. The vast majority of this effort will provide improved 
stability and uptime. It will not, generally speaking, improve performance. 
Having 4 instances each processing 1 request is generally better than 1 
instance processing 4 requests. This is especially true if you divide up the 
processing power with affinity masks. But in the end, the throughput of your 
application is tied to database performance and memory throughput.
I hope that helps,
Robert
PS. (I am in business after all) Upgrading to even one Standard license of 
TeraScript v7 would likely solve all of your issues.

From: [email protected] 
[mailto:[email protected]]
Sent: Tuesday, October 21, 2014 3:07 AM
To: [email protected]
Subject: Re: TeraScript-Talk: Can Witango 5.5 multiple process be run in a 
server?


Thanks Matt, that was pretty enlightening. Now I’ve got a few more questions :) 
and I guess you or Robert can address this quite easily.



What was the instability issue observed when running behind Apache? And how or 
what way has IIS improved the stability?

While scanning through the archives I also came across this “CPU and database 
I/O is key. Witango doesn't use the disk much, and as a
32-bit application, can only address 2 GB of memory.( 
https://www.mail-archive.com/[email protected]/msg21836.html)”Whereas 
for my app it seems anything beyond 1GB and the instances start acting up and 
bring the application down pretty soon (as soon as 900 Mb-1GB mark is reached).
I have been contemplating to make use of multiple instances of Witango 5.5 / 
Terascript in 1 physical server running behind 1 Apache and even that is not 
recommended (as I see from your response). Why is it so?
I do know that clients.ini does the job of load balancing but since the 
thoughts are now hovering around having a couple more instances in each 
physical server, it made me ponder whether the traffic can be balanced even if 
2 instances are running on the same machine (given that clients.ini does IP 
based load balance).

My aim is of having 2 instances of T5.5 behind 1 apache / physical server. Is 
this achievable? Will this better my app’s performance?

Thanks & Regards

Prabakaran

________________________________
From: Tango-Talk 
<[email protected]<mailto:[email protected]>>
Sent: Monday, October 20, 2014 7:11 PM
To: [email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: TeraScript-Talk: Can Witango 5.5 multiple process be run in a 
server?

Hi, Prabakaran.

We have run multiple Witango 5.5 server instances in Windows 2003.

We have one web server behind a load balancer that has a hot-swap web server in 
waiting in case that one crashes. This singe web server sends 
Witango/Terascript requests to one of two physical app servers, each with 6 
Witango/Terascript instances. Robert can surely provide a more technical answer 
but in our experience the load is spread evenly across all the app server 
instances. I imagine the client.ini handles this. I don't know if there is any 
logic to it, but rather the order of the servers listed in the client.ini are 
simply round-robin'd.

We've updated most our servers to T6, where we also run multiple app server 
instances per server. We're running everything on Windows 2008 servers now and 
I'm actually in the process of testing a build on a Windows 2012 server. We had 
Terascript6 running behind an Apache (for Windows) web server but experience 
some instability. Since moving to IIS on Windows, per Robert's suggestion, 
we've been running smoothly.

We are in the process of following Robert's suggestion of moving toward 
multiple web/app server instances instead of multiple app servers instances per 
box. It will require us rearchitecting a few things since the webroot/htdocs 
directory will be on multiple servers.

Probably more than you wanted to know but thought I'd share with the list how 
W5.5/T6 is being deployed at our shop.

- Matt


[email protected]<mailto:[email protected]> writes:
Hi there,

Can we run multiple processes of Witango 5.5 server in Windows 2003 server? If 
this can be done, can the load balancing be done between the processes thus 
bringing better stability to the app?

Regards
Prabakaran

________________________________

This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise confidential information. If you have received it in 
error, please notify the sender immediately and delete the original. Any other 
use of the e-mail by you is prohibited. Where allowed by local law, electronic 
communications with Accenture and its affiliates, including e-mail and instant 
messaging (including content), may be scanned by our systems for the purposes 
of information security and assessment of internal compliance with Accenture 
policy.
______________________________________________________________________________________

www.accenture.com<http://www.accenture.com>


----------------------------------------

To unsubscribe from this list, please send an email to 
[email protected]<mailto:[email protected]> with "unsubscribe 
terascript-talk" in the body.





________________________________
To unsubscribe from this list, please send an email to 
[email protected]<mailto:[email protected]> with "unsubscribe 
terascript-talk" in the body.

________________________________
To unsubscribe from this list, please send an email to 
[email protected]<mailto:[email protected]> with "unsubscribe 
terascript-talk" in the body.

________________________________
To unsubscribe from this list, please send an email to 
[email protected]<mailto:[email protected]> with "unsubscribe 
terascript-talk" in the body.



----------------------------------------

To unsubscribe from this list, please send an email to [email protected] 
with "unsubscribe terascript-talk" in the body.

Reply via email to