欢迎来到天天文库
浏览记录
ID:30359887
大小:86.36 KB
页数:11页
时间:2018-12-29
《bigtable结构化数据的分布式存储系统下》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Bigtable结构化数据的分布式存储系统下2010-10-20【google论文四】Bigtable:结构化数据的分布式存储系统(下)搜索2010-10-1622:36:43阅读0评论0字号:大中小订阅转载请注明:作者phylips@bmy7.性能评价我们建立了一个N个tablet服务器的Bigtable集群来丈量Bigtable伴随着N的变化的性能和可扩展性。Tablet服务器配置成由含有1G内存400GIDE硬盘的1786个机器组成的GFScell写进。N个客户端为这些测试天生工作负载。(我们使用与
2、tablet服务器相同数目的客户端来保证客户端不会成为瓶颈)。每个机器有一个双核Opteron2GHz芯片,供运行的进程使用的足够的物理内存,一个gigabit以太网链路。机器通过一个两级树状交换机网络连接,根节点总体带宽接近100-200Gbps。所有机用具有相同的主机配置,因此任意两个机器间的往返时间小于1ms。Tablet服务器和master,测试客户端,GFS服务器都运行在相同的机器集合上。每个机器运行一个GFS服务器。另外这些机器要么运行一个tablet服务器要么运行一个客户端进程,或者一些其他
3、同时使用这些机器的job的进程。R是测试集中Bigtable行关键字的个数,通过对它的取值进行选择使得每个tablet服务器每个基准测试读写接近1G的数据。顺序写基准测试使用0-R-1作为行关键字。这个行关键字空间又被划分为相同大小的10N个相同大小的区间。这些区间通过一个中心调度器分配给N个客户端,当客户端处理完分配给它的前一个区间后就继续分配给它下一个区间处理{分配是动态的,中心调度器维护一个未分配集合,当发现某个客户端完成后,就给它下一个区间,而不是每个客户端一开始就分配了10个固定区间}。这种动态
4、分配有助于减轻客户端机器上的其他进程造成的性能影响。在每个行关键字下我们写一个字符串,这个字符串是随机天生的,因此也是未压缩的。另外,不同行关键字下的字符串是不同的,因此跨行的压缩也是不可能的。随机写基准测试与之类似,除了在写之前行关键字是经过hash然后模R得到的,这样对于整个测试过程来说,写负载就可以在整个行空间上随机分布。顺序读基准测试与顺序写采用了完全相同的行关键字天生方式。但是它不是在一个行关键字下写,而是读该行关键字下存储的字符串(由前面调用的顺序写基准测试写的)。类似的,随机读基准测试的操纵
5、对应着随机写基准测试操纵。扫描基准测试类似于顺序读基准测试,但是它使用了BigtableAPI对于扫描一个行组的所有值的操纵支持。通过使用扫描操纵,可以降低基准测试程序所执行的RPC调用次数,由于此时的一次RPC会从一个tablet服务器上获取一大串的值。随机读(mem)基准测试类似于随机读基准测试,但是包含基准测试数据的localitygroup是被标记为in-memory的。因此读操纵只需要与tablet服务器内存交互而不需要读GFS。对于这个基准测试,我们将每个tablet服务器的数据从1GB降低到
6、了100MB,这样它就可以很轻易地放到tablet服务器的内存里。图6展示了当我们从Bigtable读写1000字节的value值时的测试程序性能。其中表格展示了每个tablet服务器的每秒操纵数;图形展示了每秒的操纵总数。单tablet服务器性能我们首先来考虑单tablet服务器性能。随机读要比所有其他操纵慢。每个随机读操纵需要将64KB大小的SSTable块从GFS传输到tablet服务器,在这些数据里只有1000字节会被使用。Tablet服务器每秒大概执行1200次读操纵,从GFS传输的传输速率大概
7、75MB/s。在这个带宽级别下,会由于网络协议栈,SSTable解析,Bigtable代码的耗费占掉大量的服务器的CPU,同时也几乎占满了我们系统的带宽。大部分具有这种访问模式的Bigtable应用需要将块大小设成一个更小的值,通常是8KB。从内存中的随机读要更快些,由于这1000个字节的读是从tablet的本地内存中直接读取的,不需要从GFS中获取一个大的64KB块。随机和顺序写比随机读的执行效率更高是由于每个tablet服务器将所有的写进请求写到一个commitlog里,然后使用按组提交来有效的将这些
8、写进交给GFS。在随机写和顺序写之间并没有明显的不同;在这两种情况下,对于tablet服务器的所有写进都是记录在同一个commitlog里。顺序写比随机写执行的更好,由于从GFS获取的64KBSSTable块会被存储到我们的块缓存里,用来为下面的64个请求服务。扫描甚至更快,由于tablet服务器可以在客户真个一次RPC请求中返回更大量的value,因此RPC的耗费可以平摊到大量的value上。扩展性当我们将tablet服务器
此文档下载收益归作者所有