Designing Network Performance Optimization

1. Designing Connection Pooling

AspectDetail
Reuse TCP / TLSAvoid handshake per call
Pool sizePer backend; tune to throughput
Idle timeoutMatch server keepalive
DB poolHikariCP, pgbouncer
HTTP clientReuse single client (Java HttpClient, OkHttp)

2. Designing DNS Resolution and Caching

PracticeDetail
Local resolverNodeLocal DNSCache (K8s)
JVM TTLnetworkaddress.cache.ttl=60
DoH / DoTEncrypted DNS
Don't over-cacheBreaks failover

3. Designing TCP Optimization

TuningDetail
Window scalingFor high BDP
TCP_NODELAYDisable Nagle for latency
KeepaliveDetect dead peers
BBRModern congestion control
SO_REUSEPORTMulti-process accept

4. Designing HTTP Pipelining and Multiplexing

ProtocolDetail
HTTP/1.1 pipeliningEffectively dead
HTTP/2Multiplexed streams
HTTP/3 (QUIC)UDP; no head-of-line blocking
gRPCHTTP/2 native

5. Designing Request Batching

PatternDetail
Batch endpointsPOST /items/batch
DataLoaderCoalesce within tick (GraphQL)
Micro-batchingBuffer N ms, flush together
CaveatLatency vs throughput trade-off

6. Designing Latency Optimization

LeverDetail
Edge presenceCDN / edge compute
Co-locateApp near DB / cache
Parallel callsFan-out concurrent vs serial
Hedged requestsSend to 2 replicas; first wins
Reduce hopsCombine services for hot paths

7. Designing Connection Reuse Patterns

PracticeDetail
HTTP keep-aliveReuse TCP for multiple requests
Persistent gRPC channelOne channel per backend
DB persistent connPgbouncer transaction-mode
Avoid creating client per callCommon bug

8. Designing Payload Size Optimization

TechniqueDetail
Compressiongzip / brotli / zstd
Sparse fields / projectionReturn only needed
PaginationAvoid mega responses
Avoid base64 large blobsUse signed URLs
Trim metadataDon't send debug data

9. Designing Protocol Buffers and Binary Serialization

FormatDetail
ProtobufSchema-driven, compact
AvroSchema registry; data pipelines
MessagePack / CBORSchemaless binary
FlatBuffers / Cap'n ProtoZero-copy
Trade-offBinary perf vs JSON debuggability

10. Designing Network Timeout Strategy

LayerDetail
Connect timeoutShort (~1s)
Request timeoutBound by SLO
Deadline propagationPass remaining budget
Cap retries × timeoutAvoid amplification

11. Designing Edge Computing Architecture

PlatformDetail
Cloudflare WorkersV8 isolates; ms cold start
Lambda@Edge / CloudFront FunctionsAWS
Fastly Compute@EdgeWASM
Use casesAuth, A/B, personalization, geo, image transform
ConstraintsLimited CPU/mem; no long-running

12. Designing Content Compression

AlgorithmDetail
gzipUniversal
brotli~20% better; precompute static
zstdStreaming, fast
NegotiationAccept-Encoding header
Don't compressAlready-compressed media