Skip to content

Commit 95f7c5d

Browse files
committed
Update the README.md file to reflect the library and tools ideas
1 parent 536cd19 commit 95f7c5d

File tree

2 files changed

+42
-6
lines changed

2 files changed

+42
-6
lines changed

README.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
1-
# perfkit
1+
# Acronis perfkit
22

3-
perfkit is a set of performance tools.
3+
The **perfkit** is a comprehensive Go library and a suite of ready-to-use performance testing tools, designed to streamline development, benchmarking and analysis of various systems, including databases and cloud-based infrastructure.
44

55
It includes:
66
* [benchmark](benchmark) - a library for writing benchmarks
7-
* [db](db) - a library for working with databases
8-
* [acronis-db-bench](acronis-db-bench) - a tool to run database benchmarks
9-
* [acronis-restrelay-bench](acronis-restrelay-bench) - a tool to run end-to-end cloud deployment benchmarks
7+
* [db](db) - a library for interacting with databases, offering an abstraction layer to facilitate database operations
8+
* [acronis-db-bench](acronis-db-bench) - A tool for benchmarking SQL and NoSQL database performance
9+
* [acronis-restrelay-bench](acronis-restrelay-bench) - A tool for benchmarking cloud deployments and REST API workloads
10+
11+
# Ready-to-use benchmarks
12+
13+
## Acronis Database Benchmark (acronis-db-bench)
14+
15+
The Acronis Database Benchmark is a comprehensive framework for testing and analyzing the performance of various database systems. It supports a wide range of both SQL and NoSQL databases, such as MySQL, PostgreSQL, Cassandra, ClickHouse, ElasticSearch and more, making it a powerful tool for cross-database performance comparisons. The tool provides extensive support for different data access patterns, including inserts, updates, facet searches, indexed searches, vector searches, and others, allowing for a detailed exploration of how each database handles different query types and workloads.
16+
17+
With built-in features for simulating multi-tenant environments, the benchmark can model real-world SaaS-like scenarios where multiple tenants access shared resources. Additionally, it offers advanced logging and diagnostic features that help developers and database administrators quickly identify and troubleshoot performance issues. The tool is ideal for assessing the impact of various database configurations, comparing the overhead of database clusters versus single instances, and analyzing performance bottlenecks under concurrent workloads. It also enables users to evaluate how databases perform under high-cardinality data, different indexing strategies, and various levels of hardware and virtualization environments. This makes it highly suitable for optimizing database systems and ensuring efficient performance in production-like environments.
18+
19+
## Acronis REST-relay Benchmark (acronis-restrelay-bench)
20+
21+
The Acronis REST-Relay Benchmark is a powerful tool designed for evaluating server infrastructure performance under various workloads. It consists of two main components: a REST HTTP client and a REST API server, which can be deployed in multiple instances to simulate different environments. The tool is ideal for performance researchers who want to analyze server behavior under load, compare hardware or virtualized environments, and fine-tune configurations. It allows detailed customization of client parameters and server actions such as memory allocation, CPU-intensive tasks, and request forwarding, offering comprehensive insights into system performance and bottlenecks in complex deployment scenarios.
22+
23+
The benchmark is particularly useful for comparing performance across bare-metal, VM, and Kubernetes environments, enabling users to identify the optimal configuration for production environments. Additionally, it supports tuning CPU and memory limits in VMs or Kubernetes pods to assess their impact on performance. With extensive logging and detailed metrics reporting, it provides valuable feedback for troubleshooting and optimizing infrastructure settings for REST API-based applications. Whether you're testing different hardware setups, simulating complex REST API workloads, or investigating concurrency issues, the Acronis REST-Relay Benchmark offers the flexibility needed for rigorous performance testing and analysis.
24+
25+
# Developing your own benchmarks
1026

1127
## Getting Started
1228

acronis-db-bench/README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11
# Acronis Database Benchmark
22

3-
This project provides a set of benchmarking utilities for various databases. It includes various tests and options for database performance analysis.
3+
The Acronis Database Benchmark provides an extensive suite of tests designed to cover a wide range of database performance scenarios. It addresses both typical queries and edge cases, allowing you to adjust parameters and explore the impact of different data access patterns on performance. This makes it ideal for testing scenarios such as high-concurrency inserts, complex updates, and various types of searches, including facet, indexed, and vector-based searches
4+
5+
Core features of the tool:
6+
7+
* Coverage of both SQL and NoSQL engines, allowing direct comparisons between different database technologies.
8+
* Support for various data access patterns such as insert, update, facet search, indexed search, and vector search.
9+
* Simulation of typical patterns in multi-tenant environments, enabling testing in SaaS-like scenarios.
10+
* Support of queries using [CTI](https://github.com/acronis/go-cti) data types.
11+
* Advanced logging facilities helping developers and DBA engineers troubleshoot discovered issues faster.
12+
13+
Use Cases:
14+
15+
* Compare the efficiency of different database engines.
16+
* Test the impact of hardware and virtualized environments on database performance.
17+
* Measure the performance overhead of database cluster solutions compared to a single database instance.
18+
* Analyze the impact of different database configuration parameters on overall performance.
19+
* Compare the performance and resource utilization of single-tenant versus multi-tenant data structures and queries.
20+
* Simulate and research performance issues related to high-cardinality datasets.
21+
* Investigate the effectiveness of indexing strategies and their impact on query performance.
22+
* Evaluate how well databases handle multiple concurrent transactions and identify potential bottlenecks.
23+
* Model and analyze production-like datasets and queries for rapid assessment of initial database performance limits.
424

525
## Supported Databases
626

0 commit comments

Comments
 (0)