Deploy HammerDB as a Web Application with CloudTK

From HammerDB v4.9 it is possible to deploy HammerDB through a web browser, giving you access to a fully functional HammerDB GUI in Cloud environments.

The quickest way to run HammerDB with CloudTk is through Docker and in this post will we demonstrate how to pull the HammerDB CloudTK Docker image and run it to start running HammerDB through your chosen browser.

Firstly, pull the Docker image:

$ sudo docker pull tpcorg/hammerdb:latest-cloudtk
latest-cloudtk: Pulling from tpcorg/hammerdb
96d54c3075c9: Pull complete
96261b8fec13: Pull complete
d2c2e5928320: Pull complete
4f4fb700ef54: Pull complete
0dcebfea4cd0: Pull complete
4fea0d72408b: Pull complete
4d35a83249fa: Pull complete
a20f97744e61: Pull complete
181fc9db3bb2: Pull complete
442899704ccd: Pull complete
Digest: sha256:a73903ba354f9a7f826a69e2e1f3f8b3523220927323d0ba913efe168917ec02
Status: Downloaded newer image for tpcorg/hammerdb:latest-cloudtk
docker.io/tpcorg/hammerdb:latest-cloudtk

And then run it. If you want access to functionality such as CPU metrics then you should use the –net-host option.

$ sudo docker run --net=host --name hammerdb-cloudtk tpcorg/hammerdb:latest-cloudtk
can't find package limit
Running with default file descriptor limit
/debug user "debug" password "sycu4xfc.gcw"
httpd started on port 8081
secure httpd started on SSL port 8082

Otherwise, you can only expose the ports as needed, as follows.

  docker run -p 8081:8081 -p 8082:8082 -p 8080:8080 --name hammerdb-cloudtk hammerdb:cloudtk

Once running, you can connect to the port 8081 for an unencrypted connection. Once connected, click on the launcher link.

If preferred, you can connect to an encrypted connection on port 8082. By default, sample self-signed certificates are installed, and these should be replaced by your own certificates.

Whichever connection method is used, click Submit Query on the HammerDB-CloudTK application.

HammerDB will then run fully contained within the browser.

You can change viewing options with the settings on the left of the screen.

You can now use HammerDB exactly as you would do with the GUI displayed on a local display.

The GUI can also be used for functionality to monitor your databases such as the PostgreSQL metrics.

The drag and drop functionality of these windows can be activated by dragging the tab to the title bar of the main HammerDB window.

It is also possible to start the HammerDB Web service from within the container by using the Jobs Options dialog to view the statistics from the jobs you have run.

Confirm that the web service is running.

and then connect to the web service on port 8080 using another tab in your browser. You can then view the charts related to the workloads you have run.

Finally, when you have finished with your HammerDB session use the tab on the left to disconnect.

HammerDB with CloudTk provides you with the option to deploy the HammerDB GUI as a web application. In this post we have demonstrated the easiest way to do this with Docker, however you can also deploy CloudTK within any HammerDB for Linux installation as described in the readme on the HammerDB CloudTK repository.