Skip to content

HewlettPackard/Jery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github All Releases Docker Pulls

JERY

JERY is a Python 2.7 based simple database workload generator for Oracle and Enterprise Databases. It is designed to run in a special Docker image and it is streaming it's GUI through x11 to your host OS.



Table of Contents

To download install instructions use the readme.pdf (download)

This branch provides JERY which is a basic workload generator. However there is another version implementing a TPC-E like benchmark soltion called JERYe. If you are interested in JERYe, please refer to the branch MasterJERYe.

Usage Demo Video

  • Dedicated to Oracle and Enterprise DB
  • Mimic Business Intelligence workload (100% massive read)
  • Cluster aware
  • Create its own test schema based of "SCOTT" data
  • Generate CPU intensive activity
  • Generate high IO rate (tunable)
  • Can be user in user mode or in sysdba mode
  • Provide:
    • execution time for critical query
    • Number of transaction per minute
    • Total number of transaction per run
    • System statistics
  • Snapshot for AWR report
  • Ideal for:
    • System demonstration
    • Calibration
    • Performance comparison

However, JERY is not a benchmark tool

JERY is meant to run on Linux Systems only (primarily RHEL and CentOS). For this reason the following installation guide is mainly for RHEL. Since JERY is running in a Docker image, a recent version of Docker needs to be installed on the system.

Docker installation on RHEL

  1. Log into your machine as a user with sudo or root privileges
  2. Make sure your existing yum packages are up-to-date
$ sudo yum update
  1. Add the yum repo by yourself
$ sudo tee /etc/yum.repos.d/docker.repo <<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
  1. Install the Docker package
$ sudo yum install docker-engine
  1. Start the Docker daemon
$ sudo service docker start
  1. Verify docker is installed correctly by running a test image in a container
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
 latest: Pulling from hello-world
 a8219747be10: Pull complete
    91c95931e552: Already exists
    hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
    Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd1.7.1cf5daeb82aab55838d
    Status: Downloaded newer image for hello-world:latest
    Hello from Docker.
    This message shows that your installation appears to be working correctly.

    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (Assuming it was not already locally available.)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.

    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash

    For more examples and ideas, visit:
     http://docs.docker.com/userguide/

* copied from http://docs.master.dockerproject.org/engine/installation/linux/rhel/

Docker install guides for other linux distributions can be found under:

Installation Guide Video

JERY can either be downloaded from a Docker registry or from this GitHub page. These possibilities are described in the following.

Option 1: RECOMMENDED Pull latest image from Docker Hub

  1. Open a new terminal and type
 sudo docker pull oraclekc/jery
  1. Download the run script and execute it (download)

Option 2: Download latest build from GitHub page and import image

  • download the latest release from this GitHub page (download)
  • unzip the build file
  • open a new terminal and navigate to the unzipped file (jerydocker.tar)
  • import the unzipped file with
docker load < jerydocker.tar
  • download the run script and execute it (download)

Option 3: Download and import latest build from a private Docker registry

2.1) From within the HPE network

  1. Open a new terminal and type
 sudo su
  1. Login to HPE Docker Hub with your Windows NT credentials:
 docker login hub.docker.hpecorp.net
  1. Pull the jerydocker image with the command:
 docker pull hub.docker.hpecorp.net/oraclekc/jery:latest
  1. Rename the pulled image to jerydocker
 docker tag hub.docker.hpecorp.net/oraclekc/jery jerydocker
  1. Download the run script and execute it (download)

2.2 From within the EPC network

  1. Open a new terminal and type
sudo su
  1. Add dockerregistry.oracle.epc.ext.hpe.com:5000 as an insecure registry (how to)

  2. Execute the command:

docker pull dockerregistry.oracle.epc.ext.hpe.com:5000/jerydocker
  1. Rename the pulled image to jerydocker
 docker tag dockerregistry.oracle.epc.ext.hpe.com:5000/jerydocker jerydocker
  1. Download the run script and execute it (download)

There are two options for adding a registry with no authorization to Docker running on RHEL7 (on client which wants to push/pull to registry)

Option 1: Start Docker daemon with --insecure-registry

$ dockerd --insecure-registry= dockerregistry.oracle.epc.ext.hpe.com:5000

Option 2: Edit config of service to add --insecure-registry

Refer to https://docs.docker.com/engine/admin/ (CentOS / Red Hat Enterprise Linux / Fedora > Configuring Docker)

  1. Create the Docker config file
 $ sudo mkdir /etc/systemd/system/docker.service.d
 $ sudo nano /etc/systemd/system/docker.service.d/docker.conf
  1. Add the following to the created docker.conf:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -–insecure-registry=dockerregistry.oracle.epc.ext.hpe.com:5000
  1. reload + restart the Docker daemon
 $ sudo systemctl daemon-reload
 $ sudo systemctl restart docker
  1. Check if “dockerregistry.oracle.epc.ext.hpe.com:5000” is added to point “Insecure Registries” of docker info:
 $ docker info

The provided startup script offers the possibility to run JERY with an own configuration file in order to load predefined values. This can be done by downloading and editing the config.ini template. (download)

You can pass your own configuration to JERY with the command:

 $ ./run.sh /your/path/to/config.ini