• No results found

E-commerce: Load Testing and the Advantages of Open Source Model

N/A
N/A
Protected

Academic year: 2021

Share "E-commerce: Load Testing and the Advantages of Open Source Model"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Extending Open Source solution for Performance testing of Web (http\https)

application

ABSTRACT

In this research paper we examine the need for load testing and highlight the shortcomings of open source load testing solutions, vis-à-vis their commercial counterparts and present our own approach to design plug-ins over open source tools that can bring them a step closer to COTS. Our proposed solution enhances the capabilities of Open Source testing tools by providing an in-depth performance monitoring of web, application and database servers. This helps in determining bottleneck of the application and enables the user to proactively correct potential problems before they become critical. We also propose here, the implementation of IP spoofing and bandwidth simulation, which would be the add-on features of this tool.

KEYWORDS:

performance, monitoring, load testing, analysis, OpenSTA, WAN emulation, bottleneck, Analyzer, Profiler, Graphs, Overlays, Load Runner

1. INTRODUCTION

For any web application, the end to end response time for a user is a critical issue. As the number of users accessing the same web application increases, the performance of the application decreases due to slowdown [7]. Load testing

refers to checking the performance of a system under multi-users workload. It is a very critical part for any web application before it goes live. There are many open source load testing solutions available today, but they do not match up completely to their commercial counterparts. Commercial tools on the other hand prove to be very expensive option for small scale industries. The challenges of successfully conducting an online business are as follows:

1) high user volumes

2) low response times for web requests 3) the overall reliability of the service

Monitoring the performance requires an efficient analysis of the various parameters associated with performance measures. Our major concern lies with the determination of the bottleneck in the complete n-tier application that comprises of a client, a network and different servers involved (web, application, database). Thus, a detailed analysis for every performance parameter from all the components involved under Load condition is required for diagnosing the complete application being monitored.

2. EXISTING TECHNOLOGIES

2.1 CURRENT STATE OF ART 2.1.1 Commercial tools

The most popular commercial tools available for Load testing and diagnostics are

a) Mercury LoadRunner

b) IBM Rational Performance tester c) IBM Rational Robot

d) Borland Silk Performer

2.1.2 Popular Open source Testing Solutions

For the purpose of this research paper, we list two of the most popular tools for performance testing of HTTP\HTTPS applications

a) Apache JMeter b) OpenSTA

2.2 SHORTCOMINGS

Open source tools lag from their commercial counterparts in the following

a) Effective Integrated Monitoring and analysis capability

b) User network speed simulation c) IP Spoofing capability

3. PROPOSED APPROACH OF THE

SOLUTION:

(2)

Figure3.1.1: Integrated Monitoring Model

First, OPENSTA tool is used to generate virtual user load on the machines (servers) to be monitored. For the collection of the performance parameters on different server machines like IIS, SQL, Weblogic, ORACLE etc., we design lightweight listening components (LC) and deploy them on different Servers (Web, Application, Database) with different OS environments.

The key requirements of the LC(s) are:

a) They should be lightweight and should not consume large memory.

b) They should continuously gather

Configurable Data Points

(parameters) on the server machine by

polling the logs or using the APIs of the server and the OS at a configurable polling interval and relay it back to a central request component (CC). c) They should run in daemon mode. The central request component (CC) which acts as a Performance Data Collector Server

connects to the installed LC(s), the network and the load generator tool (OPENSTA), and stores the data for every synchronized pulse into a database. Dashboard, a term which defines the

console at CC side, keeps on fetching the data from the database and helps the user to visualize the real time variations in the performance parameters and locate the areas that have been the cause for erroneous or unusual results. The key requirements for the DASHBOARD are:

a) Display of simultaneous graphs with feature of graph overlays.

b) Maintenance of a PROFILER which allows user to reconfigure the saved sessions. Informing user of any abnormality in the system and giving him the option to execute necessary measure. c) In real environment, the values lying out

of bounds are taken care off by the

ANALYZER, which then diagnoses the

