协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
load-testing【开发与工程】Measures how a system behaves under load and finds where it breaks — throughput ceilings, latency under concurrency, and failure modes at saturation. Use this whenever the user mentions load testing, stress testing, benchmarking, capacity planning, an upcoming traffic spike, or asks how many users the system can handle. For making already-identified …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
A load test answers one of two questions, and confusing them wastes the effort:
Discovery is usually more valuable. Knowing you handle 1,000 requests per second tells you less than knowing that at 1,200 the connection pool exhausts and every request hangs for 30 seconds rather than failing fast.
Hammering one endpoint measures that endpoint. Real systems fail through interaction — a slow report query saturating the pool that the login path needs.
Model:
Done when: the generated traffic resembles what production actually sees.
A load test against a laptop tells you about the laptop.
Match, or document the difference: instance sizes, replica counts, database size and data volume, network topology, and — critically — caches in a realistic state. A cold cache and a fully warm one give completely different numbers, and neither may be the steady state.
Done when: you can state how the environment differs from production and how that skews the result.
Do not start at target load. Ramp, and watch for the point where the response curve bends.
Below saturation, latency stays roughly flat as throughput rises. At the knee, latency climbs sharply while throughput stops rising. That point is your real capacity, and it is usually well below the number where errors start.
Past the knee, watch what happens — this is the most valuable part of the exercise:
Done when: you have located the knee and observed behaviour beyond it.
Measure from the client side too. Server-side timings exclude queueing, and queueing is exactly what happens under load.
Done when: you can name the resource that saturates first.
If you must test against production, and there are good reasons to — take precautions: schedule it, tell people, mark synthetic traffic so it can be excluded from metrics and billing, have a kill switch, and start small.
Otherwise you are running an incident on purpose. See incident-response if it turns into one.
Done when: the test can be stopped instantly and its traffic is distinguishable.
Report the knee, the saturating resource, and the failure mode — those three are the output. Include the environment's differences from production and the traffic model, because a number without them is not comparable to anything.
Then say what capacity headroom this implies against current traffic. That is the question whoever asked for the test actually has.