private List<ExtendedCell> prepareListOfTestSeeks(Path path) throws IOException {
    List<ExtendedCell> allKeyValues = new ArrayList<>();

    // read all of the key values
    StoreFileInfo storeFileInfo = StoreFileInfo.createStoreFileInfoForHFile(configuration,
      testingUtility.getTestFileSystem(), path, true);
    HStoreFile storeFile = new HStoreFile(storeFileInfo, BloomType.NONE, cacheConf);
    storeFile.initReader();
    StoreFileReader reader = storeFile.getReader();
    StoreFileScanner scanner = reader.getStoreFileScanner(true, false, false, 0, 0, false);
    ExtendedCell current;

    scanner.seek(KeyValue.LOWESTKEY);
    while (null != (current = scanner.next())) {
      allKeyValues.add(current);
    }

    storeFile.closeStoreFile(cacheConf.shouldEvictOnClose());

    // pick seeks by random
    List<ExtendedCell> seeks = new ArrayList<>();
    for (int i = 0; i < numberOfSeeks; ++i) {
      ExtendedCell keyValue = allKeyValues.get(randomizer.nextInt(allKeyValues.size()));
      seeks.add(keyValue);
    }

    clearBlockCache();

    return seeks;
  }
Use this benchmark with default options
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/EncodedSeekPerformanceTest.java