• L
    generic rate limiter · 5ef1ba7f
    Lei Jin 提交于
    Summary:
    A generic rate limiter that can be shared by threads and rocksdb
    instances. Will use this to smooth out write traffic generated by
    compaction and flush. This will help us get better p99 behavior on flash
    storage.
    
    Test Plan:
    unit test output
    ==== Test RateLimiterTest.Rate
    request size [1 - 1023], limit 10 KB/sec, actual rate: 10.374969 KB/sec, elapsed 2002265
    request size [1 - 2047], limit 20 KB/sec, actual rate: 20.771242 KB/sec, elapsed 2002139
    request size [1 - 4095], limit 40 KB/sec, actual rate: 41.285299 KB/sec, elapsed 2202424
    request size [1 - 8191], limit 80 KB/sec, actual rate: 81.371605 KB/sec, elapsed 2402558
    request size [1 - 16383], limit 160 KB/sec, actual rate: 162.541268 KB/sec, elapsed 3303500
    
    Reviewers: yhchiang, igor, sdong
    
    Reviewed By: sdong
    
    Subscribers: leveldb
    
    Differential Revision: https://reviews.facebook.net/D19359
    5ef1ba7f
Makefile 20.8 KB