cossacklabs / acra

Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
https://www.cossacklabs.com/acra/
Apache License 2.0
1.35k stars 126 forks source link

Add docker-compose for benchmarks with collection profiling data #495

Closed Lagovas closed 2 years ago

Lagovas commented 2 years ago

Here added new run_transparent.sh script in benchmarks/ folder that runs simple commands that generate data in simple table and then read from database directly and through acra-server. That helps compare gap between DB and DB + Acra. It is simplified existing benchmark/run.sh script, with calling same logic as for direct database, but through acra-server in transparent mode too. Additionally added fetching profiling data from http debug server to analyze it with go tool pprof after that.

For now it's only for postgresql because used existing code that worked only with this db.

Checklist

iamnotacake commented 2 years ago

One thing that came to my mind is that we may want to store PostgreSQL's data (which by default lives in /var/lib/postgres/data or somewhere there) in tmpfs to ensure that the time needed to write/read all the columns data (directly, or through AcraServer) will be equal