CHAPTER FIVE

PERFORMANCE To improve the performance many things must be considered. The web portal must avoid the system downtimes. Different types of the web servers are available in the market.

Selection of the must be done after considering the server limitations and the needs of the web portal. Most of the time some assumptions are made about the client machine, but to make the robust web portal all the Client side limitations (e.g., communication media limitations or availability of devices like printer, speaker, etc.) must be considered. The most important point about the performance is speed optimization which can be achieved by Task scheduling. Different types of tools are available in the market as per the requirements for the Load and Performance

Measurement. 5 PERFORMANCE 5.1 Introduction

The software products undergo several cycles of alpha and beta tests and receive feedback from the users before they are distributed as a final product.

The alpha and beta versions are given to the users and users suggest changes, which are reflected in the final product. If the software is fully customized then different

modules are prepared and these models are installed on the user machines and users are asked to use the modules.

Dynamic Content Caching (Centralized or Distributed) is used to improve the

performance. The End-Users may struggle in the identification and manipulation of

variables. The Modelling Web Applications Compare the modelling components

using non-object oriented languages, and Compare the modelling components using

object-oriented languages. Most commonly used model components are Script, Mark­

up, Style Sheet, Schema, Data languages, and Object-Oriented languages.

5.2 Portal Configuration

The configuration of the portal (Changes in the portal from a minimal configuration to a maximal configuration)

In order to maintain the performance the configuration must be checked time to time.

This is mandatory if the changes in the web portal are very frequent and it increase overhead on the server.

There is plenty of software available in the market to monitor the network and load of the server. It ensures the availability of network components while also measuring traffic and usage. It saves costs by avoiding outages, optimizing connections, saving time and controlling service level agreements.

123 Optimize Network and Avoid System Downtimes

Now a day’s business increasingly depends upon their networks to move large amount of data, provide faster communication, and enable basic operations.

Performance loss or system crash or delay in providing data can seriously impact the bottom line of the business. Continuous network and server monitoring enable to find problems and resolve them before they become a serious threat to the business;

o Try to avoid bandwidth and server performance bottlenecks

o Always deliver better quality of service to the users by being proactive

o Reduce costs by having bandwidth and hardware based on actual load

o Increase profits by avoiding losses caused by undetected system failures o Take a routine review on the process to cross check that the web portal works smoothly. o Pay attention to the smallest suggestion given by the user.

5.3 Server side limitations

The selection of the web server must be appropriate. There are many type of the web servers are available in the market, which are based on different requirement and or for different type of the technology; for example,

o Apache web server - the HTTP web server - This web server is Free and

the most popular web server in the world developed by the Apache Software Foundation. Apache web server is open source software and can be installed and made to work on almost all operating systems including , ,

Windows, FreeBSD, Mac OS X and more.

o -- The Apache Tomcat has been developed to support servlet and JSP scripts. Though it can serve as a standalone server, Tomcat is

generally used along with the popular Apache HTTP web server or any other

web server. Apache Tomcat is free and open source and can run on different

operating systems like Linux, UNIX, Windows, Mac OS X, and Free BSD.

124 o Microsoft's Internet Information Services (IIS) -- IIS Windows Web Server has been developed by the software giant, Microsoft. It

offers higher levels of performance and security than its predecessors. It also comes with a good support from the company and is the second most popular

server on the web. o web server -- Free open source popular web server including

IMAP/P0P3 . Hosting about 7.5% of all domains worldwide, Nginx is known for its high performance, stability, simple configuration and

low resource usage. This web server doesn't use threads to handle requests

rather a much more scalable event-driven architecture which uses small and predictable amounts of memory under load. o - Lighttpd is a free web server distributed with the FreeBSD . This open source web server is fast, secure and consumes

much less CPU power. Lighttpd can also run on Windows, Mac OS X, Linux and Solaris operating systems.

