Monitoring tools are ideal to calculate a system capacity. System doesn’t run out of capacity at peak loads. For instance,Īllocate 20-30% more of server speciications to that of the peak NFRs to ensure the It is advisable to have a buffer capacity when allocating server speciications. The cache warm up time needs to be taken into If the service responses change often, then caching Techniques like caching can help improve performance and latency – this needs to be Optimization parameters should also be taken into account as part of the solution. JConsole, JMeter, etc.) would help determine the bottlenecks of an application. Proiling and load testing an application with tools (e.g. Similarly, thread pool values, garbage collection times, etc. For instance, forĭatabase intensive operations, the database connection pool size would be a limiting factor. Number of resources that are conigured for an application also play a role. Well-designedĪpplications will strive to keep these numbers low or would ‘share’ resources effectively. For each operation, factors such as open database connections, the number ofĪpplication ‘objects’ stored in memory, and the amount of processing that takes placeĭetermine the amount of memory and processing capacity required. Is created for each concurrent user, this means some level of memory consumption per The design of the application or software plays a big role in capacity planning. Number of minutes that service is unavailable in a given calendar month. Where 'n' is the total number of minutes in a given calendar month and 'y' is the total The availability of a system is determined by the following equation, which yields a Such as system upgrade and application deployment, and unplanned downtime, such as ![]() When calculating capacity, it is important to factor for planned downtime, This directly determines how a system’s high availability needs toīe designed. Not be available to accept requests, in which case the system is unavailable.Īccepted system downtime is a practical requirement, often found as part of the nonfunctional Note though thatĪvailability and uptime are not synonymous - the system can be up and running, but might In theory, theĪvailability is deined as the percentage of system availability in a year. Level of throttling needs to be done between those systems.Īnother aspect to be considered is the system’s availability or uptime. Solution is made up of multiple systems with multiple throughput capacities, then some Overall performance of the system and needs to be taken into account. Is required or the transmission of secure messages is a requirement, this would affect the ![]() For instance, if guaranteed delivery in messaging The QoS requirements, along with other non-functional requirements, would have anĮffect on how you do capacity planning. Thus, it is important to calculate the maximum Until it reaches peak capacity as shown in Figure 2 from then onwards the system wouldĮxperience performance degradation. User consumes some level of memory that needs to be taken into account.Ĭonventionally, a system’s throughput increases with the number of concurrent users For systems designed in such a way, each concurrent Sessions, the number of concurrent users will play a bigger role than in an ESB, which In an application server with a stateful application that handles Roughly 20 actual concurrent users hitting the system. Users are logged into the system, and have a 10 second think time, then that amounts to Users are a subset of active users who are using the system at a given time. As shown in the example in Figure 1, concurrent ![]() System at any given time at the same time. The system's expected users, their usage patterns, etc.Ĭoncurrent active users are the number of distinct users concurrently accessing the In some instances, it goes as far as analyzing the psychology of Along withĬertain parameters, it also involves experience, knowledge of the domain itself, and inside Planning in enterprise systems design is an art as much as it is a science. The complexity of course is forecasting the capacity to a fair degree of accuracy. Their optimal server capacity – both scenarios an architect would dread. ![]() Memory on Black Friday or imagine a search engine provider paying 20 times the cost of Imagine an e-commerce provider going out of Resources, while undersizing might lead to reduced performance and the inability of a Oversizing a system leads to excess costs in terms of hardware The ability to determine or forecast the capacity of a system or set of components,Ĭommonly known as 'sizing' a system, is an important activity in enterprise system designĪnd Solution Architecture.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |