Add stress test for cleanup process to address blocking under heavy l… #410
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Stress Test and Config Optimizations for Cleanup Blocking (#259)
This PR addresses #259, which questions if BigCache's cleanup process blocks workflow under heavy load and requests a code fix and test.
Changes
stress_test.goto simulate heavy load (50 goroutines, 10k ops each) to test cleanup behavior under high-throughput conditions.Shards: 1024to reduce lock contention.CleanWindow: 1sfor frequent cleanup.HardMaxCacheSize: 512MBto cap memory.LifeWindow: 10mfor timely expiration.runtime.GC()(every 1m) to reclaim memory.MemStatslogging to track memory usage.How It Addresses #259
stress_test.goreplicates heavy load with key overwrites, verifying cleanup doesn’t blockSet/Getoperations.