Amazon Web Services Apache JMeter Cloud Services Load Testing

< 1 minute read

LoadFocus launches today the cloud load and performance testing service powerful enough to stress a web application or API with thousands of concurrent users.

Based on Apache JMeter open source project and hosted in the cloud, LoadFocus is designed for software developers, QA (Quality Assurance) engineers and product owners to run accurate load and performance tests with minimum costs.

load testing results

As we can see nowadays there are numerous web applications and APIs that appear everyday which requires load and performance assessments.

However, the existing commercial and professional load testing solutions are too expensive and too complex to meet real world requirements. The open-source load testing tools, like JMeter, are limited in terms of scalability for the requirements of enterprise and high-traffic web applications.

Once you sign up with LoadFocus.com, the only cost you will have is running the injector machines (Amazon EC2 instances).
The cost depends on the type of machine you’re using and the duration of the load test.

LoadFocus.com provides unlimited testing capacity, interactive real-time reporting and comprehensive result analysis integrated with mobile devices.

Click here to try it now!

Load Testing Performance Testing

< 1 minute read

Let’s say that you want to access a web service or a web page. The response time that you can see with different tools is a sum of the server processing time of the request and the delay involved for your request to reach to server and back.

This is getting more important when remote data centers are hosting the web page or web service.

Latency + Processing Time = Response Time

You can have a look at the latency vs. response time chart as you need to understand these different aspects of the system, and it is important for all the parties involved to know the difference between the two when they are doing a performance analysis.

You can use LoadFocus in order to stress test your application or API, inspect the latency and response time for all requests.

latency and response time

Cloud Services Load Testing Performance Testing

2 minutes read

It is very easy to create a New General Load Test configuration, all you need to do is follow the steps below:

Click on the General Test Button

load test

Enter a new name for your General Test

Screen shot 2013-07-24 at 3.01.07 AM

Select the request type GET or POST and details for injector machines

Screen shot 2013-07-24 at 3.03.17 AM

Add Load Test details: threads, loops, URL and delay:

Screen shot 2013-07-24 at 3.03.49 AM

Here are the steps in more details:

  • log into your account
  • click on the General Test -> New Test from the https://loadfocus.com/admin URL
  • on the https://loadfocus.com/newgeneral URL enter the Test Run Name (i.e. First GET Load Test for www.example.com)
  • click on the “New Machine” button from the right side of the page
  • select the type of the request (GET or POST) from the New Machine area
  • you may select the geographical location of the injector machine – this will represent the location from where the users will hit your application
  • you may select also the Amazon Web Services machine type used for the test – the more concurrent users added the bigger the instance should be
  • GET Request, Request Label: GET www.example.com, URL: www.example.com, Threads (concurrent users): 100, Delay (seconds) 1, Loop count: 3
  • This configuration will execute 300 sample requests
  • you can duplicate this type of request to add other 100 thread x 3 loops in parallel
  • also you can add another type of requests: you can select a different location or type for the injector machine and a different number of threads, delay and loops

You can either Save the configuration or directly Execute the test.

Page Load Time Performance Testing Website Speed Testing

2 minutes read

Try the free website speed testing tool https://loadfocus.com/website-speed-testing, gives you page load time, performance score, insights tips, numbers and sizes of resources for CSS, JS, images files.

Performance testing the page load time of a web application can be a little tricky but pretty useful for simulating what the user experience of your customers.

The following solution uses the PhantomJS headless browser for measuring the needed timing information,
Google charts for visualizing the results. The solution can also be used pretty much as it in the continuous integration
environment based on Jenkins or any other system.

For what can I use this solution ?

  • page load time testing
  • size and number of resources retrieved for URL call
  • load time for each resource

The solution described below is composed of the following scripts and executables:

1. PhantomJS headerless browser
2. load.sh script: script used for running the starting PhantomJS and the performance measuring script
3. loadreport.js: script used for retrieving the timing information needed for performance measuring

Steps to make the solution work for you (Linux OS as this is what I have , similar on MacOS or Windows).

1. Install PhantomJS

  • browse to http://phantomjs.org/download.html
  • open a terminal window and issue
     wget https://phantomjs.googlecode.com/files/phantomjs-1.9.1-linux-x86_64.tar.bz2 
  • wait for PhantomJS to be downloaded and issue the command ”
     tar -xvjpf phantomjs-1.9.1-linux-x86_64.tar.bz2 

  • now PhantomJS is installed

2. Create the load.sh script and add the code from below (or git clone fromhttps://github.com/loadfocus/pageloadtime.git)

3. Create the loadreport.js script and add the code from below (or git clone from https://github.com/loadfocus/pageloadtime.git)

4. Running the load.sh script

  • got to the directory where the load.sh script is located and issue the following command in the terminal:
  • run script:
     sh load.sh url_to_be_measured number_of_requests_to_be_made path_to_phantomjs 
  • example:
 sh load.sh http://www.google.com 20 /home/user/tempphantom/phantomjs-1.9.1-linux-x86_64/bin/phantomjs 

5. Visualizing the results
– after the test finishes in the same directory you will see:
results.html which contains the chart with the results
reports directory which contains the json file with the actual results
– open results.html in the browser of your choice

The results should look like below:

load_graph_loadfocus slowest_resource_loadfocus largest_resource_loadfocus resource_loaded_with_size_loadfocus

Apache JMeter Performance Testing

5 minutes read

Apache JMeter is an open source load and performance tool written in Java and it’s available on almost any OS. This is an intro post about Apache JMeter tool and I’m trying to point out how it can help you in your daily Quality Engineer job.
You can use Apache JMeter for performance, load, stress testing and memory-leak testing for accurate information. Also, JMeter can be used for understanding the performance of a web application, service, end-point etc.

I will present how to use Jmeter for creating a basic load test for a web application, below are Jmeter test configuration from the most basic one (without assertions and reporting), to the most advanced which includes Response Assertions, Reporting, Exporting Data and Chart Results and so on.

1. GET HTTP Request for https://www.example.com/
Description:

  • no assertions
  • no reporting

In the next posts I will present details of performance testing expressions: response time, latency, hits per second, transactions per second, throughput, and size per second.

Load Testing Performance Testing

< 1 minute read

Throughput – indicates the number of transactions per second an application can handle, the amount of transactions produced over time during a test.

For every application there are lots of users performing lots of different requests. What you need to ensure is that your application meets the required capacity before it hits production or live. To ensure that, load and performance testing is the solution.

Choose different type of requests (frequent, critical, and intensive) and see how many pass successfully in an interval.
To solve the problem you should try to simulate load through load testing tools like Load Focus (loadfocus.com) to pick a mix of scenario for load testing, define concurrent users, number of loops etc. The load test should be simulated with real live data (users, requests etc)

Load Testing Performance Testing

< 1 minute read

Response Time

Response Time measures the performance of an individual transaction or query. Response time is the amount of time from the moment that a user sends a request until the time that the application indicates that the request has completed.
For example, let’s say you have API and you want to find how much time that API call takes to execute once requested, here you are measuring the response time.
Response time is the total time it takes from when a user makes a request until they receive a response.

When doing a load or performance test you need to find out how is your application, website, API handling all the requests and how the response time increases with the load.

Response Time Load Testing

You can use cloud testing tools to run load and performance tests, tools like LoadFocus (http://loadfocus.com) which is a – very easy to use and low-cost online service, has accurate results and is compatible with open source Apache JMeter.

cloud testing