@Lucien
2016-11-13T11:45:38.000000Z
字数 1315
阅读 631
1、腾讯云SSD云盘强势刷新存储标准,如何刷新,在原有存储技术基础上有哪些升级?
本次ssd云盘存储性能的大幅提升,主要得益与我们存储,网络硬件的提升,以及存储软件的大幅优化。
首先:高性能ssd盘的应用,是本次性能提升的关键因素。
其次:为了适配ssd盘性能,我们全面启动了双万兆网络IDC建设,网络性能有了大幅提升,这块网络硬件的提升也会使sata云盘收益。
最后:我们对原有的软件架构也进行了大量优化,比如:优化cache算法;大量采用异步多进程架构,提升并发处理能力;模块间采用zero-copy技术等。
2、腾讯云SSD云盘的24000随机IO能力,260MB/s,是普通本地盘和普通云盘5倍以上。通过何种算法优化途径来提高存储性能的?
ssd云盘的算法优化很多,对性能提升最明显的主要有三个方面,第一个问题的回答中也提到了:
第一个优化方面:启动采用智能多路预读算法,我们的算法可以根据后端的网络延时情况动态的调整预读窗口大小,在保证预读命中率的情况下,尽可能减少预读造成的网络开销;同时我们的预读能智能探测发现用户多个顺序读动作,同时启用多个预读动作,有效提升预读命中。
第二个优化方面:所有模块采用异步多进程模型,异步的通信方式极大提高了模块并发处理能力,多进程模型则充分发挥了多核cpu的性能优势,使得我们系统的整体吞吐能力有了成倍的提升。
第三个优化方面:在用zero-copy技术,在原有sata系统中,由于吞吐性能有限,模块间数据拷贝造成的性能开销并不明显,不是我们考虑的主要矛盾;但是在万兆ssd环境,频繁的内存拷贝会额外增加巨大的性能开销,而采用zero-copy技术,能有效避免内存拷贝造成的性能损耗,提升用户的IO体验。
3、腾讯云SSD云盘是基于全SSD存储介质、CBS分布式架构等技术。那么目前的腾讯云SSD云盘在如此庞大体量的数据下,整体的底层架构是如何构建的?
支撑腾讯云ssd云盘的是我们自研的cbs弹性块分布式存储系统。
首先:cbs系统采用了多故障域设计,故障域能有效隔离硬件故障,避免或降低硬件故障对用户的影响。
其次:cbs系统采用了分布式冗余设计,用户数据被切分为若干个固定大小的数据块,分布在故障域内各个独立的ssd磁盘上,在保证用户数据安全的同时,提升了用户IO的并发访问能力。
最后:cbs系统具备优秀的scale-out能力,单个系统最大可以支持到PB级的存储容量,能轻松应对用户海量的存储需求。
4、腾讯云SSD云盘如何满足大型游戏类、电商类网站的海量数据高并发的需求?设计思路是怎样的?
CPU、内存可以通过scale up的方式满足需求,往往瓶颈都在磁盘I/O。电商、游戏类客户的核心数据库,随机混合读写比例常为75%read,25%write,单节点对磁盘I/O需求超过2万,时延要求低于2ms。腾讯云SSD云盘能很好满足核心业务sql的IO需求
5、腾讯云SSD云盘能有效避免加载延时、历史数据无法正常显示等问题。可否从数据加载、缓存方式、数据库查询等角度详细分析一下?
这个问题和问题四是类似的,存储往往是整个系统最大的瓶颈,存储性能提升,时延I/O降低,这里的很多问题都能解决。