Wednesday, 1 February 2012

Concurrent User Estimation


Concurrent user estimation is an important step before going for Performance Validation and capacity planning as it is directly related to consumption of system resources. Therefore, before entering into the load testing phase we need to determine the peak user load or the maximum concurrent user load for designing a workload model. People often estimate the number of concurrent users by intuition or wild guessing with little justification. This often leads to improper performance testing and capacity planning. In this article we would like to share a very reliable method proposed by Eric Man Wong to calculate the concurrent number of users using estimated and justified parameters.

The method involves estimating the peak user load by calculating the average number of concurrent users, based on the total number of user sessions, the average length of the user sessions.

1. Estimating the Average number of concurrent users

For calculating the average concurrent user load, we need to find the following parameters,
  • Period of concern (T): It is the time duration for which we are calculating the total number of user sessions.
  • Total number of user sessions (n): The number of user sessions at the specified time duration
  • The average Length of User sessions (L):  The length of a user session is the amount of time that the particular user takes for completing his activity
(During which he consumes a certain amount of the system resource). The average length of user sessions is simply the mean value of the session length of all the users.
(Say,
where s is the total number of user sessions). The average length of a user session can be estimated by observing how a sample of users uses the system.

A user session is a time interval defined by a start time and end time. Within a single session, let us assume that the user is in active state which means that the user is consuming a certain percentage of the total system memory. Between the start time and end time, there are one or more system resources being held. The number of concurrent users at any particular time is defined as the number of user sessions into which the time instance falls. This is illustrated in the following example

Each horizontal line segment represents a user session. Since the vertical line at time t0 intercepts with three user sessions, the number of concurrent users at time t0 is equal to three. Let us focus on the time interval from 0 to an arbitrary time instant T. The following result can be mathematically proven:
Alternatively, if the total number of user sessions from time 0 to T equals n, and the average length of a user session equals L, then

[NOTE: In the above diagram, t0 represents any particular instance of time. Whereas in the formulae we use the value T which gives us a specific duration or a time period between 2 instances of the time say t1 and t2]

2.  Estimating the peak number of concurrent users
For determining the peak user load we make use of some basic probability distribution theorems in the following manner.
We determine the probability of X concurrent users occupying the system at a particular time. We make use of the Poisson distribution for the same. Then we use the normal distribution pattern to determine the pea amount of user load.
By Poisson distribution,

Under this assumption, it can be proven that the concurrent number of users at any time instant also has a Poisson distribution,
Where C is the average number concurrent users we find using the formula
It is well known that the Poisson distribution with mean = C can be approximated by the normal distribution with mean C and standard deviation √c. We denote the number of concurrent users by X.
This implies that (X-C)/√c  has the standard normal distribution with mean 0 and standard deviation  1. Looking up the statistical table for the normal distribution, we have the following result:
The above equation means that the probability of the number of concurrent users being smaller than C + 3√c is 99.87%. The probability is large enough for most purposes that we can approximate the peak number of concurrent users by C +√c

We see that the simplicity by which we can determine the peak concurrent users just by determining the average concurrent user load makes it highly efficient. The Eric Man Wong method remains the most reliable method to replicate a realistic and sensible workload model for the performance testing activity.

Read More About:  Concurrent User Estimation

Tuesday, 31 January 2012

CALL WAITING….. ??? – Costly Miss Costly Fix


On Jan. 15, 1990, around 60,000 AT & T long-distance customers tried to place long-distance calls as usual — and got nothing. Behind the scenes, the company’s 4ESS long-distance switches, all 114 of them, kept rebooting in sequence. AT&T assumed it was being hacked, and for nine hours, the company and law enforcement tried to work out what was happening. In the end, AT&T uncovered the culprit: an obscure fault in its new Oracle Software.

Here’s how the switches were supposed to work: If one switch gets congested, it sends a “do not disturb” message to the next switch, which picks up its traffic. The second switch resets itself to keep from disturbing the first switch. Switch 2 checks back on Switch 1, and if it detects activity, it does another reset to reflect that Switch 1 is back online. So far, so simple.

The month before the crash, AT & T Tweaked the code to speed up the process. The trouble was, things were too fast. The first server to overload sent two messages, one of which hit the second server just as it was resetting. The second server assumed that there was a fault in its CCS7 internal logic and reset itself. It put up its own “do not disturb” sign and passed the problem on to a third switch.

The third switch also got overwhelmed and reset itself, and so the problem cascaded through the whole system. All 114 switches in the system kept resetting themselves, until engineers reduced the message load on the whole system and the wave of resets finally broke.

In the meantime, AT&T lost an estimated $60 million in long-distance charges from calls that didn’t go through. The company took a further financial hit a few weeks later when it knocked a third off its regular long-distance rates on Valentine’s Day to make amends with customers