fed data (input) and tries to point out the cause of the anomaly. We will have a facility at the Dashboard console that can send system alerts through emails etc. Since the LC(s) have to be deployed on different platforms, we decided to use a platform independent language like PERL for the designing of Listening components as well as Central Component. For communication and transfer of data values between the CC and LC, we have used Socket Programming in Perl. For designing of the Graphical User Interface and the Dashboard, we have used VB.net.

3.1.1 DASHBOARD

3.1.1.1 USER INTERFACE:

The User Interface (UI), designed using VB.NET, provides a console on which the user

could design and set a session for monitoring and can see the results in form of REAL TIME GRAPHS. These real time graphs are obtained corresponding to each machine participating in the monitoring session as well as from the machines which are used for generating the load using OPENSTA. The UI runs the scripts placed at backend prepared using PERL scripting language. Following are the steps of interaction between CC and LC:

1. The CC broadcasts START request, and the LC(s) respond back by sending their system details.

2. The CC requests the selected LC(s) to send their list of parameters.

3. The CC sends the configured list of parameters to be monitored to each LC, including the configured test to be run on OPENSTA machines.

4. CC broadcast a “START MONITORING” message to all selected LC(s) at the same instant. The user can end the session whenever he wants to by sending a “STOP” broadcast.

(3)

The REAL TIME GRAPHS are displayed by plotting the parameters of the machines being monitored along with the parameters provided by the OPENSTA machines such as virtual users and response time.

It provides us with an ‘integrated monitoring console’ (at CC) to view correlation of different

parameters of different machines The key features of real time graphs are:

Add Graph: displays the real time variation of a

single parameter from any of the machines being monitored in the session.

Add Parameter: Overlays the parameter to see

the relative variation and correlation of two or more parameter values with time.

Remove Parameter: Removes the display of

any undesired parameter from the running graphs.

Delete Graph: Deletes a graph from the graph

window.

Changing Legend Properties: Changes the

legend properties (color, width, style, scale).

The graphs are scaled on a scale of 100, and the data is interpolated for missing values.

Figure 3.1.1.1: The UI with the real time graphs

3.1.1.2 SAVED PROFILER:

After the completion of every monitoring session, the user can save the current session.

A dump of the current session in .sql format is then created at user specified location.

If at any time, user has to create a monitoring session with the same configurations, then instead of making an entirely new session and configuring it again, the user can avail this facility of saved profiler, by recreating a new session with modifications to an old session.

3.1.1.3 ANALYZER:

The ANALYZER analyzes the complete monitoring session to come out with the results of the performance measures and generate a report. The saved session dump is loaded back to the database and graphs for the monitored machines are displayed. Along with the features as in Real time graphs, we have also incorporated the following additional features:

Show Data: displays the accurate value of the

parameters at any instant of time (also has the option to select the RANGE OF VALUES).

Exporting Data to Excel: exports the data directly

to the excel sheet.

Making User Defined Graphs: provides an option

to see a particular range of data at any instant of time (by specifying the RANGE as well as INTERVAL for the data on the X-axis).

Report Generation: prepares a report and exports

the graphs to Microsoft word.

The parameters on a graph have been scaled with respect to the maximum valued parameter. The data is also interpolated before being plotted on the graph surface.

Figure 3.1.1.2: The Analyzer to analyze a saved session

3.2 BANDWIDTH SIMULATION MODEL

Till now open source load testing tools do the monitoring without considering the bandwidth availability and latency at the client’s side. The performance of applications largely depends on the availability of bandwidth and latency at client’s side. For instance, different clients might be working at different bandwidths (33kbps, 56 kbps, 1Mbps so on…). The server might be sending data at a particular bandwidth say 100Mbps, and might have a response time of sending a page equal to,

(4)

say, 26 seconds. However, due to different availability of bandwidth the time taken in displaying the page will be different for different clients.

Considering this fact, it would be necessary for real-time to simulate a network bandwidth against every task-group in OPENSTA. For network simulation we have readily available tool such as WAN Emulator tool [8].

