实用云,提供最全最实时的云市场资讯

手机站:/m

腾讯服务器_有哪些_云服务器有什么

时间:2021-02-23 17:01编辑:实用云来源:实用云当前位置:主页 > 云通信 >

腾讯服务器_有哪些_云服务器有什么

几个月前,允许高流量应用程序使用新系统Artyom Shein 2015年7月21日,我们部署了一个新功能——"重新归属",并在封闭测试版中为30个客户端启用了使用功能。我们通常采用渐进式的方法给你。那个新的挑战大约一个月前,开源建站系统,我们的一位客户经理过来问我们是否可以为他的一些客户启用此功能:"再多5个应用程序"。让我们花点时间来解释一下常规属性匹配和重新归属匹配:常规归因尝试在安装和单击之间进行匹配。这意味着我们正在clicks数据库中搜索install事件以找到匹配项。此事件将被发送到我们的系统,每个应用程序每个用户一次,因为安装事件是单数的自然。回复-attribution尝试为每次应用程序启动找到匹配项,因为重新归属意味着尝试针对现有用户。每一次发射都可能来自不同的重新归属运动。它表示重新归属服务处理的流量至少比常规属性流量高一个数量级。实际的重新归属匹配应该在不到一秒钟内完成。这种严格的需求要求我们要么改进现有的工作方式,要么开发一个全新的工具集。该系统的另一个技术要求是能够通过HTTP调用查询外部归属源,在重新归属的情况下,每个HTTP调用多达数千个秒。架构我们意识到新系统的瓶颈之一是它花费在发送到这些请求的多个HTTP请求上的时间外部归因人士说。我们的常规归属服务每秒只处理大约50个这样的请求。为了改善这条道路,引入了一种新的服务——IOCluster。这是一个相对简单的内部编写的微服务,使用Kafka或RabbitMQ作为输入,它负责向"外部世界"发送HTTP请求。逻辑是,每个需要解决传出HTTP流量的解决方案的服务不必自己实现它—它只需要定义一个约定好的消息,详细说明实际的HTTP请求,建站论坛,然后将其放入传出队列—IOCluster将负责处理并将结果写入另一个队列(如果需要)。这种分离将允许服务扩展更多很容易。那个调整步骤需要在以下两个方面保持平衡步骤:找到为一个IOCluster节点提供适当数量的工作线程(IO线程),以便节点本身仍能从输入队列中消耗,而它的线程正忙于发送HTTP请求并等待它们的响应。所有这些,同时保持可接受的CPU利用率低于80百分比。决定每个群集可以处理潜在高输入的实际所需节点数交通。那个物理节点实例的CPU/IO工作负载也是一个问题。由于主要的问题是流量处理,我们决定使用更小的机器和更少的CPU核心,人工智能网络,但是有更好的IO优化,并且在需要。这个我的实际工作是怎样的我们启用了一款拥有众多全球用户的应用程序的重新归属功能,这一功能立即受到冲击我们的输入流量从80-100msgs/sec到1700msgs左右/第二节IOCluster开始使用4台双核计算机,但我们发现它无法处理所有入站流量,并且其输入队列的延迟开始攀升。我们还注意到每个节点50个线程是不够的,因为CPU利用率非常低(平均约30%)。第一个响应是增加工作线程的数量,大数据云计算,这使我们能够同时处理更多打开的HTTP连接,并具有更好的CPU利用率。最终,输入队列延迟减小,而输出增加从根本上说其他应用被启用使用该功能,入站流量激增。我们在一个应用到应用的基础上增加了越来越多的输入流量,大数据营销,同时监控单个节点的限制。当我们看到单个节点的CPU负载太高,无法再添加任何工作线程时,我们向群集。一些numbers我们从4个IOCluster节点开始,每个节点有50个工作线程,输入流量为每秒20条消息。我们最终得到了8个IOCluster节点,每个节点有300个工作线程,并且能够很容易地处理每秒超过1500条消息的入站流量,并且可以选择在流量增加的情况下添加更多的节点增加。你可以看到IOCluster流量的图表。粉色线标记重新开始。您可以看到Kafka延迟随着与调优会话的关联而上下浮动summary有时调优需要架构更改。在其他情况下,它需要更大的计算能力,并且确定到底需要什么是非常重要的——更多的线程、更多的CPU等等。有时这只是简单的代码重构。在我们的例子中,随着流量的快速增长,它是大多数案例。我们计划在未来开放IOCluster的源代码。敬请期待。关于Artyom Shein Artyom是一个后端开发人员,他一直在为金融市场开发工具和平台,现在很高兴投身于令人兴奋的移动广告世界。他拥有计算机科学学士学位。

上一篇cdn原理_美国_人工智能机器学习

下一篇云服务器试用_怎么购买_建站用什么系统好

世界之最排行

世界之最精选