java—从pelops客户端读取数据并对读取操作进行基准测试

0yg35tkg  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(240)

我正试着从中读取数据 Cassandra database 使用 Pelops client . 我成功地做到了。
现在我已经开始做了 benchmarking ,表示从cassandra数据库读取所需的时间。所以我把我的 benchmarking code 在下面的代码中。
现在我不确定我是否加了我的名字 benchmarking code 在正确的位置测量 Cassandra database 使用 Pelops client 还是不?
下面是我的代码-

public Map<String, String> getAttributes(final String rowKey, final Collection<String> attributeNames, final String columnFamily) {

    final Map<String, String> attributes = new ConcurrentHashMap<String, String>();

    try {
        final SlicePredicate myPredicate = Selector.newColumnsPredicate(attributeNames.toArray(new String[attributeNames.size()]));

        final Selector selector = Pelops.createSelector(CassandraPelopsConnection.getInstance().getPoolName());

        // this is the right place to start the timer?
        CassandraTimer timer = CassandraTimer.getInstance();

        final List<Column> columnList = selector.getColumnsFromRow(columnFamily, rowKey, myPredicate, ConsistencyLevel.ONE);

       // And this is the right place to end the timer incase of Pelops client?
        timer.getDuration();

        for (Column column : columnList) {
            attributes.put(new String(column.getName()), new String(column.getValue()));
        }       
    }  catch (Exception e) {

    }

    return attributes;
}

有谁能看一下,让我知道我做得对不对?

axzmvihb

axzmvihb1#

是的,这是正确的,您希望计时器正好在查询之前启动,并在查询之后立即停止。
顺便说一句,您没有对计时器做任何操作,请将它赋给一个变量,以便以后可以使用它。

相关问题