1) PERSISTENTRESTART= has nothing to do with the operation of the server. It only tells the server to read the uservar dump (or not) on startup and does some other things about restarting when memory hits a limit, etc.
To answer your question, T2K uses a terrible cooperative multi-threaded system. The thread delay rate is somewhere around 1/3 of a second and it slows down considerably as threads increase. I can't say I can provide a mathematical equation, but the time to execute multiple threads is someplace around the cumulative time it would take to execute them individually plus 1 second per three active threads. In this regard, however, all threads could be held up by the thread pool. W5, just for some clarity, uses a true symmetrical multi thread engine (rewritten). Its transfer time can be as short as 1ms and it does a terribly efficient job at balancing multiple threads adding almost zero overhead time. Threads in both versions are created as needed up to the ThreadPoolSize= value. They are also cleaned up as needed. 2) I agree with Ben, Witango does see a performance hit with larger file sizes. I've noticed that TAFs and TCFs approaching the 1 MB size really get slow. However, a large TCF in a shared scope can be very beneficial to performance. In this regard, all the logic is parsed and stored in memory ready to be used by requests. And TCFs can target code pieces (methods) more efficiently. 3) There is one truth about TCFs, in the end they do not execute any faster than a TAF. This isn't to say that they don't allow a different application writing style, or a reuse of code, but apples to apples, TCFs can not be faster than TAFs. In fact it's proposed that TCFs must be slower since they require a call from a TAF, and therefore have external overhead by necessity. 4) Bottlenecks come in three categories: Databases create 99% of the time taken to do anything with data. You should include in your definition of a 'database' any array. This is because doing @ADDROWS, @UNION, @FILTER, etc on large arrays can be daunting for the server, and for the same reason that it can be time consuming to manipulate any large un-indexed dataset. Second bottleneck is almost always poor writing. Some developers love to run huge loops across their data, others like to hit the database many, many times to create a page, the list goes on. There's always more than one way to write code, and usually a better way. I once wrote a recursive engine 3 times, using three different techniques, each getting faster. Finally, CPU. It's simple, but Witango increases one for one with CPU speed. Robert Shubert Tronics -----Original Message----- From: Jim Kass [mailto:[EMAIL PROTECTED] Sent: Thursday, October 30, 2003 2:04 PM To: [EMAIL PROTECTED] Com Subject: Witango-Talk: Re: Stability/Performance Hey Folks, I have a few questions about how Tango operates on a system level (We are currently using Tango2000/4 on Solaris w/ Oracle8) I am not expecting an answer on-list per-se, but I am hoping that someone can direct me to the proper place to do further research. 1) Supposing that I have PERSISTENTRESTART=true in t4server.ini, if I reload a taf, and/or hit it from 10 differerent servers simultaneously (or within seconds of each other), does Tango wait for one 'request' to complete before processing the next, or does it fork processes or thread itself (which one, and what impact does this have)? Could too many requests to the same page cause server delay? 2) Is it more efficient in Tango to have ONE file perform 20 different queries depending on some kind of user variable (potentially this file would be accessed by multiple users simultaneously as listed above) or to have 20 files perform a specific query, and direct each user to such a file as necessary. 3) What are the real benefits/tradeoffs of TCF files, and/or how can they make a TAF that may recieve many simultaneous requests and respond different depending on user variables more efficient? 4) What is the primary bottleneck of Tango... i.e., is it multiple threads/child-processes, multiple database queries, multiple taf requests, or just the processing time per taf file? Thanks, Jim Kass Web Developer -- Forestweb: The Source for Industry Intelligence Best Content -- Most Relevant -- Best Delivery http://www.forestweb.com (310) 553 - 0008 ________________________________________________________________________ TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf ________________________________________________________________________ TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
