fix(forgejo): raise Gitea CPU limit — it was throttled 16% of the time #93

Merged
rock merged 1 commits from fix/forgejo-gitea-cpu-limits into main 2026-11-01 03:27:58 +00:00
Showing only changes of commit f81db119f4 - Show all commits
@@ -134,12 +134,31 @@ ingress:
# wildcard. The wildcard covers this host. # wildcard. The wildcard covers this host.
# Resources # Resources
#
# The 1000m ceiling throttled Gitea badly. Measured on a running pod:
# nr_throttled 189528 of 1169014 CFS periods (16.2%)
# throttled_usec 4424898602 us (~74 minutes lost)
# actual usage 951m against the 1000m limit
# The visible symptom was slow Actions traffic: FetchTask took 3469.9ms and
# repository compare endpoints took 3091-3811ms, so runners timed out and
# retried, which added more load to an already saturated process.
#
# The database was never the bottleneck. A real action_runner UPDATE measured
# 2.133ms with zero lock waits, so this is CPU starvation in Gitea itself.
#
# requests.cpu rises to 750m because a request below real usage earns the pod
# little scheduling weight during contention. limits.cpu rises to 3000m
# because diff computation is bursty and needs room to run without throttling.
#
# Caution: this pod runs on talos-cp-3, a control-plane node. 3000m is 25% of
# that node's 11950m allocatable CPU. If Gitea sustains near this limit, move
# the workload off the control plane rather than raising the limit again.
resources: resources:
requests: requests:
cpu: 200m cpu: 750m
memory: 512Mi memory: 768Mi
limits: limits:
cpu: 1000m cpu: 3000m
memory: 2Gi memory: 2Gi
# Tolerations for control-plane # Tolerations for control-plane