When optimizing performance, ensure hot paths do only the minimum required work and never block while holding scarce resources. Apply these rules:

Example (secret gating + pooled Redis around outbound call):

-- Guard per-request deep work
if secret.has_secret_ref(upstream_ssl) then
    local resolved = apisix_secret.fetch_secrets(upstream_ssl, true)
    upstream_ssl = resolved
end

-- Release pooled Redis before outbound embedding request
local res = red:get(key)
if miss then
    local embedding = do_outbound_http_request(body) -- no Redis held
    -- re-acquire only for Redis writes/search
    -- e.g., ensure_index/knn_search using a fresh/checked-out connection
end

Use lightweight checks + memoization to keep latency stable under load, and structure code so scarce pools aren’t drained by long waits.