Page 242 - 《软件学报》2021年第10期
P. 242

3214                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 和 32K.数据复制操作对 LogBase 的性能几乎没有影响.这主要是因为 LogBase 采用异步提交,即:在将数据安全
                 地复制到其他存储节点上之前,LogBase 可以将结果返回给客户端.另一方面,LogStore 和 HBase 的吞吐量有不
                 同程度的下降:HBase 的吞吐量下降约 12%;复制打开时,LogStore 需要将数据复制到 3 个不同的节点上,达到多
                 数派的回复以后才可以提交,此时,系统吞吐量是单机模式下的 70%左右.实际上,在复制情况下,HBase 的延迟
                 是 LogStore 的 2 倍.LogStore 的复制算法在延迟和吞吐量之间取得了较好的平衡.
                    此外,我们测试了混合工作负载下 3 个系统的性能.如图 6(a)和图 6(b)所示,LogBase 在读操作比重增加的情
                 况下性能略有下降.这主要是由于 LogBase 牺牲安全性的异步复制以及内存索引对于读操作的支持不够高效
                 (下面的读操作实验验证了这一点).LogStore 以及 HBase 在读写比例为 1:9 以及 3:7 这两个混合工作负载下,约
                 有 10%的性能提升.





















                                (a)  读写比例为 3:7                                         (b)  读写比例为 1:9
                                     Fig.6    System performance under read-write ratio 3:7 and 1:9
                                          图 6   读写比例为 3:7、1:9 时,不同系统的性能

                    我们还对双拷贝架构如何影响写入性能进行了测试.如图 7 所示,HBase 的 memstore 分别设置为 32MB、
                 64MB 和 128MB.当 memstore 写满时,HBase 必须将 memstore 写到持久存储中,这会产生更多的写入开销,影响
                 系统性能.这个双拷贝架构使 HBase 的写入性能受到很大影响.在使用 32MB memstore 的情况下,HBase 的写入
                 性能仅为使用 128MB memstore 的 50%.LogStore 和 LogBase 只写一份数据,因此它们的写性能不会受内存大小
                 的影响.









                                       Fig.7    How size of MemStore affects system perfomance
                                            图 7   MemStore 大小对系统性能的影响
                 3.2.2    系统恢复
                       数据可见度
                    本节介绍复制功能.我们专注于主从差距的探讨.备份数据可见度可以通过如文献[14]中给出的公式来测
                 量,其定义如下:
   237   238   239   240   241   242   243   244   245   246   247