To achieve this real time monitoring on network performance measures we need to map the load generated from OPENSTA to the network traffic on WAN emulator. For this we can design an interface to be placed between OPENSTA and WAN emulator that would call OPENSTA APIs to start the load test and simultaneously call the APIs of WAN Emulator to generate appropriate traffic so that required bandwidth on the network can be achieved.

Figure 3.2: The WAN emulation model

3.3IP SPOOFING

A major problem for load testing team is that any genuine attempt to load the server with web-requests can be perceived as DOS attack by firewall and blocked thus failing to load the server. To bypass this problem, load generation tool should be able to send requests spoofing their source IPs so that these requests can bypass defense mechanism and can actually reach server. Open source load testing tools such as OpenSTA do not have an inbuilt mechanism to achieve IP spoofing.

4. COMPARATIVE STUDY

The chart below shows comparative study of our tool with the leading commercial tool, LOAD RUNNER and the most popular open source tool, OPENSTA.

Item LoadRunner OpenSTA Our Tool

HTTP/HTTPS Protocols √ √ √

Other Protocols

×

×

Commercial Tool

×

×

Monitoring on Windows based servers √ √ √

Monitoring on other platform(Linux) based servers

×

Profiler (i.e. reconfiguring previous sessions)

×

Analysis of simple charts and graphs √ √ √

Overlaying graphs capability (Sophisticated & large range of charts and graphs with overlay facilities)

×

IP Spoofing

×

(5)

Effective Integrated Monitoring and analysis capability

×

Extensibility

(the user can modify the code according to his needs)

×

√ √

5. CONCLUSION:

In a short time, e-business has proven to be a viable business model for dotcoms and brick-and mortars alike. With the number of Internet users growing exponentially, it is therefore critical for these businesses to prepare themselves for high user volumes.

The approach mentioned in this paper, is a step towards enhancing the existing Open-source load testing technologies, which can be used by small industries which cannot afford high-priced commercial tools.

However, the various demerits of OPENSTA at load generation and script recording level have not been combated. Enhancements can be made by implementing protocols other than HTTP/ HTTPs.

REFERENCES:

[1] http://www.testingreflections.com/node/view/361 [2] http://clif.objectweb.org/load_tools_overview.pdf [3] www.ibm.com/software/awdtools/tester/robot/featu res/index.html [4] www.borland.com/us/products/silk/silkperformer/i ndex.html [5] www.mercury.com/us/products/loadrunner/ [6] http://www-306.ibm.com/software/awdtools/tester/performance /index.html [7] http://download.mercury.com/cgi-bin/portal/download/index.jsp [8] http://www.myloadtest.com/free-wan-emulator/ [9] http://www.securityfocus.com/infocus/1674 [10] http://www.crestech.in/Testautomation.htm [11] http://jakarta.apache.org/jmeter/ [12] http://OpenSTA.SourceForge.net

References

Related documents

Many machine learning tools have been applied to the problem of condition monitoring using static machine learning structures such as artificial neural network, support vector

Total expenditure elasticity (sum of the expenditure elasticity of quantity and quality) is less than one for both bidis and leaf tobacco in rural and urban India and is more than

In Figure 4.3, the apparent free drug fractions that were measured for a mixture of warfarin with soluble HSA was elevated at lower flow rates because the longer extraction

Medical College (Prev.Uttarakhand Forest Hospital Trust Med.Col.), Haldwani ASTH, BIOC, OBGY, PAED, PATH, P-SM, ANAT, OBGY, OPTH, EN-T, GSUR Kumaon University,

to Be Really, Really, Really Happy, You Have the Power to Create Love, Fill Your Life with Miracles, Simplify and Live the Good Life, Simplify and Create Abundance, and Your Past

And as national policies are as important in the international investment law regime as international agreements and treaties, a multilateral effort to define the parameters of

Corning police department claifornia public arrest warrants authorize or by name or drivers license number of ventura county superior court it, how to the appeal.. Assist you

[r]