Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove: 9999 limit on MB #101

Closed
jmealo opened this issue Nov 27, 2024 · 4 comments
Closed

Remove: 9999 limit on MB #101

jmealo opened this issue Nov 27, 2024 · 4 comments
Labels
feature Feature request

Comments

@jmealo
Copy link
Contributor

jmealo commented Nov 27, 2024

Is your feature request related to a problem? Please describe.
It would be nice if we could specify higher values in megabytes (or allow for decimal places in GB).

Describe the solution you'd like
To remove the 9999 limit on MB.

Describe alternatives you've considered
Forking.

Additional context
Kubernetes resource limits aren't going to have a clear boundary on GB, so MB is the best option.

@le0pard
Copy link
Owner

le0pard commented Nov 27, 2024

Hello. I dont get issue to select unit "MB", if you need "MB". Nobody will use "23846 MB", because in this case easy just switch to GB

Screenshot 2024-11-27 at 23 13 50

@jmealo
Copy link
Contributor Author

jmealo commented Nov 27, 2024

@le0pard: Thank you for the quick response.

  • On physical hardware, your argument makes sense.
  • On Docker/K8s/Cloud, you rarely have memory allocations that align to GB boundaries.

Use case:

  • I need to enter things like 11328MB (see table below for why).
  • Validation doesn't allow 11.328GB (or any fractional units)
  • There's no reason to have the arbitrary 9999 limitation -- removing it didn't break anything AFAICT.

These are some real values that I have to work with. For example, on Azure AKS:

 Node Memory (GB) | Node vCPU | PostgreSQL Memory Limit (Mi) | PostgreSQL CPU Limit (m) | Pooler Memory Limit (Mi) | Pooler CPU Limit (m) |
|-----------------:|----------:|-----------------------------:|-------------------------:|-------------------------:|---------------------:|
|                8 |         2 |                         6352 |                     1170 |                      128 |                  200 |
|               16 |         4 |                        13725 |                     2934 |                      128 |                  200 |
|               32 |         8 |                        28470 |                     6498 |                      128 |                  200 |
|               64 |        16 |                        57961 |                    13626 |                      128 |                  200 |
|               96 |        24 |                        87453 |                    20394 |                      128 |                  200 |
|              128 |        32 |                       116944 |                    27882 |                      128 |                  200 |
|              256 |        64 |                       234909 |                    56394 |                      128 |                  200 |

For folks hosting PostgreSQL on Kubernetes. The allocatable memory is almost never on a hard GB boundary. It varies by node/instance type.

We're already paying a 35% to 15% memory overhead penalty, so the idea of just truncating our MB to full-gigabytes to workaround an arbitrary limitation doesn't really serve users well.

@jmealo
Copy link
Contributor Author

jmealo commented Nov 27, 2024

I'm happy to remove the non-memory max limit increases as well. I just figured for consistency's sake, the removal of arbitrary limits would be an overall improvement for UX and future proofing things.

jmealo added a commit to jmealo/pgtune that referenced this issue Nov 29, 2024
jmealo added a commit to jmealo/pgtune that referenced this issue Nov 29, 2024
le0pard added a commit that referenced this issue Nov 29, 2024
Feature: Remove arbitrary maximum integer values. Implements #101
@le0pard
Copy link
Owner

le0pard commented Nov 29, 2024

resolved by #102

@le0pard le0pard closed this as completed Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature request
Projects
None yet
Development

No branches or pull requests

2 participants