Project Details

Project Title: Develop Performance Farm Benchmarks and Website (2023)

Student: Anil Rundla

Mentor(s): Ilaria Battiston, sfrost

Organization: PostgreSQL


Live server address: http://140.211.168.145/

Gsoc project Link https://summerofcode.withgoogle.com/programs/2023/projects/W2YKA7jL

Github repo for the client: https://github.com/PGPerfFarm/pgperffarm/tree/master

Github repo for the Back-end: https://github.com/PGPerfFarm/pgperffarm_server


Pgperffarm

PostgreSQL is an excellent and progressively refined database management system. To test its performance, the Postgres Performance Farm (short for Pgperffarm) was born as a result of the efforts of GSOC developers in previous years. In order to improve Pgperffarm even more, this year the GSOC project was planned to be improved on the following aspects:

As a result of the project, the following features were implemented:

Client -:

The Client was a Python script that clones the PostgreSQL source code from a specific branch and creates a temporary PostgreSQL cluster. Then runs pgbench and collect the results and finally uploads the results to the backend.


The client Script is modified to run the custom queries and collect the explain plans and upload them to the backend. Eaplain plans are add in TPC-H benchmark. By generating and collecting EXPLAIN query plans, the performance farm can help users better understand the performance characteristics of their queries. This can be particularly helpful for identifying slow or inefficient queries and helping users optimize their database performance.

Server -:

The server is a Django application that provides a REST API to store and retrieve the results of the benchmarks. The server also provides a web interface to visualize the results.


The server is modified to store the explain plans and display them in the UI. The new Models is added to store the explaine plans and the new API is added to upload the explain plans to the server. Also the new Models is add for pgbench custom queries results and the new API is added to upload the custom queries results to the server. From server we can download the explain plans and pgbench custom queries configurations.

Contact me
LinkedIn GitHub