Nine database round trips per login multiply the injected delay to 1.9 seconds, and connection pool queueing multiplies it again under twenty concurrent requests. The readiness probe joins the same queue and times out, so the node leaves the load balancer and pushes its load onto the one still standing. Two injections missed first: the guest interface is enp1s0 rather than eth0, and a filter on it can never match a pod IP because flannel has already encapsulated the packet. The delay has to go on flannel.1, before encapsulation. The predicted rise in optimistic lock conflicts did not happen, because logins insert new rows rather than contending for one. That belongs to B-3. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
23 lines
817 B
Plaintext
23 lines
817 B
Plaintext
=== 배치 — 왜 A/B 가 되는가 ===
|
|
postgres 10.42.1.76 (kc-lab-2)
|
|
keycloak-0 10.42.1.77 (kc-lab-2) → DB 와 같은 노드, cni0 로 직행
|
|
keycloak-1 10.42.0.42 (kc-lab-1) → DB 와 다른 노드, VXLAN 을 건넌다 ← 여기에 지연을 건다
|
|
|
|
=== 사용 가능한 커넥션 풀 지표 ===
|
|
agroal_acquire_count_total
|
|
agroal_active_count
|
|
agroal_available_count
|
|
agroal_awaiting_count
|
|
agroal_blocking_time_average_milliseconds
|
|
agroal_blocking_time_max_milliseconds
|
|
agroal_blocking_time_total_milliseconds
|
|
agroal_creation_count_total
|
|
agroal_creation_time_average_milliseconds
|
|
agroal_creation_time_max_milliseconds
|
|
agroal_creation_time_total_milliseconds
|
|
agroal_destroy_count_total
|
|
|
|
=== 기준선 지연 — 각 노드에서 로그인 20회 ===
|
|
keycloak-0 평균 70 ms
|
|
keycloak-1 평균 66 ms
|