itrofimow b86d7f68c6 [C++] [userver] fix Dockerfiles (#8378) 2 years ago
..
userver_benchmark 4454fa6d8d [C++] [userver] bump userver commit, tweak PG once more (#8345) 2 years ago
userver_configs 4454fa6d8d [C++] [userver] bump userver commit, tweak PG once more (#8345) 2 years ago
README.md 1da2e9b8d2 [C++] [userver] Restructure the benchmark a bit and add a separate lower-level configuration (#7819) 2 years ago
benchmark_config.json 71975bb845 [C++] [userver] Implement Fortunes benchmark and bump userver commit (#8049) 2 years ago
config.toml 71975bb845 [C++] [userver] Implement Fortunes benchmark and bump userver commit (#8049) 2 years ago
userver-bare.dockerfile b86d7f68c6 [C++] [userver] fix Dockerfiles (#8378) 2 years ago
userver.dockerfile b86d7f68c6 [C++] [userver] fix Dockerfiles (#8378) 2 years ago

README.md

userver Benchmarking Test

This is the userver portion of a benchmarking test suite comparing a variety of web development platforms.

This benchmarks comes in two configurations: userver and userver-bare, where both configurations use exactly the same handlers code, but userver-bare replaces default http implementation of userver with custom one.
You see, userver being feature-rich framework widely used in production comes with a lot of useful functionality built-in (metrics, dynamic configuring, logging/tracing, congestion control etc...) none of which is of any use in benchmarks; although most of that can be disabled via configs, some parts remain, and these parts aren't free.
The aim of userver-bare is to explore practical limits of lower-level userver functionality when performance is an absolute must, while still being idiomatic userver code.

Test Type Implementation Source Code

Test URLs

Plaintext

http://localhost:8080/plaintext

Json

http://localhost:8080/json

Single Database Query

http://localhost:8080/db

Multiple Database Queries

http://localhost:8080/queries

Database Updates

http://localhost:8080/updates

Cached Queries

http://localhost:8080/cached-queries