I am finishing off testing a multi-threaded application that seems to work fine until I put it under heavy load and then stress the machine it is running on as well. Then I start seeing some of the stranger edge-cases that I did not foresee produce some unexpected/unforeseen conditions. The way I am stressing the machine is by running a vacuum on a very large sqlite database. Does anyone have any other good ways of inducing this type of heavy-load scenario?
I am finishing off testing a multi-threaded application that seems to work fine until
Share
What kind of stress are you referring to? Memory, CPU, full thread pool, or file I/O?
I’d write a simple app that has a thread that consumes memory, a thread that consumes CPU cycles, a thread that ties up the thread pool, and a thread that thrashes the disk. Hang a UI on it to control each thread’s appetite and adjust the “knobs” to honk with your app.