Project for testing web-service implementations.
Java Shell Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
artifacts
gradle updated gradle wrapper to 1.11 for java 8 support May 9, 2014
test-results test results from April 2015 Sep 9, 2015
ws-backend-mock Upgrading rxnetty dependency & fixed the delay for a test in servlet … Mar 25, 2015
ws-client Upgrading rxnetty dependency & fixed the delay for a test in servlet … Mar 25, 2015
ws-impls Removing additional string conversion in blocking servlet impl. Mar 27, 2015
.gitignore bio blocking and other changes Oct 22, 2013
LICENSE Restructure into smaller files Apr 2, 2012
README.md Fixed the links Jul 9, 2014
build.gradle updated gradle wrapper to 1.11 for java 8 support May 9, 2014
gradle.properties
gradlew
gradlew.bat Upgrade to Gradle 1.1. Aug 17, 2012
settings.gradle Removed jetty impl module. Feb 8, 2015

README.md

WSPerfLab

Project for testing web-service implementations.

The intent of the test design is to simulate behavior typical of real-world web service applications.

This includes things such as:

  • parallel network execution to backend services
  • multiple (5 in this case) backend services
  • conditional request flows (C and D require data from A, E requires data from B)
  • JSON deserialization and serialization
  • work such as math, iteration, string manipulation (not just proxying a stream of bytes)

Structure

The test setup will consist of the 3 layers:

ws-backend-mock <- ws-impls <- ws-client

The ws-backend-mock is a simple Java backend app accepting request arguments to affect its response size and latency.

The various test implementations are intended to each implement the same logic with different architectures, languages and frameworks.

The ws-client will drive the traffic and capture performance metrics.

Metrics to be captured are:

  • client-side end-to-end latency for entire trip including network
  • response payload size

Test Implementations

Information about test cases and implementation requirements can be found in the ws-impls README.

Statistics and Report