From 1940ec927ca74429b7c6359b05acf1eaf0ec51bf Mon Sep 17 00:00:00 2001 From: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com> Date: Mon, 24 Feb 2020 15:09:24 -0600 Subject: [PATCH] Dynamic Variables and Improved Benchmark files (#60) * Environment set and dynamic * Removed local setting file added by mistake * Benchmarks now working with dynamic environment variables make file pass in FACTOR and USE_MIDDLEWARE * Removing messages I had added because the output looked cluttered - Improving the output could be helpful - Kept the order in the makefile * clarify the number output meaning --- bench/Makefile | 36 ++++++++++++++++++------------------ bench/run | 9 +++++---- bench/server.js | 10 ++++++---- package.json | 1 + 4 files changed, 30 insertions(+), 26 deletions(-) diff --git a/bench/Makefile b/bench/Makefile index 8d7bbb7..72f2f5c 100644 --- a/bench/Makefile +++ b/bench/Makefile @@ -1,23 +1,23 @@ all: middleware middleware: - @./run 1 false - @./run 5 false - @./run 10 false - @./run 20 false - @./run 50 false - @./run 100 false - @./run 200 false - @./run 500 false - @./run 1000 false - @./run 1 true - @./run 5 true - @./run 10 true - @./run 20 true - @./run 50 true - @./run 100 true - @./run 200 true - @./run 500 true - @./run 1000 true + @sh ./run 1 false + @sh ./run 5 false + @sh ./run 10 false + @sh ./run 20 false + @sh ./run 50 false + @sh ./run 100 false + @sh ./run 200 false + @sh ./run 500 false + @sh ./run 1000 false + @sh ./run 1 true + @sh ./run 5 true + @sh ./run 10 true + @sh ./run 20 true + @sh ./run 50 true + @sh ./run 100 true + @sh ./run 200 true + @sh ./run 500 true + @sh ./run 1000 true .PHONY: all middleware diff --git a/bench/run b/bench/run index ef2bba5..c4e49b2 100755 --- a/bench/run +++ b/bench/run @@ -1,11 +1,11 @@ -#!/usr/bin/env bash +#!/bin/env bash set -e - +set -o allexport; source "$(dirname $0)/../.env"; set +o allexport export FACTOR=$1 export USE_MIDDLEWARE=$2 -host="http://localhost:3333" +host="http://localhost:$PORT" node "$(dirname $0)/server.js" & @@ -27,4 +27,5 @@ wrk "$host/10/child/grandchild/%40" \ | grep 'Requests/sec' \ | awk '{ print " " $2 }' -kill $pid +kill $pid +exit \ No newline at end of file diff --git a/bench/server.js b/bench/server.js index 8161c11..d3ac4e1 100644 --- a/bench/server.js +++ b/bench/server.js @@ -1,12 +1,14 @@ const Koa = require('koa'); const Router = require('../'); +const env = require('@ladjs/env')({path:'../.env', includeProcessEnv: true, +assignToProcessEnv: true,}); const app = new Koa(); const router = new Router(); const ok = ctx => ctx.status = 200; -const n = parseInt(process.env.FACTOR || '10', 10); -const useMiddleware = process.env.USE_MIDDLEWARE === 'true'; +const n = parseInt(env.FACTOR || '10', 10); +const useMiddleware = env.USE_MIDDLEWARE === 'true'; router.get('/_health', ok); @@ -42,6 +44,6 @@ if (process.env.DEBUG) { app.use(router.routes()); -process.stdout.write(`mw: ${useMiddleware} factor: ${n}`); +process.stdout.write(`mw: ${useMiddleware} factor: ${n} requests/sec`); -app.listen(3333); +app.listen(env.PORT); diff --git a/package.json b/package.json index b55611b..ad49b6c 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "urijs": "^1.19.2" }, "devDependencies": { + "@ladjs/env": "^1.0.0", "expect.js": "^0.3.1", "jsdoc-to-markdown": "^5.0.3", "koa": "^2.11.0",