o Jigsaw -- Jigsaw (W3C's Server) comes from the World Wide Web group. It

is open source and free and can run on various platforms like Linux, UNIX, Windows, Mac OS X, Free BSD etc. Jigsaw has been written in Java and can run CGI scripts and PHP programs.

o Klone - Klone includes a web server and an SDK for creating static and dynamic web sites. It is a web application development framework especially for embedded systems and appliances. No additional components are required

when using Klone; thus, one can do away with an HTTP/S server or the active

pages engine (PHP, , and ASP).

o Abyss web server - Abyss compact web server runs on all popular platforms

- Windows, Mac OS X, Linux and FreeBSD. Supports HTTP/1.1, secure connections, CGI / FastCGI, custom error pages, password protection and

125 much more. The server also has an automatic anti-hacking system and a multi­

lingual remote web management interface.

o Oracle Web Tier -- Includes two web server options with and

caching solutions that lead to quick serving of web pages and easy handling of

even the most demanding http traffic. The iPlanet Web Server, for example, is

a high-performance server with enhanced security and multi-threaded

architecture that scales well on modern 64-bit multiprocessors.

o X5 () web server -- The cross-platform X5 from iMatrix Corporation is the latest generation web server using the company's own multithreading technology (Base2) that makes it scalable to multi cores. As per the iMatrix.

X5 can handle thousands of connections without difficulty and thus is useful for long polling in which connections from clients remain open for extended

durations.

o — The Zeus web server runs on Linux and Free BSD

operating systems among others. It has been developed by Zeus technology

Ltd. And it is known forats speed, reliability, security and flexibility. The web

server is used on some of the busiest web sites of the world including Ebay. Detail information can be found at http://www.webdevelopersnotes.com/hosting/list of web servers.php3

5.4 Services of the Portal

The services of the portal are always increases. After the portal is made available to the user to use; the changes demanded by the user. This happens mainly because the user was not able to visualize the entire system as a whole process and the links it has with the other applications.

Apart from the standard search engine feature, web portals offer many other services such as e-mail, news, stock prices, information, advertises, links to many other web

126 applications, facilities provides, databases and entertainment. Portals provide a way for enterprises to provide a consistent look and feel with access control and procedures for multiple applications and databases, which otherwise would have been different entities altogether. Although the system discussed with the user prior to the development as well as during the development; the user was not able imagine the entire process which finally going to be combined. That is the portal present information from diverse sources in a unified way.

Most of the time the requirement is provided by the people who does not involve in day to day activities of the system, and the people who expected to use the system are not able to provide the proper requirement. As a result the services are not as expected by the user. Or some time if it fit to the expectation then user starts asking advance facilities. They can not imagine time and efforts requirement of such type of the cost.

If the requests from the user are very small i.e. it requires some changes in the layout or to add any small function then the portal can easily modified.

But some time the changes demanded may be very high and it required changes right from the database structure then the entire portal has to be altered.

If the changes in the web pages are large or complicated then also it require huge amount of changes in the portal.

So when the portal has designed always consider more number of services and according to that portal must have the bigger configuration. The hardware must support the more services / applications. Further information can be found at http://www.webopedia.com.

127 5.5 Client side limitations (communication media limitations, printer)

The ultimate success and full users satisfaction of a web portal depends upon many factors. o Some time the web application is depends upon the client side support, For example, enabling the cookies, proper installation of the required software to run the web application smoothly this is major problem if the web application will run different types of animation files on the client machine, proper

installation of the hardware like printer, etc.

o The performance of a web portal is also based on the efforts taken and

understanding the system by the individual divisions working jointly towards

a common set of corporate goals. It will be the improvements made by those individual groups, in order to achieve their own objectives that will drive the overall increase in Internet performance, o A relationship must establish between the cost associated with each of the

proposed improvements‘and the return expected from them (for example, in

terms of a workload reduction, or an increase in the customer conversion ratio) Collect the necessary data to justify future Internet investments.

After all, the World Wide Web is just one more way for conducting business. The

way, nonetheless, that still requires to establish objectives, measure their achievement, and act when necessary to provide improvements. More information

is available at http://www.paessler.com.

128 5.6 Cost-loss analysis

The question is what to use a services-based or software-based solution to measure performance? A services-based solution in many cases is more cost effective, helps grow online revenue, and maintains better customer loyalty than a software solution.

There are cases where a choice between in-house software or an outsourced service, and one needs to make a business case for the outsourced service. An example of one form of performance management that simply cannot be done with software is external benchmarking. If an "outside in" view of Web site is expected and for 100 different cities around the globe, it's unlikely that to actually set up and run 100 different computers from various different locations - that's not very cost effective. Buying from a vendor that has an existing infrastructure is the only practical way to go. A service company will usually have a large infrastructure that can cost effectively leverage to obtain an accurate view of Web site, as experienced by end-users. Using an unbiased, outsourced service will also enable to measure and benchmark performance, and offers a neutral third-party validation of vendor’s service level agreement performance. As regards testing, some tasks are best accomplished with services, and some are better done with software. If application developers wish to do functional testing day after day during the application development process, software is the right way to go.

QA testing software has been around for decades and developers use it all the time.

However, using software may not be the best way to do capacity testing on a Web site that's functionally complete, but needs an extra dose of "wind-tunnel" testing to ensure that it won't fail under the stresses of real user loads. In this case, an external service is more accurate and cost effective. Many Web sites also involve applications using data from multiple partnefs. In such situations, an external service will provide a far more accurate picture of how the application will work in real-life than a limited capacity test in a QA lab. To assure customer satisfaction always check that whether customers are getting consistent levels of acceptable performance. Ensure that the e-Business applications and infrastructure are well constructed, and if they have the capacity to deliver peak

129 load performance when called upon to do so during high volume traffic events. When conducting such elemental testing, diagnose problems that can exist inside and outside the firewall. With the advent of Web services, a distinctly new set of issues and challenges emerges in order to measure and manage widely deployed and distributed Web services-based applications. How to test where problems are when the Web services don't come from a single vendor or even a single server? How to test for problems and how to determine who should be accountable for poor performance? The bulk of the performance management for Web services-based applications can only be done as a service, rather than by using software. Please refer http://searchsoa.techtarget.com/Bews/82Q252/E-Performance-management-Services- vs-software for detail information. 5.7 Adaptive ness

An adaptive adjusts the structure, content, or presentation of information in response to measured user interaction with the site, with the objective of optimizing future user interactions. Adaptive "are web sites that automatically improve their organization and presentation by learning from their user access patterns.” User interaction patterns may be collected directly on the website or may be mined from Web server logs. A model or models are created of user interaction using artificial intelligence and statistical methods. The models are used as the basis for tailoring the website for known and specific pktems of user interaction.

Techniques o The collaborative filtering method: The user data was Collected and assessed

in aggregate (across multiple users) using machine learning techniques to

cluster interaction patterns to user models and classify specific user patterns to such models. The website may then be adapted to target clusters of users. In this approach, the models are explicitly created from historic user information with new users are classified to an existing model and a pre-defined mapping is used for existing content and content organization.

130 o The statistical hypothesis testing method; A/B testing or similar methods are

used in conjunction with a library of possible changes to the website or a change-generation method (such as random variation). This results in the automated process website change, impact assessment, and adoption of

change. For examples snap ads for online advertising. In this approach the

model is represented implicitly in the population of possible sites and adapted

for all users that visit the site.

Collaborative filtering such as recommender systems, generate and test methods such as A/B testing, and machine learning techniques such as clustering and classification that are used on a website do not make it an adaptive website. They are all tools and techniques that may be used toward engineering an adaptive website.

Differentiation

User landing pages that allow the user to customize the presented content are not adaptive websites as they depends on the user to select rather than the automation of the selection and presentation of the web widget's that appear on the website.

5.8 Robustness

To ensure the accessibility of a web portal the accessibility evaluation tools can be used. These tools scan the source code of a web page using interpretations. These tools can help individuals spot glaring accessibility errors and remind users of accessibility issues that require manual checks, but they cannot determine whether the code for web portal is valid and robust. Valid and robust code is a necessary ingredient for accessibility that must be checked using tools that examine the source code of a web portal for validity and robustness, in other words, mark-up and robustness evaluation tools.

131 5.8.1 Valid code

As a general rule valid code is properly formatted and based on standards created by the World Wide Web Consortium (W3C), who establishes what is and is not "valid"

code for the web. The importance of valid code to accessibility can be examined when looking at what happens with invalid code. Invalid code creates problems for

browsers and assistive technologies, many of which function as simple text browsers.

The W3C describes browser difficulties with invalid code in the following statement.

All browsers know how to deal with correct HTML.... Since there are hundreds of different browsers, and more coming all the time (not only on PCs, but also on PDAs,

mobile phones, televisions, printers, even refrigerators), it is impossible to test web application on every browser. And remove the errors.

5.8.2 Robust code

The major characterizes robust code from other code is its ability to recover

gracefully from a whole range of exceptional inputs and situations in a given

environment. When creating robust code error recovery must consider.

The concept of robustness is also becoming very important in web accessibility standards. Content must be- robust enough to work with current and future technologies. This means that technologies that maximize the ability must be used of

content to work with current and future web browsers, assistive technologies, and other programs.

5.8.3 Different Types of Mark-up and Robustness Evaluation

There are several different types of mark-up and robustness evaluation tools that will be generally described bellow. The use of these types of tools can help to determine whether the code for site is vaMd and robust. These tools include HTML validator, CSS validator, link checker, and tools that determine page weight.

132 O HTML Validator - HTML validator can tell users whether or not their

code is valid or invalid. Hyper Text Mark-up Language (HTML) validator

checks the mark-up language of a web page against its document-type definition (DTD). A DTD for a Web page is listed before the tag in

the source code and defines the type of HTML being used and the mark-up tags that can be employed within the page.

For web content to be considered accessible it must follow current standards

for HTML, which means that it should have standards compliant, valid code as determined by an HTML validator. A simple example of how valid code

can create more accessible content can be seen with alternative text for images. Valid HTML requires alternative text which is also a key accessibility requirement.

o CSS Validator — Cascading Style Sheet (CSS) validator make sure that

style sheets meet the CSS specification created by the World Wide Web

Consortium (W3C). Valid CSS is necessary to guarantee a consistent look

across a wide variety of browsers.

Cascading Style Sheets provide precise control over font size, colour, and

style displayed in a web page. Style sheets help make sites more accessible by separating document structure (HTML mark-up) from presentation.

According to the W3C in their document Accessibility Features of CSS - external link “By separating style from mark-up, authors can simplify and

clean up the HTML in their documents, making the documents more

accessible at the same time.” This document also mentions another important

accessibility benefit when using CSS. “CSS allows users to override author

styles. This is very important to users who cannot perceive a page with the author's chosen fonts and colour. CSS allows users to view documents with their own preferred fonts, colours, etc. by specifying them in a user style sheet.”

133 Some additional benefits to using CSS include faster loading sites that are better looking and more flexible. Adjustments to the design of a web site become quick and easy fd accomplish when just one file, the Cascading Style

Sheet, needs to be changed,

o Link checkers - web portal has to test always for broken links using a link

checker. Link checkers read an HTML or XHTML document and extract a list

of anchors and links. It checks that no anchor is defined twice. It then checks

that all the links are functional. This is an important step because accurate links are critical for accessible navigation of a web page,

o Page weight - As a general rule of web design and usability, users

typically spend only seconds on any given page. They also lose interest

quickly. If a web page doesn't download within a reasonable period of time, which is a couple of seconds, they will either think something is wrong and go elsewhere, or lose interest and go elsewhere. To get quick download speeds

web site must be streamlined. This includes using Cascading Style Sheets and

standards compliant, valid code.

More information can be found at http://www.paessler.com/webstress. 5.9 Task scheduling for speed optimization

In recent times, CPU clock speeds have stagnated and manufacturers have shifted their focus to increasing core counts. This is problematic for programmers because their standard single-threaded code will not automatically run faster as a result of those extra cores.

For most server applications each thread independently handles a separate client request. But on the desktop it is difficult because it typically require taking computational intensive code, and doing the following; o Partition it into small chunks,

o Execute those chunks in parallel via multithreading,

o Collate the results as they become available, in a thread-safe manner.

134 A further problem is that the usual strategy of locking for thread safety causes a lot of contention when many threads work on the same data at once. To avoid this two strategies are useful for partitioning work among threads; 1. Data parallelism - When a set of tasks must be performed on many data values, it can parallelize by having each thread perform the (same) set of tasks on a subset of values. This is called data parallelism because it is partitioning

the data between threads. In general, data parallelism is easier and scales

better to highly parallel hardware, because it reduces or eliminates shared data

(thereby reducing contention and thread-safety issues). Also, data parallelism leverages the fact that there are often more data values than discrete tasks, increasing the parallelism potential. 2. Task parallelism - In task parallelism each thread performs a different task. Task parallelism tends fd be unstructured, meaning that parallel work units

may start and finish in places scattered across program. Structured parallelism

is simpler and less error-prone and allows farming the difficult job of

partitioning and thread coordination (and even result collation) out to libraries.

The task parallelism constructs are useful to run some operation on a pooled

thread, and also to manage a task’s workflow through continuations and parent/child tasks.

135 5.10 Speed optimization for on-line applications

Web-server Stress Tool is a powerful HTTP-client/server test application designed to

pinpoint critical performance issues in web site or web server that may prevent optimal experience for web site's visitors. By simulating the HTTP requests generated by hundreds or even thousands of simultaneous users, can test web server performance under normal and excessive

loads to ensure that critical information and services are available at speeds end-users

expect. 5.10.1 Advantages of Web-server Stress Tool

Using Web server Stress Tool when developing and running Websites is important

for web infrastructure;

o Maximize Uptime: Resolve performance critical issues in web server before

they bring down website

o Maximize Performance: Make sure that websites and applications are given

the server resources they need when they need it to guarantee a high quality user experience

o Maximize ROI: Get everything out of the investment in web server technology through consistent and in-depth testing and analysis

o Maximize Value: Web server Stress Tool is the most cost-effective solution

in the market for simulating performance, load, and stress tests for web server

o Minimize Efforts: The software installs in 5 minutes and works with all web servers

o More than 10,00,000 page views per hour and up to 10,000 simultaneous users load can be generated,

o Web server Stress Tool simulates independent users stepping through a set of URLs or through URLs that can specify using a VB script. Based on specified parameters, the application not only requests the HTML of a URL but also

136 frames, images, flash files, etc. emulating the same behaviour a web browser

would show when accessing the website, o Each user is simulated by a separate thread with his own session information (i.e., cookies for each simulated user are stored separately) and "surfs" the URLs independently from the other users - just like in real-world Web usage, o URLs can be parameterized for each user and the sequence of URLs can be varied. POST and GET requests are supported as well as BASIC HTTP

Authentication and several other settings. With the new scripting functionality

can even create highly complex URL patterns for large scale web applications.

5.10.2 Supported Test Types

Web server Stress Tool supports a number of different testing types. These tests are important to determine that web pages can be requested simultaneously without problems like database deadlocks, semaphores, etc. For example,

o Performance Tests—this test queries single URLs of a web server or web application to identify and discover elements that may be responsible for

slower than expected performance. This test provides a unique opportunity to

optimize server settings or application configurations by testing various

implementations of single web pages/script to identify the fastest code or settings.

o Load Tests— this tests entire website at the normal (expected) load. For load testing simply enter the URLs, the number of users, and the time between clicks of website traffic. This is a “real world” test,

o Stress Tests—these are simulations of “brute force” attacks that apply

excessive load to web server. This type of “brute force” situation can be

caused by a massive spike in user activity (i.e., a new advertising campaign).

This is a great test to find the traffic threshold for web server, o Ramp Tests—this test uses escalating numbers of users over a given time frame to determine the maximum number of users the web server can accommodate before producing error messages.

137 5.11 Real - time task handling

There are many problems which have to solve in a particular time span only. Because if e-Business just went down and it can't get up. How to solve it or at first how to know about this? Normally customer doesn’t come back and tell about such type of problem. In short measuring performance from the "outside in", 24-hours a day, from the end-user's perspective, using the real-time services of an Internet performance management company, and just received an alert that transaction performance has degraded from multiple cities around the world. Many people do not realize that Internet performance varies not only over time, but also over geography. To know what end-users are experiencing on the other end of a browser, always check how it works on a real-time basis and from many Internet points of location around the world.

For a large web portal many programmers are working independently and after the completion of the task the entire application are merged in a single unit. People had their work scattered across disconnected silos - thousands of emails and files stored on personal computers and dozens of workspaces in applications that didn't give people a way to connect projects to each other. It's hard to successfully manage and collaborate on many tasks and projects in an environment like that.

So solve such type of the problem software like Wrike are useful. It connects all work into a work graph, a unique approach that Wrike brought into the business collaboration space, that is easy to navigate for any user and that makes data accessible in a couple of clicks.

This model scales smoothly, no matter how many projects are running. Wrike's rich email integration made it very easy to connect and share all that valuable data online, in the real time. ,

138 5.11.1 Advantages of Wrike

o How to know what team members are working on - Wrike has Intelligent

Email Engine, so thousands of teams have been able to merge their email

communications into their planning process. Managers can easily coordinate every tiny detail of their projects. Managers have a real-time, clear picture of

multiple projects. o The full insight into business - it is easy to see where projects stand and what

each team members is working on. Scheduling and updating the plan is easy.

5.12 Comparison of performance

5.12.1 Parallelism verses Sequential Processing

In the Sequential Processing if application carries out a task on behalf of a user, it

may block until the task is completed. The user cannot do anything until the task

completes. With parallel processing, a task which the user does not immediately

require the results from can be carries out in a separate thread. The perception of the user therefore is that the task is performed (or at least processed) much faster. The task can be broken in smaller pieces that can be executed in parallel, the task can speed up - provided processing power is available. Many tasks involve 10-

processing, database access or Web service calls - all operations that do not burden

the CPU very much and leave room for parallel activities in other threads. Detail

information is at http://searchsoa.techtarget.com/news/82Q252/E-Performance-

management-Services-vs-software.

139 5.12.2 Queue Disciplines

The queue enables analysis of several related processes, including arriving at the

(back of the) queue, waiting in the queue (essentially a storage process), and being served at the front of the queue. It permits the derivation and calculation of several performance measures including the average waiting time in the queue or the system, the expected number waiting or receiving service, and the probability of encountering the system in certain states, such as empty, full, having an available server or having to wait a certain time to be served.

The queuing disciplines are as follows;

o First in first out - This principle states that customers are served one at a time and that the customer that has been waiting the longest is served first, o Last in first out -This principle also serves customers one at a time; however the customer with the shortest waiting time will be served first. This is also known as a stack.

o Processor sharing — Customers are served equally. Network capacity is shared

between customers and they all effectively experience the same delay,

o Priority - Customers with high priority are served first.

5.12.3 Queuing of tasks

Task is the unit of work that which user or the web applications want to perform. The

URL can invoke the servlet that implements the Task. And the parameterized data is a request parameters passed into servlet so that it can execute accordingly. When any

Task is created it is placed in a queue. After that it was executed. To manage and categorize tasks, queues are defined by giving them appropriate names. Few points to note about queues:

o All queues in the application can be defined in xml file named which is present in the web application.

140 o Each queue has a unique name and priority as well as time slot to execute can

be set for any particular task, o Scale out the task because some tasks take longer and/or more resources than others. Some tasks need to be done quicker than others. The task Queue Service can be used to process tasks in the background which are normally initiated by the user and they can be created internally by the applications also to break down a background job into smaller tasks. (For example, if a user signs up at the website and submits his/her information form. On receiving the request, a simple message is displayed back to the user that his/her subscription request has been received and they will hear soon about the status. At the same time, a task can be created that can process this users request, perform some verification and then send out an email to the user if the subscription is successfully done. More information can be found at http://www.davidaiken.eom/2010/04/12/web-queue-task- queue-task/ and at http://en.wikipedia.org/wiki/Queueing_theory

5.13 Load balancing

In general, a business could spend hundreds of thousands. It is difficult to maintain a testing infrastructure just to run tests once every few months when changes are made.

Therefore, having fixed infrastructure of software, people, and hardware to do occasional testing, or even periodic testing, is not as cost-effective as using a highly accurate testing service from a third-party performance management company by paying for services which are used as needed.

141 5.14 Load and Performance Tools

Different types of tools are available in the market as per the requirement.

Tools for web application are as follows:

Requirement Tool Online web site load testing service Load Impact performance, load and stress testing tool for web Loadtracer application Script-free Load, Stress and Scalability testing tool OpenLoad for Web Applications and Services Web load and performance test tool JBlitz Pro vPerformer is a load and performance testing vPerformer product for web applications Functional and load web tester (freeware) FunkLoad Web Load Test and Web Page Analysis Tool Proxy Sniffer Automatic Web Services Testing Tool SOAPtest Web page test automation tool with record and QEngine playback. Load, Stress and Performance testing of web sites WAPT and web-based intranet applications. Web performance, load testing, and stress testing Web Performance Suite software Web Site Application Load and Performance Capacity Calibration Testing Web stress tool (freeware) Microsoft Web Application Stress Tool (WAS) Performance and scalability utility for Web apps Load and Web Services (freeware) Versatile Web Server Load-, Performance-, and Webserver Stress Tool Stress-Test , Load testing tool for .NET web services and other ANTS - Advanced .NET Testing web applications. System A solution to assure Web service functionality, TestMaker scalability and performance as part of an enterprise's security strategy, (freeware) Web site load and performance test tool (freeware) OpenSTA

142 More Tools for checking performance are as follows:

Requirement Tool System Performance / Load Testing Tool preVue - ASCII, preVue-X Chariot® Load Testing Tool Benchmark Factory Performance, Function, & Automated Regression Teleprocessing Network Simulator Testing, and Network Design Evaluation Tool Load, performance and non-GUI functional testing Forecast for Web, Java, .NET, databases, network protocols and other technologies. Performance Testing and Analyzing Tool PureLoad Performance testing tools Rational Suite PerformanceStudio SilkPerformer Qtest Quality Management Solution - load, functional, Monitor Master stress and usability testing Load and performance test tool (freeware) Jmeter a collection of JUnit test decorators used to JUnitPerf measure performance and scalability of functionality, (freeware) Load and Stress Testing Tool for Web applications NeoLoad Load, Performance and Stress testing tool LoadManager Stress testing tool LoadeaTest Performance testing tool that analyzes scalability, Scapa Test and Performance reliability and performance Platform High-volume, multi-technology load testing and LISA Load & Performance Testing performance monitoring

Tools for different purposes are as follow: Requirement Tool Execution profiling tools for many languages Profiler PC hardware and device driver load testing tool BumlnTest Model-driven test data generation ER/DataGen Response time monitoring agent PureAgent

Tools based on database are as follows: Requirement Tool Load testing for SQL Server databases. SQL Stress Test Database Tool SSW Performance PRO! 97 SSW Performance PRO! 2000 A utility for database and db-applications stress DTM DB Stress testing

143 5.16 Improvement of efficiency

Any company using the Web as a revenue generator, customer satisfaction enhancer, or partner portal -- which is quickly becoming virtually every business - must

measure, benchmark, test, diagnose, and manage the performance of their e-Business infrastructure. In a struggling economy, the successful IT executive is expected to increase operational efficiency with reduced resources, and optimally leverage the large investments the company has already made in its e-Business infrastructure; IT

operations must proactively measure, diagnose, and test the end-to-end performance

of their e-Business applications continuously in order to manage their e-Business successfully. More information is available on http://www.testingfaqs.org/t- load.html.

144