Riak TS写作数据绩效基准

时间:2016-11-06 09:17:27

标签: python riak

我是RiakTS的新手,我想在物联网领域将德鲁伊与RiakTs进行比较。 我想在选择产品之前检查RiakTS的写入效率。因此,我从下面的干运行开始。

采取的数据:Aahrus(数据有430万行) 使用的客户端:Python 节点:单独独立节点。

流程进展顺利。在一百万行的批次中插入4.3百万行需要6分钟。

这是预期的性能还是我们可以调整它?

1 个答案:

答案 0 :(得分:0)

简短回答是肯定的,您可以调整它以获得更高的性能。首先我要注意,Riak TS虽然可以作为单个节点运行,但它实际上是为了集群而设计的。通过负载均衡器添加节点并将写入指向这些节点以分散工作负载将提高写入速度。

您当前设置需要考虑的其他几点可能会略微提高写入速度:

  1. Python客户端支持批处理写入(不确定这是否是您正在使用的批处理)。根据经验,每批100条记录似乎是最佳的性能。
  2. 由于HA原因,Riak TS复制数据3次。由于您只使用单个节点,因此不需要此复制。创建表时,可以将N值设置为1.这可能还会提高写入速度。
  3. 创建N val = 1的表格的简单示例:

    <?php
    
    $mysqli = new mysqli('host', 'name', 'psw', 'db');
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    if ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {
    
        $row_cnt = mysqli_num_rows($result);
        $result = mysqli_fetch_array($result);
    
        printf("Result set has %d rows.\n", $row_cnt);
        }
        /* until here everything works fine - the code below seems to be not working */
    
    if ($result == $_SESSION['userlevel']) {
    
        $link = 'AdminLayout.php';
        printf ('<a href="' .$link. '">Adminpanel </a>');
        /* close result set */
        $result->close();
    }