Load Testing Performance Testing

1 minute read

If you want to check the performance improvement or degradation of your web application between two builds you need to do the following:

  • decide what part of your application you want to compare – page rendering, API response time, CPU or memory of the two builds
  • create a Apache JMeter performance test script
  • run the load/ performance test against the first version of your application
  • monitor the system under test and save the test results
  • deploy the new build on the same environment (same hardware and network connection)
  • run the same test and compare results

You should be careful that the performance test in run under the same system.
You can also use the compare functionality that Load Focus (Cloud Load and Performance Service) offers. Load Focus saves all your tests configuration and test results.

You can very easily select two test runs and compare them on the same chart. You can compare the Response Times, Latency, Throughput, Bytes/second, and other metrics. Sign Up and give it a try, I’ll make your life easier and no test results will be lost any more.

Apache JMeter Load Testing Performance Testing Uncategorized

1 minute read

If you want to stress your application with Apache JMeter you will try to start a load/performance test from JMeter with a lot of threads or concurrent users.

You have an example in our previous post how to create a simple GET performance test for a web application or web site.

Let’s return to our question, the number of threads that you can start from your machine it first depends on its hardware capabilities CPU, Memory. Apache JMeter is a Java application with a good UI interface, very easy to design new tests, however if you want to run load or performance tests you should run the JMeter test (.jmx file) from the Command Line. This way you will be able to start a lot more concurrent threads.

As an average you can start between 200-250 threads on a single machine, with a maximum of 300 threads. Before starting the actual test, you need to do a dry run from the injector machine and inspect when the tests start failing and limit the maximum number of threads per thread group.

To run a load or performance test with your own Apache JMeter script you can use Load Focus Cloud Load and Performance testing service which allows you to do the following:

  • select the number and location of injector machines (for example North America, Asia, Europe etc)
  • upload your own JMeter test script (.jmx) on the injector machines
  • run the test and monitor the execution log and live results

You can also upload different scripts on different machines so that you can check different scenarios like check your Sign Up functionality while the site is under heavy load.

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

Apache JMeter Load Testing Performance Testing

1 minute read

In order to create a new Cloud Apache JMeter Load Test with Load Focus all you need to do is follow the steps below:

1. Select New JMeter test

load test

2. Enter the name of the test and upload the Apache JMeter test script files (.jmx)

Here are the steps in more detail

– log into your account from https://loadfocus.com/login
– click on the Apache JMeter -> New Test menu item from left side of the https://loadfocus.com/admin web page
– on the https://loadfocus.com/newjmeter webpage insert a Test Run Name (i.e. First JMeter Script GET Load Test for www.example.com)
– upload your Apache JMeter .jmx script file that will execute the load test
– select the Location of the injector machine and the type of the machine
– you can upload a new file to execute in parallel a new .jmx script file

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

If you are not familiar with Apache JMeter you can check the Apache JMeter Performance Testing tutorial or run a General Test with Load Focus.

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