3 ms·
It depends on whether I expect it to get a lot of load. I pretty much always do for anything I expect to get any kind of traffic at scale. The closer the load
by d23 4y ago
It depends on whether I expect it to get a lot of load. I pretty much always do for anything I expect to get any kind of traffic at scale.
The closer the load is to a real-world workload the better. If I'm building a log ingestion cluster or a metrics ingestion system, I'll try loading it with real logs or metrics. If I'm building some sort of high scale web app, I'll try generating traffic patterns that emulates what I think the user will do.
Of course, you almost certainly will miss out on something. The real world will always find something you didn't think of. The point though is to find the things that will be your bottleneck and fix them so you reduce the number of unknowns as possible.
Usually I just want to see how far I can get before the system breaks, and I want to see what breaks. This will tell me how much headroom I have and whether I feel comfortable with the amount of runway I'll have with the system.
For generating load, it depends on the system I'm building. Usually it means writing a script that generates the load that's close to what I expect in the real world.