From dc01f00afc9f23c1b0c3f81583be019f11b44d9e Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Sat, 27 Nov 2010 06:31:10 -0500 Subject: [PATCH] New benchmarks --- .../stress/{vshop => vs-hop}/.gitignore | 0 .../stress/{vshop => vs-hop}/Makefile | 0 .../stress/{vshop => vs-hop}/dynamic.rkt | 0 .../stress/{vshop => vs-hop}/static.rkt | 0 .../stress/vs-snap/FiringGeometry.png | Bin 0 -> 50991 bytes .../tests/web-server/stress/vs-snap/Makefile | 13 ++++++++++++ .../web-server/stress/vs-snap/dynamic.rkt | 19 ++++++++++++++++++ .../web-server/stress/vs-snap/static.rkt | 13 ++++++++++++ 8 files changed, 45 insertions(+) rename collects/tests/web-server/stress/{vshop => vs-hop}/.gitignore (100%) rename collects/tests/web-server/stress/{vshop => vs-hop}/Makefile (100%) rename collects/tests/web-server/stress/{vshop => vs-hop}/dynamic.rkt (100%) rename collects/tests/web-server/stress/{vshop => vs-hop}/static.rkt (100%) create mode 100644 collects/tests/web-server/stress/vs-snap/FiringGeometry.png create mode 100644 collects/tests/web-server/stress/vs-snap/Makefile create mode 100644 collects/tests/web-server/stress/vs-snap/dynamic.rkt create mode 100644 collects/tests/web-server/stress/vs-snap/static.rkt diff --git a/collects/tests/web-server/stress/vshop/.gitignore b/collects/tests/web-server/stress/vs-hop/.gitignore similarity index 100% rename from collects/tests/web-server/stress/vshop/.gitignore rename to collects/tests/web-server/stress/vs-hop/.gitignore diff --git a/collects/tests/web-server/stress/vshop/Makefile b/collects/tests/web-server/stress/vs-hop/Makefile similarity index 100% rename from collects/tests/web-server/stress/vshop/Makefile rename to collects/tests/web-server/stress/vs-hop/Makefile diff --git a/collects/tests/web-server/stress/vshop/dynamic.rkt b/collects/tests/web-server/stress/vs-hop/dynamic.rkt similarity index 100% rename from collects/tests/web-server/stress/vshop/dynamic.rkt rename to collects/tests/web-server/stress/vs-hop/dynamic.rkt diff --git a/collects/tests/web-server/stress/vshop/static.rkt b/collects/tests/web-server/stress/vs-hop/static.rkt similarity index 100% rename from collects/tests/web-server/stress/vshop/static.rkt rename to collects/tests/web-server/stress/vs-hop/static.rkt diff --git a/collects/tests/web-server/stress/vs-snap/FiringGeometry.png b/collects/tests/web-server/stress/vs-snap/FiringGeometry.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c189a4fc98c3ef72a54ecd6159d245a0e706bc GIT binary patch literal 50991 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ⅇu4$PNrO!`^j?OgNlP)!WqxZ1yy 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 P4g6DqX)0FSw+#J%!|TMT literal 0 HcmV?d00001 diff --git a/collects/tests/web-server/stress/vs-snap/Makefile b/collects/tests/web-server/stress/vs-snap/Makefile new file mode 100644 index 0000000000..4f96c28416 --- /dev/null +++ b/collects/tests/web-server/stress/vs-snap/Makefile @@ -0,0 +1,13 @@ +dyn-server: dynamic.rkt + ulimit -n 10000 + racket -t dynamic.rkt + +stat-server: static.rkt + ulimit -n 10000 + racket -t static.rkt + +dyn-httperf: + httperf --hog --num-conns 1000 --num-calls 1000 --burst-length 20 --port 8000 --rate 1000 --uri=/pong + +stat-httperf: + httperf --hog --num-conns 1000 --num-calls 1000 --burst-length 20 --port 8001 --rate 1000 --uri=/FiringGeometry.png diff --git a/collects/tests/web-server/stress/vs-snap/dynamic.rkt b/collects/tests/web-server/stress/vs-snap/dynamic.rkt new file mode 100644 index 0000000000..8d9d3f8a5f --- /dev/null +++ b/collects/tests/web-server/stress/vs-snap/dynamic.rkt @@ -0,0 +1,19 @@ +#lang racket/base +(require web-server/servlet-env + web-server/http + racket/list) + +(define resp + (make-response/full + 200 #"Okay" + (current-seconds) TEXT/HTML-MIME-TYPE + empty + (list #"PONG"))) + +(define (start req) + resp) + +(serve/servlet start + #:servlet-regexp #rx"" + #:port 8000 + #:command-line? #t) diff --git a/collects/tests/web-server/stress/vs-snap/static.rkt b/collects/tests/web-server/stress/vs-snap/static.rkt new file mode 100644 index 0000000000..d8ddbe5350 --- /dev/null +++ b/collects/tests/web-server/stress/vs-snap/static.rkt @@ -0,0 +1,13 @@ +#lang racket/base +(require web-server/servlet-dispatch + racket/runtime-path + web-server/dispatchers/dispatch-files) + +(define-runtime-path static-path "FiringGeometry.png") + +(serve/launch/wait + (λ (sema) + (make #:url->path (λ (url) (values static-path null)))) + #:launch-path #f + #:banner? #f + #:port 8001) \ No newline at end of file