クラウド時代のパートナー 株式会社 pnop

Azure Marketplace "Apache JMeter multiple remote servers" Users manual.

Introduction

This is the simplified manual for "Load Tester (multiple remote servers) Powered by Apache JMeter™" from Azure Marketplace.

What's Load Tester (multiple remote servers) Powered by Apache JMeter™

"Load Tester (multiple remote servers) Powered by Apache JMeter™" performs stress tests from multiple JMeter servers.

* If single server are required for stress tests, please use "Load Tester (standalone) Powered by Apache JMeter™".

Main feature of Load Tester (multiple remote servers) Powered by Apache JMeter™

  • Apache JMeter 5.2
  • Can connect from Microsoft Remote Desktop client. (xrdp installed)
  • Can replicate a test across many low-end computers and thus simulate a larger load on the server.
  • Can distribute CSV Data files to all JMeter servers.
  • Added Japanese, Korean, Chinese fonts.
  • CentOS Linux release 7.7
  • Generally provided as a virtual machine, and several other PaaS are used.

System requirements

  • JMeter client(front end) virtual machine can connect through TCP/3389. (If you want to operate with GUI in Windows Remote Desktop)
  • JMeter client(front end) Virtual machine can connect through TCP/22. (If you want to operate with CLI in SSH)

How to build

Access to "Create Load Tester (multiple remote servers) Powered by Apache JMeter™" and Create.

The description of deployment parameters is as follows:

  • "Basic" tab
    • Subscription, Resoruce group, Region
      Enter or select the subscription, resource group and region
    • Username, Authentication type, Password
      Enter or select the Username, Authentication type and Password or SSH public key to login to the JMeter virtual machines (same as JMeter client and servers).
  • "Networking" tab

    • Virtual network
      Specify the name and CIDR of the newly created or existing virtual network.
    • JMeter client Subnet
      Specify the subnet name and CIDR where the virtual machine of JMeter client is deploy.
    • JMeter servers Subnet
      Specify the subnet name and CIDR where the virtual machines of JMeter servers is deploy.

    If you selected an existing virtual network and that subnets have an NSG assigned, you need to apply the following rules to those NSGs:

    • JMeter client subnet
      • Allow inbound TCP/30000-65535 from JMeter servers subnet
      • Allow inbound TCP/3389,22 from terminal connecting to JMeter client
    • JMeter servers subnet
      • Allow inbound TCP/1099,3000-65535 from JMeter client subnet
  • "Storage" tab

    • File shareing storage account
      Specify the storage account to share data files and various settings to JMeter servers.
  • "JMeter client" tab
    • JMeter client Virtual Machine name
      Specify the host name of JMeter client.
    • Size
      Specify the instance size of JMeter client.
    • Public IP
      Specify the Public IP address for the JMeter client.
    • DNS name label(option)
      Specify the DNS Prefix for the JMeter client.
  • "JMeter servers" tab
    • Virtual machine scale set name
      Specify the virtual machine scale set name of JMeter servers.
    • Size
      Specify the instance size of JMeter servers.
    • Instance count
      Specify the number of JMeter servers.
    • Public IP address per instance
      If the servers to be tested by JMeter is on the Internet side, enable this option to give each JMeter servers a dedicated public IP address.

Network Security Group (NSG) is applied to the virtual machine NIC.

The following rules have been added to the NSG inbound security rules for JMeter client NIC:

  • Allow RDP(TCP/3389) from any connection source
  • Allow SSH(TCP/22) from any connection source

You should change this NSG settings to only allow connections from where you need it.

How to use

* "How to use Apache JMeter" is not included in this document.

Connect to JMeter client

Select your preferred type of operation, GUI with Remote Desktop or CLI with SSH.

Use for GUI

  1. Remote Desktop Connection

    1. Connect with Remote Desktop (RDP) from the client PC.

      • Computer : Input the Public IP Address found from the previous 'How to use' Section. It can also be found on the Summary Blade.
    2. The Remote Desktop screen appears and a dialog box of "Login to (virtual machine name)" is displayed. Set the following information and click [OK]

      • Session : Xvnc
      • username : The user name you specified when you deployed from Marketplace
      • password : The password you specified when you deployed from Marketplace
  2. Start JMeter application

    1. Double-click [jmeter] on the remote desktop screen.
    2. The following message is displayed only at the first startup. Click “Tsust and Launch”.

      "The application launcher "jmeter.desktop" has no been maked as trusted. If you do not know the source of this file, launching it may be unsafe."

    3. You can change the display language from [Choose Language] on the [Options] menu.

If you specified "SSH Shared key" as the Authentication type at the time of deployment, you need to log in to JMeter client with ssh and set the password before logging in with the GUI.

(login from ssh)
$ sudo passwd $USER
New password: <<enter password>>  
Retype new password: <<re-enter password>>  
passwd: password updated successfully  

Use for CLI

Please connect to JMeter client virtual machine and operate with SSH.

JMeter Path: /usr/local/jmeter

Distribute CSV Data files

Make CSV files in /mnt/csv on JMeter client.
All JMeter servers can read these because /mnt/csv is shared area and mounted from all JMeter servers.

Change instance size of JMeter client and JMeter servers

You can change the instance size of JMeter client and servers using Azure portal and Azure CLI etc.

Change number of JMeter servers

You can change the number of JMeter servers using Azure portal and Azure CLI etc.

After changing the number of JMeter servers, execute the following command to update the servers list referenced from JMeter client.
It update /usr/local/jmeter/bin/jmeter.properties file.

$ ~/refresh-jmeter-servers.sh

Adjast JAVA arguments

If you want to adjast JAVA arguments (for example, -Xmx, -Xms), refer to the following.

JMeter client

Update "JVMARGS" environment variable in .bashprofile.

JMeter servers

Modify the following "/mnt/systmp/jmeter-server-option.sh" file on JMeter client and restarting the virtual machine scale set of JMeter servers.

Updates for softwares

For the software version of CentOS and JMeter, the latest version at the time of registration in Marketplace has already been applied.

Please update CentOS and software as necessary.

FAQ

  • Can't connect to virtual machine with Remote Desktop
    • You need to be able to connect to Virtual Macine via TCP/3389 port. Please check the following.
      • Is it set to allow TCP/3389 inbound rule with Azure NSG assigned to subnet or NIC?
      • In the case of via Azure LoadBalancer, is the LoadBalancer properly forwarding to TCP / 3389 of the virtual machine?

Supports

Support is available at a charge.

  • Supported inquiries example
    • The target solution can not be deployed.
    • Virtual machines does not work properly after deployment
  • The following are not supported

If you wish to support, please contact below.

  • pnop, Inc. - Marketplace Solutions Support Sales
  • sales@pnop.co.jp

Apache®, Apache JMeter™, JMeter, and the feather logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks.