In this document you will find benchmark results for different endpoints of ORY Hydra. All benchmarks are executed using rakyll/hey. Please note that these benchmarks run against the in-memory storage adapter of ORY Hydra. These benchmarks represent what performance you would get with a zero-overhead database implementation.
We do not include benchmarks against databases (e.g. MySQL, PostgreSQL or CockroachDB) as the performance greatly differs between deployments (e.g. request latency, database configuration) and tweaking individual things may greatly improve performance. We believe, for that reason, that benchmark results for these database adapters are difficult to generalize and potentially deceiving. They are thus not included.
This file is updated on every push to master. It thus represents the benchmark data for the latest version.
All benchmarks run 10.000 requests in total, with 100 concurrent requests. All benchmarks run on Circle-CI with a "2 CPU cores and 4GB RAM" configuration.
ORY Hydra uses BCrypt to obfuscate secrets of OAuth 2.0 Clients. When using
flows such as the OAuth 2.0 Client Credentials Grant, ORY Hydra validates the
client credentials using BCrypt which causes (by design) CPU load. CPU load and
performance depend on the BCrypt cost which can be set using the environment
BCRYPT_COST. For these benchmarks, we have set
This section contains various benchmarks against OAuth 2.0 endpoints
This endpoint uses BCrypt.
This endpoint uses BCrypt and generates IDs and secrets by reading from which negatively impacts performance. Performance will be better if IDs and secrets are set in the request as opposed to generated by ORY Hydra.