Hi Malith,
I'm just wondering whether this really matters or applicable for most of the WSO2 products. What I believe is that the think time is important for state-full applications but not for the state-less application such as most of the WSO2 servers. What are we considering in our performance tests? Concurrency vs TPS, Concurrency vs Latency. These numbers needs to be from the *server side*? Isn’t it? If it is the case what we need to do is load the server as much as possible with the given no of users. So if we use a think time to test cases we can have more concurrent users from the client side, but the actual concurrent requests that we can process at a given time from the server side will be the same. So the numbers we get might be wrong since we use the user count from client side. (Even now we have an unavoidable issue, network latency, which we need to minimize as much as possible). But, there are scenarios where we can use think time. The state-full components such as APIM Store/Publisher components and WSO2 DS are the best examples I can think of. Since we maintain sessions in these applications it affect the memory. So when we add think time to these applications it will allow many connections to the server and occupy more memory similar to the real use cases. WDYT? Please correct me if my understanding is wrong. Thanks *Dinesh J. Weerakkody* Senior Software Engineer WSO2 Inc. lean | enterprise | middleware M : +94 727 868676 | E : [email protected] | W : www.wso2.com On Mon, Jul 18, 2016 at 2:20 AM, Malith Jayasinghe <[email protected]> wrote: > When evaluating the performance of products, it is important to perform > these tests under realistic conditions. This is important since it allows > us the understand the performance characteristics of the system in > production environments. > > The think time plays an important role when doing performance tests. It is > defined as the time between the completion of one request and the start of > the next request. When generating requests (using load testing tools such > as JMeter), we do not normally add a think time. This, however, may not > represent the users’ real behaviour (access patterns) in the system. For > example, when accessing a web site the users typically wait between page > requests. > > > Therefore, including a think time in the performance test makes the > performance test more realistic as it represent users actual behaviour in > the system (more closely). > > In most of the scenarios, the think time cannot be represented using a > constant > value and it is a random value which is distributed according a > probability distribution function such as exponential distribution. > > The load on the system is determined by the number of requests being > processed by the server. The number of active requests processed by the > server will depend on both the number of concurrent users accessing the > system and the think time. > > Under a given system load, an increase in the think time will result in > the number of requests processed by the server to decrease and as a result > the number of concurrent users the system can support will increase. > > We have done some performance tests on WSO2 APIM (under different number > of concurrent users and different think times) and the analysis of these > results can be found in [1]. > > > [1] > https://medium.com/@malith.jayasinghe/performance-testing-with-a-think-time-64b6b737e3f9#.aoxvs87er > > > > -- > Malith Jayasinghe > > > WSO2, Inc. (http://wso2.com) > Email : [email protected] > Mobile : 0770704040 > Lean . Enterprise . Middleware > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