HP SiteScope – Monitoring Made Easy


HP SiteScope software monitors the availability and performance of distributed IT infrastructures including servers, operating systems, network and Internet services, applications and application components.

HP SiteScope continually monitors more than 75 types of IT infrastructure through Web‑based architecture that is lightweight and highly customizable. With HP SiteScope, you gain the real‑time information you need to verify infrastructure operations, stay apprised of problems, and solve bottlenecks before they become critical. HP SiteScope is an important component of both the HP Operations Center software and the HP Business Availability Center software, providing agentless availability and performance monitoring and management.

How HP SiteScope works
  • HP SiteScope provides a centralized, scalable architecture.
  • HP SiteScope is implemented as a Java™ server application and runs on a single, central system as a daemon process.
  • HP SiteScope Java server supports three key functions: data collection, alerting, and reporting.
  • HP SiteScope enables system administrators to monitor your IT infrastructure remotely from a central installation without the need for agents on the monitored systems.
  • HP SiteScope accomplishes remote monitoring by logging into systems as a user from its central server, which can run on Windows®, UNIX®, and Linux® platforms.
  • HP SiteScope offers optional failover support to give you added redundancy and automatic failover protection in the event that an HP SiteScope server fails.
Advantages of HP SiteScope
  • Features an agentless, enterprise ready architecture that lowers Total Cost of Ownership
  • Monitors more than 75 different target types for critical health and performance characteristics
  • Generates daily, weekly, and monthly summaries of single and multiple monitor readings with built-in management server‑based reports
  • Serves as an integrated component of HP Operations Center and the monitoring foundation for HP Business Availability Center and HP LoadRunner
  • With HP Operations Manager, can deliver a combined agentless and agent-based monitoring
  • solution to deliver the breadth and depth you require
  • Gathers detailed performance data for IT infrastructure using agentless technology installed on your managed server or device
  • Enables the easy installation and monitoring of IT infrastructure monitoring in less than one hour
  • Reduces the time and cost of maintenance by consolidating all maintenance to one central server
  • Reduces the time to make administrative and configuration changes by providing templates and global change capabilities
  • Enables quick and efficient operations management with automated actions initiated upon monitor status change alerts
  • Offers solution templates that include specialized monitors, default metrics, proactive tests, and best practices
  • Supports easy customization to provide standard monitoring of previously unmanaged or hard-to-manage systems and devices
 Read About: HP SiteScope

Ensuring Accuracy in Performance Testing


Most of the time applications may face performance issues even after rigorous performance validation. This is primarily because of improper performance test environment setup and model. It is a common issue across the industry that the testing tool might not have performed correctly during the load testing. So it is always a best practice and a mandate to validate that the testing tool simulates the network traffic as expected genuinely and to ensure the test environment is also accurate. Here is an idea, how Queuing theory Laws can be applied in validating the Performance test accuracy and to ensure that the application has a smooth accessibility in production without performance issues.

Little’s Law
The long-term average number of customers in a stable system L is equal to the long-term average effective arrival rate, λ, multiplied by the average time a customer spends in the system, W and it is expressed algebraically,
LλW


Applying Little’s Law in Performance Testing
The Average number of (virtual) users N in the system (server) at any instance is equal to the product of average throughput X and average response time Z. It is expressed algebraically,

N= X * (Z + R), where R=think time
Demonstration of Little’s Law to ensure Performance Testing
From the results obtained from the performance testing tool, we can find how many actual users have been generated to test the application using Little’s Law. A sample load test done on a sample application with 10 users has obtained following test results.

Average Transactions/sec=1.7, Average transaction response time=0.5 sec, Average Think time=5sec


By Little’s Law, Number of virtual users emulated by the performance testing tool is, N=X*(Z+R) =1.7*(0.5+5)
N=9.35≈10 virtual users have been emulated during load test

If the actual virtual users used in the system is equal to the Little’s Law result, then neither the tool nor the server has undergone any problem. If the Little’s Law result is less than the actual virtual users, then it means remaining users were idle throughout the test.

* It is understood that the throughput data above has been extracted from the tool but it is always preferred and a best practice to use the throughput data from the server.

Friday, 20 January 2012

ARIS FOR SAP NETWEAVER


Business process management (BPM) allows you to continuously adapt your business processes to new business strategies – modeling processes with different users performing different roles and tasks, and optimizing communication between process owners and IT experts. SAP and IDS Scheer offer a comprehensive BPM solution – SAP NetWeaver and ARIS for SAP NetWeaver. This joint application provides essential elements of a closed-loop BPM solution, from design and configuration, to implementation and execution, to evaluation of the overall process.
There are lots of BPM tools available in market, then why should we choose ARIS for modeling our business processes. Here are some of the features and benefits of ARIS which make this tool different from others.
  • ARIS Platform is Highly Scalable and hence complete solution for the Entire Business Process Management – From Web Based Description, analysis, and optimization of Business processes and software engineering to SAP Netweaver integration and continuous process controlling.
  • ARIS is not just for SAP NetWeaver. ARIS can be used for all SAP initiatives — to design, implement, and monitor SAP, non-SAP and manual processes in an organization.
  • The system architecture of the ARIS Platform allows globally active companies to set up distributed scenarios for designing, analyzing and optimizing process, IT and software architectures.
  • Business Process Management with SAP NetWeaver and ARIS for SAP NetWeaver provides procedure models, methods, technologies and reference content for modeling, configuring, executing and monitoring these business processes.
  • With ARIS Implementation Platform, gap between business and IT is closed. ARIS for SAP Netweaver helps design the process architecture for SAP Solutions that have been optimally adapted to the company’s business process.
  • Adds functions to SAP NetWeaver for graphically modeling processes at various levels. At the highest level (Process Architecture Model), the process architecture of a company is built from a purely business perspective, that is, without technical details.

User-Friendly Functionality:


ARIS Business Architect and ARIS Business Designer Web Based Solution enable shared, company wide modeling, analysis, and optimization of business processes, as well as IT Architecture set up via the Internet. With its user-friendly functionality that allows even unskilled occasional users to perform modeling. ARIS Business designer quickly paves the path to professional BPM.

Synchronization between ARIS for SAP Netweaver and SAP Solution Manager:


You can use ARIS for SAP NetWeaver as a modeling environment to import predefined process models as reference content from SAP Solution Manager. You can enhance these models and synchronize them with SAP Solution Manager.
Process models and other configuration elements can be exchanged (synchronized) between ARIS for SAP NetWeaver and SAP Solution Manager. In addition to scope information, structural information is also transferred.
The SAP Solution Manager provides you with the relevant SAP reference models. You can create an implementation project using ARIS for SAP NetWeaver and then synchronize it using the SAP Solution Manager. This enables you, for example, to make SAP reference models available in ARIS for SAP NetWeaver, and adapt and enhance them as required. Finally, you can make the implementation project available again in the SAP Solution Manager, where you can then configure the processes and adapt them to your specific system landscape. The SAP Solution Manager also provides you with an extensive range of functions for monitoring your solutions.

Upload of ARIS Processes to SAP XI:


With the ARIS BPEL export, ARIS BPEL models can be transferred to SAP XI. The elements to be exported must be exported from ARIS Business architect for SAP Netweaver. ARIS creates ZIP files, which can be imported into SAP XI.

Interfaces and development of Add-ons:


ARIS UML Designer is included in the Implementation Platform as a tool for;
Developing add-on functions and interfaces during the implementation. With the addition of classic UML methodology to ARIS, a consistent and uniform visual representation of the requirements of the business world can be obtained. The UML models created in ARIS can be sent via XML to other development tools integrated in Eclipse, which are then available as source code or as J2EE software components from ARIS. This means that software developers can work with (UML) data from ARIS directly in the development environment.

Globally Distributed Process Design with ARIS:


The system architecture of the ARIS platform allows globally active companies to set up distributed scenarios for designing, analyzing and optimizing process, IT and software architectures.
Web-based products such as ARIS Business Architect, ARIS Business Designer and ARIS UML Designer access a centrally set up and managed ARIS Business Server from locations around the world via three-tier architecture. These products are designed for use beyond firewall limits, with a very low bandwidth (e.g. ISDN).

Next Generation of BPM: ARIS embedded in SAP NetWeaver:


In the next SAP NetweaverTM release, the design, modeling and model based configuration will take place in a technically integrated solution, a unified modeling environment as part of the ESR in SAP NetWeaver. There, on the basis of a unified metamodel, users will be able to perform various different role-specific tasks in a unified modeling environment.
SAP AG and IDS Scheer AG leverage the strength of their technologies together to cover the whole business process lifecycle. SAP NetWeaver today offers a comprehensive BPM solution that will be enhanced in future releases providing a unified modeling environment and a powerful combination of Business Process Management and Business Activity Monitoring.

ARIS for NetWeaver contains a consistent description of the process architecture-from enterprise process models to implementation of the processes by SAP Solution Manager, the integration of executable processes in SAP XI, and the applications with SAP Business Workflow.

Some of the key benefits of using ARIS at a glance would be :-
  • Get a clear understanding of your process architecture as a starting point for SAP ESA.
  • Alignment of business, configuration and service process in one common repository.
  • Intuitive and user friendly user interface
  • Decentralized Design For centralized optimization
  • Available 24 hours a day, 7 days a week and in all locations due to the Web Based Front end.
  • Proven , extendable methods for various areas of application
  • Highly scalable architecture.