Hallelujah!! Thanks for the info. What exactly is With Enterprises' stand on server upgrades? For example, are they going to offer discounts for people who already own Tango2000 professional edition? Or must we fork over the full US$4499.00, as I believe it states on their website.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Scott Cadillac Sent: Tuesday, June 11, 2002 3:13 PM To: Multiple recipients of list witango-talk Subject: Re: Witango-Talk: Server Threading Upgrade Your wishes are being answered. The following is copied from http://www.stonesteps.ca/faq.html , which is where the new Witango Server is being worked on by Andre Morozov. --------------------- Q:What is preemptive threading model and how will it affect the performance? A:All incoming application requests are handled in the application server by worker threads, which receive requests from the Witango client, retrieve the requested application file, process queries associated with the application actions, generate the result HTML out of actions' HTML fragments and send the results back to the client. The way threads interact between each other, the server core and the operating system is called threading model. There are two basic kinds of threading models: cooperative and preemptive. In cooperative threading model, only one thread is active at any given time. After working for some short period of time (typically 300 ms), the active thread voluntarily pauses and allows another worker thread to process another request. In preemptive threading model, the operating system controls the scheduling of all worker threads and allows each one of them to become active for even a shorter period of time (typically 30-60 ms), after which another thread is made active and so on. The cooperative threading model has many inherent disadvantages: synchronization delay when threads have to be interfaced with the preemptive outside world (e.g. DBMS servers), inability to take advantage of multiple processors (CPUs) and susceptibility to the potential danger of the active thread not yielding properly and therefore blocking other worker threads and their requests. Tango 2000 uses mixed threading model with the server core and all worker threads running in the cooperative mode and some of the external operations, such as launching command line applications of an External Action, executed preemptively. Every time a preemptive task has finished, the cooperative worker thread that launched it has to synchronize with the rest of the worker threads before it can continue its life cycle. The Witango server is a fully preemptive server and is free of the disadvantages of cooperative threading described above, which means that those application files that interact with other services (i.e. running command line applications, SQL queries, etc), will run faster as long as the external services do not share the CPU with the application server (e.g. DBMS is located on another machine). For example, an application file that reads/writes large files with a File Action will run faster on a preemptive application server because the disk controller uses Direct Memory Access (DMA) mechanism to transfer disk data into memory and while one worker thread is waiting for the File Action to complete, all other worker threads are processing other queries. ---------------- Q:Will the application server's performance be improved, compared to Tango 2000? A:The performance of the application server depends greatly on the server's functionality used and on how application files are written. Some application files will be processed by the Witango server up to 2-3 times faster, compared with the same files running on Tango 2000. However, some applications will not show any improvement in speed at all. In general, the Witango server has been optimized for better performance in many areas, such as variable storage and manipulation for TEXT and ARRAY variables in non-shared scopes, processing long-running DBMS and External Action queries, network communications, meta object functionality, handling large DBMS result sets, server's threading model, multithreaded idle time processing, etc., to name a few. Those application files that use the optimized server's components will run faster. For example, an application file that manipulates a large array located in the request scope will take advantage of the variable store optimizations for non-shared scopes and will run considerably faster. However, if a similar array is located in one of the shared scopes, such as the user scope, there may be no improvement in processing speed at all. Hope this helps. Cheers.. ----- Original Message ----- From: "Cory Whitsett" <[EMAIL PROTECTED]> To: "Multiple recipients of list witango-talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 11, 2002 12:39 PM Subject: Witango-Talk: Server Threading Upgrade > I am a current user of Tango2000. My primary complaint about the server > is the threading performance. This causes the Tango server to hang when > there is an overload of traffic, or if the database is overloaded. The > latter issue is the primary case. Basically, for one reason or another, > a query takes a while to return its results. This, in turn, causes Tango > to hang by queuing all requests until the query completes and Tango can > serve that particular request. > > The Tango server hangs around 2-3 times per week. This usually results > in having to bounce the Tango server b/c the wait can be anywhere from > 3-10 minutes. > > Has anyone heard of plans by Witango to improve server threading? If > they have plans to do this, I would be very interested in upgrading to > their server. > > For information concerning our environment, we are running a very > complex order entry system for about 100 internal users. We have 2 Tango > servers running on 2 Win2000 server boxes. > > Thanks, > Cory Whitsett > ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body
