Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

Introduction

This Guide describes how the OnDemand Agents work for Apica LoadTest (ALT) , and what to think about to not and tips not to overload them.

...

Info

The typical subscription for an ALT customer is

...

“OnDemand.”

Locations

Location Map

OnDemand Agent Locations

When you set up a

...

load test, you choose from a set of locations

...

from where you want to run your

...

load test:

...

Image Added

Each location has

...

several available OnDemand Agents.

Image Added

OnDemand Agents

On the following link, you can find up-to-date information about locations and agents:

...

Location

Available agents

Australia - Sydney

10

Brazil - Sao Paolo

10

Canada - Montreal

10

Germany - Frankfurt

10

France - Paris

50

Ireland - Dublin

10

India - Mumbai

10

Japan - Tokyo

40

South Korea - Seoul

10

Sweden - Stockholm

50

Singapore

10

UK - London

10

USA - Ohio

250

USA - Oregon

250

USA - San Francisco

250

USA - Washington DC

250

Total Agents

1220

How

...

Customer Jobs are

...

Allocated

Each OnDemand Agent has a limit of 500-1000 1,000 Virtual Users, depending on the location and contract.

When a customer runs a loadtest load test job, one or more agents are:

  • Reserved for that customer only

    • For each location

    • For the duration of the job

    • For a maximum of 500 Virtual Users (VU) per Agent

  • The allocation takes place before the jobs start.

  • These agents are not available for any other customers or jobs for the duration of the test.

Example:

A customer wants to run a loadtest of 1800 load test of 1,800 VU’s from 2 locations. The system will then allocate 2 agents in each location, and each agent will run 450 VU’s.

When using Performance Test Scenarios and several tests, each test/Job is handled separately.

Performance of a Loadtest Load test Agent

As stated abovebefore, each Agent is allocated up to 500 VU’s, but the CPU load on the Agents can vary a lot depending on the script:

Each of these conditions calls for More/Higher CPUs:

  • The number of calls per “page”: More calls => more CPU need“page.”

    • Higher calls

  • If calls are made in “parallel” or “serial”: Parallel => more CPU need“serial.”

    • Parallel Calls

  • The think time (pause) between each “page”: Shorter time => more CPU need“page.”

    • Shorter Think Times

  • The response times of the called resources: Shorter time => more CPU need

    • Shorter Response Time

Note

When an Agent is overloaded (e.g., CPU > 90%), it will limit the throughput, and the returned performance data will be wrong (too low).

Info

In general, an Agent can handle up to

...

1,000 calls per second.

...

Can you see if an Agent is overloaded?

...

1. Compare Response Times

(blue star) Loop Time > Page Times = Agent Overload

The typical symptom of an overloaded Agent is that the total duration of a test iteration (“loop time”) is clearly longer than the sum of the “page times”times.

This is because not all execution time is included in the page times, for . For instance, SSL handshakes, HTTP handshakes, and garbage collection.

  • When the Agent's CPU

...

  • is overused, these additional processes may take significant time for the agent to process so that they will be added to the Loop time but NOT the Page Time.

Example:

On the test “Overview” tab

...

, check the

Average Response time Per Loop

Compare the Loop Response time to the

Page Summary Total

Image Added

Note: Session Time included Think Times

Compare to this:

...

...

Image Added

There was no difference; the Loop included each of the 5-page response times, so the Agent worked fine!

Note

If we saw Loop Response Time > Page Times, the Agent is overloaded.

Looking

...

at the detailed result file

Once a job is finished, you can download the detailed result file and analyze it. In the “Jobs” view, click the download icon for the job you’re interested in.

...

Image Added

This will get you an xxx.prxres file.

Put

...

that file in the ZebraTester/MyTests folder.

Open the file in the ZebraTester UI/Project Navigator:

...

Image Added

Then click the magnifying glass next to the Load Test name:

...

Image Added

Then select the

...

Diagram: Load Generator Performance:

...

Image Added

Finally, look at the CPU Usage graph:

...

Image Added

In this example, the usage is very low, so we’re fine! (thumbs up)

2. Leverage SSL Cache Efficiencies

More SSL Cache Hits Help Agent CPU

Check SSL Cache Efficiency and Percent time Spent on SSL.

You can check for this in the result file (see the previous

...

section)

...

by selecting

...

Diagram: SSL Cache Efficiency.

...

The example below

...

shows that a new SSL handshake was performed for

...

every request. This can be CPU intensive, so keep the SSL Cache-hits as high as possible; Offloading this to the cache keeps the Agent CPU lower.

...

Image Added

Also, look at the

...

Results per Page | URL (Details)

...

view. Compare the numbers in the

...

Av SSL/TLS column with the Av Time column. In the example below, about 10% of the time is spent on SSL.

Image Added

...

Tip

...

Tips to

...

Avoid Overloading Agents

...

  1. Use longer think time between pages.

  2. Use more locations.

    1. This will spread the load over

...

    1. several Agents.

...

  1. Re-use the SSL connections

...

  1. as much as possible.