n0derunner

    How to run vdbench benchmark on any HCI with X-Ray

    Published: (Updated: ) in X-Ray, , by .

    Many storage performance testers are familiar with vdbench, and wish to use it to test Hyper-Converged (HCI) performance. To accurately performance test HCI you need to deploy workloads on all HCI nodes. However, deploying multiple VMs and coordinating vdbench can be tricky, so with X-ray we provide an easy way to run vdbench at scale. Here’s how to do it.

    Step by step instructions to add vdbench to X-Ray.

    1. Download vdbench from the Oracle site
    2. Get the vdbench x-ray test scenario from github https://github.com/garyjlittle/xray.git
      • (You can clone the repository to a laptop, then upload to your X-Ray server)
    3. Rename the zip file downloaded from Oracle to vdbench.zip The X-ray scenerio relies on the zip file having exactly this name.
    4. Go to your X-ray server and upload the vdbench.zip file and the vdbench x-ray scenario files to the x-ray server.
    5. Ensure that VMs created on the cluster will have access to the internet, they will need to be able to install a JVM in order to run vdbench.

    Then simply run the vdbench workload against your HCI appliance just like you would with the build-in X-ray tests. The result should look something like this

    Alternatively use the built-in Grafana display

    vdbench workload read IOPS
    vdbench workload write IOPS

    Once you have the basics working, feel free to write whatever vdbench file you desire, and have X-ray provision multiple Linux vms then deploy, run the and display results of the vdbench workload for you.

    This example vdbench file is supplied with the scenario.

    Comments

    • Hello,
      I can not operating vdbench of xray.
      I checked below log to xray. Could you help me?

      Xray stop FILL : Prefilling of step.
      =================
      2022-02-16 06:20:26,439Z WARNING rpc_util.py:305 RPC failed. Retrying after ’16’ seconds (17 of 20 attempts)
      2022-02-16 06:20:42,459Z ERROR rpc_util.py:254 Exception in RPC request
      Traceback (most recent call last):
      File “/usr/lib/python2.7/site-packages/curie/rpc_util.py”, line 243, in _send_rpc_sync
      timeout=timeout_secs)
      File “/usr/lib/python2.7/site-packages/requests/api.py”, line 116, in post
      return request(‘post’, url, data=data, json=json, **kwargs)
      File “/usr/lib/python2.7/site-packages/requests/api.py”, line 60, in request
      return session.request(method=method, url=url, **kwargs)
      File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 533, in request
      resp = self.send(prep, **send_kwargs)
      File “/usr/lib/python2.7/site-packages/requests/sessions.py”, line 646, in send
      r = adapter.send(request, **kwargs)
      File “/usr/lib/python2.7/site-packages/requests/adapters.py”, line 516, in send
      raise ConnectionError(e, request=request)
      ==================

      • Can you post your test.yml file? Sometimes this error comes from using large disks and the prefill stage times out.

    Leave a Comment