|
In software engineering, Management of Software Performance is done from the perspective to determine how fast some aspect of a Software system performs under a particular workload. It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage. Performance management is a subset of Performance engineering, an emerging computer science practice which strives to build performance into the design and architecture of a system, prior to the onset of actual coding effort. Any technology which is measured can be Manages easily. OVERVIEW Performance Management & Measurement covers a broad range of engineering or functional evaluations where a material, product, or system is not specified by detailed material or component specifications: Rather, emphasis is on the final measurable performance characteristics. It can also refer to the assessment of the performance of a human examinee. For example, a behind-the-wheel driving test is a performance test of whether a person is able to perform the functions of a competent driver of an automobile. For instance, in the computer industry, performance metrics is used to determine the speed or effectiveness of a computer, network, software program or device. This process can involve quantitative tests done in a lab, such as measuring the response time or the number of MIPS (millions of instructions per second) at which a system functions. Qualitative attributes such as reliability, scalability and interoperability may also be evaluated. SCOPE & OBJECTIVE Performance Measurement can serve different purposes. It can demonstrate that the system meets performance criteria. It can compare two systems to find which performs better. Or it can measure what parts of the system or workload cause the system to perform badly. In the diagnostic case, software engineers use tools such as profilers to measure what parts of a device or software contribute most to the poor performance or to establish throughput levels (and thresholds) for maintained acceptable response time. It is critical to the cost performance of a new system that performance test efforts begin at the inception of the development project and extend through to deployment. The later a performance defect is detected, the higher the cost of remediation. This is true in the case of functional testing, but even more so with performance testing, due to the end-to-end nature of its scope. Performance of the software system can be measured in terms of Response time. This is typicall done by measuring time taken by Software system to complete one user transaction. E.g. Login into Yahoo mail.Responce time of application depends upon the type of Server side Architecture deployed (.NET, CORBA, EJB, DCOM). Tools and framework used for Performance measurement of software system are Mercury-Load Runner, Segue-Webload, Silk Performer, Open STA, IBM Rational Performer. Following are some Techniques used for Performance Measurement Load Testing: Testing conducted to evaluate the compliance of a system or component with specified performance requirements. Often this is performed using an automated test tool to simulate large number of users. Also know as "Load Testing". Stress Testing: Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements to determine the load under which it fails and how. Often this is performance testing using a very high level of simulated load. Performance testing is often done in conjunction with stress testing. Endurance Testing: Performance testing conducted for longer duration with consistent user load.It Checks for memory leaks or other problems that may occur with prolonged execution. Operational Acceptance Testing: Load testing conducted to verify software system performs as expected on various Software & Hardware combinations.
|