Knowledge Base & Community Wiki
System – A system could be defined as a combination of application, infrastructure, network and storage components that work together with the objective of delivering a set of consumable services. These application, infrastructure, network and storage components are also called resources, components of the larger system that work in tandem to provide a consumable service.
Resource – A Resource is a defined within the context of a system. A resource could potentially offer capability which is consumable. E.g. A computing resource (CPU) offers processing capability designed to perform a particular task requested by a user and offers the consumable service through the hardware layer part of a large system (mother board) which is part of a large system i.e. the computer itself. A disk resource (storage) offers storage capability designed to store/retrieve when requested by a user.
Resources also work in tandem with each other potentially, across a geographically distributed region to form a larger system delivering consumable services. A resource can be either an application resource, hardware resource, network resource or a storage resource. Resources working together form a system and can be either physical (cpu, memory, network, storage) or virtual resources (application services, cloud services, etc.).
Entity – An Entity is defined as a consumer of resource/s within a given system. For an online system an Entity could be defined as a Web User. For a Batch System an Entity could be defined as a Batch Instance or Thread.
Work Conserving System – A Work Conserving System is a system that accepts User Requests or User Workload (Multiple User requests or Entities) and processes them without losing any of the requests. In many ways the definition of a “Work Conserving System” is similar to the “Work Conserving Systems” we deal with in Physics i.e. Conservation of Energy (http://en.wikipedia.org/wiki/Conservation_of_energy) .
Another important property of a Work Conserving system is that it does not generate any work by itself. Overall a Work Conserving System is a system that does not generate work and does not discard submitted work requests.
Response Time (R) – Response Time is defined as the elapsed time between the arrival of a request (for purposes of processing) and the departure of the request from a system. In other words Response Time can be defined as the elapsed time between the submission of a request and receipt of a response by the user.
Response Time consists of Service Time and Queuing Time or Waiting Time. Ravg is defined as the Average Response Time and will be used for purposes of modelling.
Mathematically the equation can be expressed as: R = Q + S
Service Time (S) – Service Time is the time taken to process a given request at a particular system resource. Service Time is denoted by Savg. Savg denotes the Average Service Time. Savg will be used for purposes of modelling.
Mathematically it can be written as Savg = B/C [ B = Busy Time, C = Number of Completions].
Queuing Time (Q) – Queuing Time is the time for which a request has to wait in a queue before resources are allocated to it. Queuing Time is generally denoted by Qavg. Qavg or the Average Queuing Time is what is generally used for purposes of modelling.
Visit Count (V) – Visit Count is the number of visits made by an entity at a given resource for a particular business transaction (e.g. Submit Order, View Payslip, etc.). Every business transaction will have a different Visit Count for each of the resources in the system. Visit count is denoted by V.
Service Demand (D) – Service Demand is the total demand by an Entity at a Resource for a given Business Transaction. Service Demand is denoted by Davg and is mathematically denoted by Vi * Si.
Arrival (A) – Arrival is the entry of Entities into the system. Arrivals are denoted as A.
Completions (C) – Completions are the exit of Entities from the system. Completions are denoted as C.
Throughput (X) – Throughput is the total number of Completions Per Unit Time. It is denoted by X.
Mathematically Throughput is denoted as X = C/T [ C = Completions, T = Time Interval].
Concurrency of Number In The System (N) – Number in the System or User Concurrency is the number of users within the system. These are both users who are executing a transaction and users who are currently logged in but not executing transactions (See Think Time Definition). The Number in the System or User Concurrency within the system is denoted by N.
Think Time (Z) – Think Time is the time between two successive requests made by a user. Think Time is associated with every Entity and every Concurrent User. Think Time is denoted by Z and is a unit of time.
Think Time referred to in Little’s Law and other analytical models is generally the Average Think Time.
Workload – Workload is a combination of different System Users execution different business transactions on the system. The result of the business transactions are entities that flow through the system. Every User In the System or every concurrent user will issue requests that will have Service Demand for each of the relevant system resources and will have associated Think Time, Service Time and Queuing Time. Response Time is a combination of Think Time, Service Time and Queuing Time.
Workload Model – Workload model is a combination of different Business Processes performed by Concurrent Users with appropriate Think Times, Service Times and Pacing (Time between two consecutive transactions). Workload models stipulate the nature of the business process, the type of the user executing the process along with the rate at which the user is executing the business process.
Workload models are inputs to modelling scenarios including design of Performance Testing Scenarios (using Open Source or Free Performance Testing tools). Workload models are generally designed using Operational Theory and Little’s Law.
Busy Time (B) – Busy Time is the time duration for which a Resource is busy processing a Request from an Entity within a given System. Busy Time is denoted by B.
Utilization (U) – Utilization of a system is defined at the time for which a system is busy.
It is mathematically defined as: U = XS (Throughput * Service Time)
Queue Length (Q) – Queue Length is the total number of requests pending in a queue.
Max Throughput (Xmax) – Max throughput is the maximum peak throughput possible across a system.
Mathematically it can be defined as Xmax = 1/Dmax. [Dmax = Maximum Service Demand]
Time To First Byte (TTFB) – Time To First Buffer is the Elapsed Time between submission of the request and receipt of the first response from the server.
Non Functional Requirements (NFR) – Non Functional Requirements are requirements put together by the Architects, Solution Designer, Performance Engineers based on input from the Business and IT. Functional Requirements address the functionality required from different parts of the system while Non Functional Requirements generally address the following:
Non Functional Requirements generally tend to more commonly known as the “*ties” which define the various technical attributes the Solution Design team and Architects have to address when building the system.
An example of a Non Functional Requirement could be,
“The system should process 1100 Transactions Per Hour at 60% utilization across the web, application and database servers while delivering an End User Experience of <= 3s”.
Non Functional Requirements are meant to be very detailed and could cost a significant amount of money to implement due to the nature of the supporting systems, designs, platforms, integration required e.g. A Non Functional Requirement to have Scalability means that you might need to architect for the Cloud (AWS or Amazon Web Services) allowing your system to scale as and when the workload across the tiers increases. This will mean that you basic infrastructure cost would be far higher than if you had hosted them on standalone static infrastructure.
Modelling Solution: VisualizeIT offers access to a bunch of Analytical Models, Statistical Models and Simulation Models. Access to all the Analytical (Mathematical) models is free. We recommend you try out the Analytical models at VisualizeIT which are free to use and drop us a note with your suggestions, input and comments. You can access the VisualizeIT website here and the VisualizeIT modelling solution here –VisualizeIT.