Versions Compared

Key

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

...

Performance test tool design

The general goal is to have an extendable performance test framework that will drive the Knox Gateway configured by different use cases.

Some initial requirements of this framework:

  • easy to extend with new use-cases
  • has the ability to execute long-running jobs
  • has the ability to connect to it and query different metrics
  • generate meaningful and easy-to-read reports of those metrics automatically (in configurable time periods)

In the first phase, the task was to conduct and codify performance testing for scalability and performance benchmarking with concurrent clients, with long-running jobs that stress the backend of the token state server store:

  • use different token state server implementations
  • turn on/off the token state service mechanism
  • use concurrent clients who dealing with tokens (make sure they actually use the tokens and periodically renew them)

The tool itself is fed by its own configuration file located in $YOUR_KNOX_PROJECT_ROOT/gateway-performance-test/src/test/resources/performance.test.configuration.properties:

...

To be able to execute the last item, before running the Knox gateway you are testing against, the following environment variable configuration should be set done:

  1. Set KNOX_GATEWAY_DBG_OPTS environment variable as follows: 
Code Block
export KNOX_GATEWAY_DBG_OPTS="$KNOX_GATEWAY_DBG_OPTS -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

      2. Enable JMX reporting in gateway-site.xml:

Code Block
    <property>
        <name>gateway.metrics.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>gateway.jmx.metrics.reporting.enabled</name>
        <value>true</value>
    </property>


How to run

Running the performance tool is as simple as running the following Maven command in the project root:

...