The Performance Beacon

The web performance, analytics, and optimization blog

CloudTest 58: Security, SPA Testing and Performance Upgrades




I am very proud to announce that CloudTest 58 is now generally available! CT 58 is a performance release, but there is more. The primary focus was to update the underlying infrastructure with upgrades to Java 8, Wildfly 10 and Docker to improve performance and security. We have also streamlined dashboards, improved SPA Recording and overall scalability for large tests. Our efforts have paid off. Prior to this GA release the 58 LA build set a performance record of 103 Gbps in a recent bandwidth test! Keep reading below for a full description of each update:

Java 8, Wildfly 10 and Docker

CloudTest 58 includes a platform overhaul. CloudTest now runs as a Docker container, on Wildfly 10 and Java 8. This resolves security concerns, and also positions us to use the latest Web technologies going forward. See Notes on Upgrading Appliances with 58 at the end of this document.

Bursts

CloudTest now supports “bursts” of parallel requests, without requiring any kind of parent HTML document. This will make it dramatically easier to test modern Web scenarios, like “infinite scrolling” and other functionality that happens post-page-load. In Image 1, you can see how the resources are automatically grouped with the Burst highlighted, while Image 2 represents the content within that Burst that will be played back all at once.

Image 1: A list of resources including a Burst grouping (highlighted)

Image 1: A list of resources including a Burst grouping (highlighted)

Image 2: Drill-down of the resources grouped within the Burst highlighted in Image 1

Image 2: Drill-down of the resources grouped within the Burst highlighted in Image 1

Chrome Recording Extension 2.0

The CloudTest recording extension has been re-designed from scratch to support modern Web application testing. In the past, we relied exclusively on the HTTP Referrer header to detect the requests that make up a page. Unfortunately, this approach failed to keep up with modern web applications, including Single Page Application (SPAs).

CloudTest now uses deep instrumentation of the Chrome browser to detect resources that originate from the same initial load event. For example, when a JSON document is requested via XHR, and the browser uses its contents to request a set of images, CloudTest will automatically group this into a page that simulates the “soft nav.”

Improved Percentile

Calculations CloudTest now uses the same methodology as mPulse for computing percentiles. This new methodology is more accurate and still fast enough to produce data in real time. By coincidence, the patent that we filed for mPulse percentiles in 2013 is about to be granted. Meanwhile, we’ve submitted a new patent application for the use of this methodology in CloudTest!

Inline HTTP Editor

The goal is to save you clicks. Our first step is to enable HTTP clips to be edited directly underneath the clip itself. As seen below, the editor opens beneath the clip, allowing you to edit the fields right there.

Image 3: Inline Clip Editor enable HTTP clips to be edited directly underneath the clip itself

Dashboard Widget Copy and Paste

You can now simply copy and paste an entire widget, along with all of its settings, making creating and modifying custom dashboards far faster, saving you time and energy.

Image 3: Dashboard widget copy and paste

Image 4: Dashboard widget copy and paste

Annotations

CloudTest now provides an API for annotating points in time (or ranges of time) that are noteworthy during your test. These annotations will appear in all time series widgets, just like in mPulse. In addition, CloudTest automatically annotates significant events, such as: ramping events, steady states and load generator failure.

 

Image 5: Automatic Annotations are created as Ramp changes

New Locations

Locations for this release include: Beijing, Mumbai, Ohio and London.

Upgrading Appliances with 58

Please contact support to assist in a walk through the Appliance upgrade to 58

Upgrade Process for CT 58 for on-premise installation:

CT 58 comes with new Centos OS version (7.0) and JBoss version (Wildly), the upgrade process from earlier versions of CT (57 and below) requires installing CT 58 Main on new instance separated from the existing CT instance.

After installation, Jboss and Postgresql services are shutdown on both CT Mains, then the data folder for Postgresql database is copied from the old CT to CT 58 build, and then postgresql service is started on CT 58, and migration tool is used from command line to migrate the Repository and Result database. Once JBoss service is restarted, CT 58 Main will be up and running.

Follow the same process to upgrade external RSDB instances.

For Load Generators and Result Consolidators, since there is no database migration involved, the instances can be installed separately and then added to Main, or the CT 58 ISO can be  installed on top of the old OS on each instance.


Karl Stewart

About the Author

Karl Stewart


Karl is a 25 year product executive with stints at Oracle, Palm, Verizon Wireless, Qualcomm and numerous startups as a product consultant.