HighLoad ++ 2017最佳英语讲者

在HighLoad ++ 2017继续进行“ 汇报 ”后,我们准备了对五种最佳(根据会议参加者的情况)英语报告的简短回顾。

在与ProxySQL的使用相关的主题上给予最高分(在TOP 5中,有两个有关此工具的报告),在Amazon公共云中进行应用程序测试以及在出现问题时进行规模登录以及监视Apache Kafka的原则。



我们刚刚发布了HighLoad ++ 2017所有报告的视频以供免费访问。 此播放列表中 YouTube频道上150个报告的完整列表。

除此播放列表外,该频道还有数百个有关数据库,体系结构,扩展,队列,机器学习和其他高负载知识的视频:)

测量EC2的性能变异性


Henrik Ingo(MongoDB解决方案架构师,现在是Mongo DB的首席生产力工程师)。


参与者指出的第一份报告认为,公共云确实可以用于测试他们自己的产品,包括负载测试。 在这种情况下,正在使用亚马逊云进行测试的MongoDB DBMS是“实验性的”。 每月总共约有40亿小时用于此任务,其中约5%只是性能测试,其主要任务甚至是不提供优化,也不允许由于某些修改而导致“下沉”。

演示的关键问题是如何在公共云中获得可重复的测试结果。

该报告基于假设分析的原理。 最初,Henrik Ingo会假设哪些因素会影响测试中的“噪声”水平(报告中“噪声”的概念非常具体)。 例如,测试团队建议在“大量”测试中,主要的“噪音”来自硬盘驱动器,或者在云中,在分配资源时,您可能会遇到好(完全分配)或坏(共享)的情况。某人)影响测试结果的实例。



之后,将分析每个理论的结果并演示一些有趣的依赖性。 例如,以下是“噪声”级别(在报告的术语中)对所选实例配置的依赖关系图:



由于缺乏有关Amazon基础架构详细信息的信息,该报告并未回答所有问题,在某些情况下仅作假设,但需要考虑一些问题。

记录和授权


VytisValentinavičius(拉莫达,业务主管)


下一个有趣的报告是大型Lamoda在线商店中的专家关于日志记录以及日志记录的想法,这样开发人员一方面可以完整地接收必要的数据,另一方面也不会淹没千兆字节的传入信息。 演讲者知道他在说什么。 开始在Lamoda中使用日志构建工作的问题是用户通过UDP发送的报告丢失了5%(在某些情况下,这一份额达到了100%)。 这严重扭曲了可以基于它们建立的所有度量。

鉴于许多明显的解决方案都有其陷阱,该报告从原则上讲如何解决这种情况,如何预防这种情况。

VytisValentinavičius着眼于原木应具有结构的事实。 但是同时它不能被夸大。 因为收集的任何数据都是金钱,所以必须有一个收集和存储每个字段的目的。 Lamoda的示例是每秒25,000条调试日志消息(每周32 TB信息,仅存储一项就需要12,000美元)。
此外,跟踪事件而不是特定错误很重要。 需要对其进行汇总,确定指标,并根据其分析来构建更复杂的事件以供将来汇总。

除了理论上的考虑外,该报告还介绍了Lamoda在生产中用于处理原木的一些技巧。

指标不足:监视Apache Kafka


Gwen Shapira(汇合,产品经理)


下一份报告是关于监视Apache Kafka的,或者更确切地说,应该从大量可用于分析的参数中选择哪些指标,以便随时了解消息代理的状态。

演讲者开个玩笑开了个故事,正如他们所说,开玩笑的只是一小部分:“即使您不记得整个报告的内容,也请记住一件事:如果在生产中使用Kafka,则必须对其进行监视”(很好,为此提供了相应的API )

有必要监视一切吗? 取决于任务。 正是Gwen Shapira拒绝了他们,分析了推荐的指标。 演讲者描述了标准的操作情况,并推荐了必须添加到仪表板中的参数,以便及时响应所发生的事情,以及如何避免使情况恶化。 特别是,它再次提醒您,不必在第一次更改指标时重新启动代理,因为 这会花费很多时间,有时(由于已知的错误)可能导致更严重的后果。 最终,指标只是初始数据。 为了做出决定,必须基于这些数据进行假设。



归功于Gwen Shapira作为顾问的丰富经验,整个演讲伴随着生动的例子。

ProxySQL用例方案


Alkin Tezuysal(Percona,全球DBA团队)


根据参与者的估计,有两份报告立即出现在TOP 5中,这与ProxySQL有关,ProxySQL是将SQL查询代理到MySQL(以及最近的ClickHouse)的一种方法。

第一份报告通常是关于使用此工具的方案的。

ProxySQL是一个开放源代码解决方案,到目前为止,我们还没有遇到过如此精采的经验。 是的,许多公司都下载了此解决方案,但是即使制造商本身也并不总是知道谁将使用它以及以何种规模使用它。 通过与ProxySQL用户进行交流并分析其案例,确定了此报告中收集的方案。

通常,ProxySQL允许您解决大量任务,从负载平衡和重写查询(将在列表中的下一个报告中讨论),再到查询队列并加热缓存(这在MySQL中不存在)。 Alkin Tezuysal的每个选项都进行了详细分析,其中提到了解决方案的优缺点,以及可能有用的特殊情况。

在这里,我们仅提及有关数据库优化的两个示例。

示例1-使用ProxySQL减少建立与数据库的应用程序连接的请求数。 该想法以图形方式反映在报告中给出的图形中:



ProxySQL大大减少了连接请求的数量,尤其是在使用SSL时。

示例2-筛选无用的查询(例如,出现在大规模应用程序中的SELECT 1),这会降低数据库的速度。 在此,最好以图形方式评估结果:





使用ProxySQL进行MySQL的廉价数据屏蔽-开发人员的数据匿名化


Rene Cannao(ProxySQL的创始人兼产品负责人)



进入TOP-5的第二份关于ProxySQL的英语报告致力于解决一个非常具体的问题-数据屏蔽。

在为没有看过第一份报告的人简要介绍ProxySQL之后,演讲者陷入了该工具在解决特定问题方面的功能-隐藏名称的一部分(用星号代替)或用假的代替实际收入。

正如发言者所指出的,可以使用您自己的相同MySQL或第三方产品的方法来解决此问题。 第三方ProxySQL并不是唯一的工具。 但是,尽管市场上没有理想的解决方案,并且ProxySQL并不比许多解决方案差,但允许开发人员为不包含真实个人信息的测试获取有效数据。 而且,它具有开源代码。

如果有关ProxySQL的第一个故事是理论上的,那么这是一个连续的实践。 甚至列出了使用正则表达式配置的规则。





像任何proxySQL工具一样,都有其局限性。 也将对此进行讨论。 特别是,这并不是进行复杂转换的最佳方法。

该报告以完整的问答部分作为结尾,您还可以从中学到很多有用和有趣的东西。

当然,这五个说英语的地方只是HighLoad ++ 2017的冰山一角。因此,我们回想起我们刚刚发布了可在此播放列表中找到的所有会议报告的视频。

HighLoad ++ 2018将于11月8日至9日在莫斯科的斯科尔科沃举行。 该计划的工作已经在进行中,但是可以在9月1日之前提交报告

Source: https://habr.com/ru/post/zh-CN420103/


All Articles