Voltdb C ++异步调用请求

时间:2018-10-16 23:44:41

标签: c++ voltdb

我正在使用下面的代码,每笔交易大约需要8微秒。

voltdb::Procedure procedure("test.Insert", parameterTypes);

voltdb::InvocationResponse response;
voltdb::ParameterSet* params = procedure.params();

int trans = 100000;

for(i=0;i<trans;i++) {
    params->addInt64(i).addString("Hello");
    client.invoke(procedure, new FunctionCallback);
}
    client.run();

我的问题是,如果事务数为1000,则在不执行client.run();的情况下不会将它们推入数据库。

负载可以是可变的,有时是每秒100000个事务,有时是每秒10个事务。如果我在每次事务处理后致电"client.run()",根据我的理解,它不是异步的,则需要280微秒,这在我的情况下是不可接受的。

我将始终有大约5个线程对voltdb进行读写,并且每个线程始终需要准确的数据。如果直到特定数量的记录(在我的情况下为1940条记录)中才写入数据,则其他线程可能找不到它。

如何将每次操作的交易时间保持在10微秒以下?

0 个答案:

没有答案