A benchmark hammering one keep-alive connection with a single URL measures the fastest path through the system with every cache warm — which is a real number about a situation that never occurs.
# not a load test: one URL, one connection, everything cached
ab -n 1000 -c 10 https://shop.example.com/
# closer: connection churn, varied URLs, TLS on every one
siege -c 50 -t 2M -f urls.txt --no-parser
Real traffic opens connections, requests different pages, misses caches and pays for TLS. Any of those omitted flatters the result, usually by an order of magnitude. The other omission that matters is think time — clients that request as fast as they can produce a queue depth no real population would generate, which finds a bottleneck that is not the one you will hit first.