vitabaks / postgresql_cluster

PostgreSQL High-Availability Cluster (based on Patroni). Automating with Ansible.
https://postgresql-cluster.org
MIT License
1.83k stars 418 forks source link

Hetzner server types #784

Open schonert opened 1 month ago

schonert commented 1 month ago

This is awesome!

Would we be able to add more server types to the hetzner list? https://github.com/vitabaks/postgresql_cluster/blob/c9c9f02d0dd7991e3966f0e6c35dd4f3d3c45af0/console/db/migrations/20240520144338_2.0.0_initial_scheme_setup.sql#L295-L302

I could stitch together a PR - altho not sure if there's a good reason to limit it to these 8.

vitabaks commented 1 month ago

Hi. Yes, we can add other types. Which ones are you interested in?

As far as I recall, all available server types are included, except for shared CPUs, which were not added because they are not recommended for production use.

Additionally, you can modify or add types in the database of your console installation.

schonert commented 1 month ago

I was interested in beefier shared CPUs. So CX32 and above, CPX31 and above, and CAX21 and above.

Not under the impression that they are not recommended for production?

Additionally, you can modify or add types in the database of your console installation.

Arhh great point!

vitabaks commented 1 month ago

I see that only 6 types of servers are present with a dedicated CPU:

image

All of them are in the console database.

I was interested in beefier shared CPUs. So CX32 and above, CPX31 and above, and CAX21 and above.

Servers with shared vCPUs are not suitable for production databases because they do not guarantee consistent performance. Virtual CPUs on these servers are shared among multiple virtual machines, which can lead to unpredictable delays and reduced speed under heavy workloads. This is particularly critical for databases, where steady access to resources is essential to ensure low-latency responses and stable performance under load.

I could stitch together a PR - altho not sure if there's a good reason to limit it to these 8.

Yes, we could add all available types (with the exception of arm, since its support has not yet been implemented), but in this case it is necessary to explicitly mark the "Shared vCPU" types in the UI.