• M
    Improve statistics · e7206f43
    Mark Callaghan 提交于
    Summary:
    This adds more statistics to be reported by GetProperty("leveldb.stats").
    The new stats include time spent waiting on stalls in MakeRoomForWrite.
    This also includes the total amplification rate where that is:
        (#bytes of sequential IO during compaction) / (#bytes from Put)
    This also includes a lot more data for the per-level compaction report.
    * Rn(MB) - MB read from level N during compaction between levels N and N+1
    * Rnp1(MB) - MB read from level N+1 during compaction between levels N and N+1
    * Wnew(MB) - new data written to the level during compaction
    * Amplify - ( Write(MB) + Rnp1(MB) ) / Rn(MB)
    * Rn - files read from level N during compaction between levels N and N+1
    * Rnp1 - files read from level N+1 during compaction between levels N and N+1
    * Wnp1 - files written to level N+1 during compaction between levels N and N+1
    * NewW - new files written to level N+1 during compaction
    * Count - number of compactions done for this level
    
    This is the new output from DB::GetProperty("leveldb.stats"). The old output stopped at Write(MB)
    
                                   Compactions
    Level  Files Size(MB) Time(sec) Read(MB) Write(MB)  Rn(MB) Rnp1(MB) Wnew(MB) Amplify Read(MB/s) Write(MB/s)   Rn Rnp1 Wnp1 NewW Count
    -------------------------------------------------------------------------------------------------------------------------------------
      0        3        6        33        0       576       0        0      576    -1.0       0.0         1.3     0    0    0    0   290
      1      127      242       351     5316      5314     570     4747      567    17.0      12.1        12.1   287 2399 2685  286    32
      2      161      328        54      822       824     326      496      328     4.0       1.9         1.9   160  251  411  160   161
    Amplification: 22.3 rate, 0.56 GB in, 12.55 GB out
    Uptime(secs): 439.8
    Stalls(secs): 206.938 level0_slowdown, 0.000 level0_numfiles, 24.129 memtable_compaction
    
    Task ID: #
    
    Blame Rev:
    
    Test Plan:
    run db_bench
    
    Revert Plan:
    
    Database Impact:
    
    Memcache Impact:
    
    Other Notes:
    
    EImportant:
    
    - begin *PUBLIC* platform impact section -
    Bugzilla: #
    - end platform impact -
    (cherry picked from commit ecdeead38f86cc02e754d0032600742c4f02fec8)
    
    Reviewers: dhruba
    
    Differential Revision: https://reviews.facebook.net/D6153
    e7206f43
db_bench.cc 41.5 KB