Scamper is a collection of RESTful libraries and frameworks, organized as a testbed for comparing the raw performance characteristics of each.
Each implementation exposes the same three endpoints:
GET /fast
blocks for 0 msGET /medium
blocks for 150 msGET /slow
blocks for 300 ms
Each endpoint responds with <h1>slept for { duration } ms</h1>
, where duration
is the actual amount of time spent blocking.
Each implementation runs on localhost:9000
and can be tested with a variety of tools, such as weighttp or JMeter.
For full test results, see the Wiki.
git clone git://github.com/Versal/scamper.git
brew install nodejs
npm install -g express
(cd scamper/node.js ; npm link express)
https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
Each server can be tested with JMeter or weighttp:
jmeter -n -t scamper/load-test.jmx
jmeter -n -t scamper/fast-test.jmx
weighttp -n 500000 -c 20 -t 4 -k http://localhost:9000/fast
(cd scamper/blueeyes ; sbt "run --configFile blueeyes.config")
(cd scamper/finagle ; sbt run)
(cd scamper/lift ; sbt run)
(cd scamper/pinky ; sbt update run)
(cd scamper/play2 ; sbt start)
(cd scamper/play2-mini ; sbt run)
(cd scamper/spray ; sbt "project simple-http-server" run)
(cd scamper/servlet-3.0 ; sbt run)
(cd scamper/servlet-3.0-async ; sbt run)
(cd scamper/scalatra ; sbt run)
(ulimit -n 4096 ; cd scamper/node.js ; node app.js)
(cd scamper/finatra ; sbt run)
(cd scamper/rubble ; sbt run)