Skip to content

Commit 30638c8

Browse files
chore: raise default memory limit from 64MB to 128MB
1 parent efb32ba commit 30638c8

5 files changed

Lines changed: 6 additions & 6 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Health: `GET /healthz` · `GET /readyz` · Metrics: `GET /metrics`
133133
| `redis-ha.enabled` | `true` | Deploy embedded Redis HA |
134134
| `gateway.enabled` | `false` | Create gateway service |
135135
| `ingress.enabled` | `false` | Enable ingress |
136-
| `performance.memoryLimitMb` | `64` | Memory budget for streaming concurrency |
136+
| `performance.memoryLimitMb` | `128` | Memory budget for streaming concurrency |
137137

138138
See [chart/README.md](chart/README.md) for all options.
139139

chart/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ helm install s3proxy oci://ghcr.io/serversidehannes/s3proxy-python/charts/s3prox
2121
| `s3.region` | `us-east-1` | AWS region |
2222
| `server.port` | `4433` | Proxy listen port |
2323
| `server.noTls` | `true` | Disable TLS (in-cluster only) |
24-
| `performance.memoryLimitMb` | `64` | Memory budget for streaming |
24+
| `performance.memoryLimitMb` | `128` | Memory budget for streaming |
2525
| `logLevel` | `DEBUG` | Log level |
2626
| `secrets.encryptKey` | `""` | AES-256 encryption key |
2727
| `secrets.awsAccessKeyId` | `""` | AWS access key |

chart/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ server:
1616
noTls: true
1717

1818
performance:
19-
memoryLimitMb: 64
19+
memoryLimitMb: 128
2020

2121
externalRedis:
2222
url: ""

s3proxy/concurrency.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class ConcurrencyLimiter:
4848
when the configured limit would be exceeded.
4949
"""
5050

51-
def __init__(self, limit_mb: int = 64) -> None:
51+
def __init__(self, limit_mb: int = 128) -> None:
5252
self._limit_mb = limit_mb
5353
self._limit_bytes = limit_mb * 1024 * 1024
5454
self._active_bytes = 0
@@ -122,7 +122,7 @@ async def release(self, bytes_reserved: int) -> None:
122122

123123
# Default instance used by module-level functions
124124
_default = ConcurrencyLimiter(
125-
limit_mb=int(os.environ.get("S3PROXY_MEMORY_LIMIT_MB", "64"))
125+
limit_mb=int(os.environ.get("S3PROXY_MEMORY_LIMIT_MB", "128"))
126126
)
127127

128128

s3proxy/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Settings(BaseSettings):
2929
# This is the ONLY setting needed for OOM protection.
3030
# Use nginx proxy-body-size at ingress to reject oversized requests before they reach Python.
3131
memory_limit_mb: int = Field(
32-
default=64,
32+
default=128,
3333
description="Memory budget for concurrent requests in MB. 0=unlimited. "
3434
"Small files use content_length*2, large files use 8MB (streaming). "
3535
"Excess requests get 503.",

0 commit comments

Comments
 (0)