独家揭秘!阿里大局限数据中心的机能说明
以是,体系机能和各类机能指标,也许各人都认识也都在用,但还必要更全面地去领略。 适才提到 SPEED 的 Estimation 会网络线上机能数据,然则网络到的数据必然对吗?这里讲一个 Hyper-Threading 超线程的例子,也许对硬件相识的同窗会较量认识。超线程是 Intel 的一个技能,好比我们的条记本,一样平常此刻都是双核的,也就是两个 hardware cores,假如支持超线程并打开往后,一个 hardware core 就会酿成两个 hardware threads,即一台双核的呆板会有四个逻辑 CPU。 来看最上面一张图,这里有两个物理核,没有打开超线程,双方 CPU 资源都用满了,以是从使命打点器报出的整台呆板均匀 CPU 操作率是 100%。左下角的图也是两个物理核,打开了超线程,每个物理核上有一个 hardware thread 被用满了,整台呆板均匀 CPU 操作率是 50%。 再看右下角的图,也是两个物理核,也打开了超线程,有一个物理核的两个hardware threads 都被用满了,整台呆板均匀 CPU 操作率也是 50%。左下角和右下角的 CPU 行使环境完全差异,可是假如我们只是收罗整机均匀 CPU 操作率,看到的数据是一样的! 以是,做机能数据说明时,不要只是想着数据处理赏罚和计较,还应该留意这些数据是怎么收罗的,不然也许会获得一些误导性的功效。 数据中内心的硬件异构性是机能说明的一大挑衅,也是机能优化的一个偏向。好比这里左边的 Broadwell 架构,是 Intel 已往几年处事器 CPU 的主流架构,近几年在推右边的 Skylake 架构,包括最新的 Cascade Lake CPU。Intel 在这两个架构上做了很大的窜改,好比,Broadwell 下会见内存照旧保持多年的环状方法,而到了 Skylake 改为网格状方法。 再好比,L2 Cache 到了Skylake 上扩大了四倍,凡是来嗣魅这可以进步 L2 Cache 的掷中率,可是 cache 越大也不代表机能就必然好,由于维护 cache coherence 会带来特另外开销。这些窜改有利有弊,但我们必要权衡利和弊对整体机能的影响,同时团结成原来思量是否必要将数据中心的处事器都进级到 Skylake。 相识硬件的差别照旧很有须要的,由于这些差别也许影响全部在其上运行的应用,而且成为硬件优化定制的偏向。 当代互联网处事的软件架构很是伟大,好比阿里的电商系统架构,而伟大的软件架构一ㄇ机能说明的一个首要挑衅。举个简朴的例子,图中右边是优惠券应用,左上角是大促主会场应用,左下角是购物车应用,这三个都是电商里常见的营业场景。从 Java 开拓的角度,每个营业场景都是一个 application。电商客户既可以从大促主会场选择优惠券,也可以从购物车里选择优惠券,这是用户行使风俗的差异。 从软件架构角度看,大促主会场和购物车两个应用就形成了优惠券应用的两个进口,进口差异对付优惠券应用自己的挪用路径差异,机能影响也就差异。 以是,在说明优惠券应用的整体机能时必要思量其在电贸易务里的各类错综伟大的架构关联和挪用路径。像这种伟大多样的营业场景和挪用路径是很难在基准测试中完全复现的,这也是为什么我们必要做线上机能评估。 这是数据说明里闻名的辛普森悖论,在社会学和医学规模有许多常见案例,我们在数据中心的机能说明里也发明白。这是线上真实的案例,详细是什么 App 我们不消追究。 假设还用前面的例子,好比 App 就是优惠券应用,在大促的时辰上线了一个新特征 S,灰度测试的呆板占比为 1%,那么按照 RUE 指标,该特征可以晋升机能 8%,挺不错的功效。可是假如优惠券应用有三个差异的分组,分组假设就是关联适才提到的差异进口应用,那么从每个分组看,该特征都低落了应用的机能。 同样一组数据、同样的机能评估指标,通过整体聚积说明获得的功效与通过各部门单独说明获得的功效正好相反,这就是辛普森悖论。既然是悖论,声名偶然辰应该看总体评估功效,偶然刻应该看部门评估功效。在这个例子内里,我们选择看部门评估、也就是分组上的评估功效,以是看起来这个新特征造成了机能降落,应该继承修改并优化机能。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |