@Override
  public void shutdown() {
    logger.info("Shutting down PerfNioServer");
    try {
      if (loadCreator.shutdown(10, TimeUnit.SECONDS)) {
        logger.info("PerfNioServer shutdown complete");
      } else {
        logger.info("PerfNioServer shutdown did not complete");
      }
    } catch (InterruptedException e) {
      logger.error("PerfNioServer shutdown was interrupted", e);
    }
  }
Creates an instance of PerfNioServer.
@param perfConfig an instance of {@link PerfConfig} that determines behavior.
@param perfNioServerMetrics the {@link PerfNioServerMetrics} instance to use to record metrics.
@param restRequestHandler the instance of {@link RestRequestHandler} to use to handle requests.
ambry-tools/src/main/java/com/github/ambry/tools/perf/rest/PerfNioServer.java