云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_同伊百度云盘_限时特惠

小七 141 0

数据库备份_关于_云计算有哪些应用

你的申请有点…迟钝吗?Google云的连续应用程序分析工具cloudprofiler可以快速找到性能不佳的代码,数据中心解决方案,这些代码会降低应用程序的性能,并增加计算开销。事实上,通过帮助您找到内存泄漏和其他错误的来源,Profiler已经帮助一些Google Cloud的大客户将其CPU消耗降低了两位数的百分点。

Profiler如此有用的原因是,它可以随着时间的推移从应用程序的所有实例聚合生产性能数据,而对于您正在检查的应用程序来说,性能损失可以忽略不计,在单个概要实例上,CPU和RAM开销通常不到1%,在整个收集持续时间和服务的所有实例中分摊时,返利是什么意思,几乎为零!

在这篇博文中,我们来看看Profiler架构中的一些元素,服务器和云主机,这些元素有助于Profiler实现轻巧的触感。然后,我们通过使用DeathStarBench(一个用于测试松散耦合的基于微服务的应用程序的示例酒店预订应用程序)演示Profiler对实际应用程序的可忽略的影响。具备了这一点,您就具备了在需要少量增强的应用程序上启用Profiler所需的知识。

传统上,应用程序分析工具对应用程序施加了沉重的负载,限制了工具的实用性。另一方面,大数据算法,探查器使用多种机制来确保它不会影响应用程序性能。

采样和分析聚合性能

要设置探查器,您需要将提供的特定于语言的库链接到您的应用程序。Profiler使用此库从应用程序中捕获相关遥测数据,然后使用该工具的用户界面进行分析。云分析器支持用Java编写的应用程序,节点.js和Python.

cloudprofiler的库对应用程序性能进行了示例,这意味着它们定期捕获表示每个函数的CPU和堆消耗的堆栈跟踪。此行为与事件跟踪探查器不同,事件跟踪探查器拦截并短暂停止每个函数调用以记录性能信息。

为了确保您的服务性能不受影响,探查器会仔细安排配置文件收集过程的间隔和持续时间。通过在一段时间内聚合应用程序所有实例的数据,Profiler可以提供生产代码性能的完整视图,开销可以忽略不计。

跨实例漫游

从中捕获配置文件的每个服务的实例越多,云Profiler就可以更准确地分析您的代码库。虽然每个探查器库/代理都使用采样来减少对正在运行的实例的性能影响,但探查器还确保在给定的时间内只对部署中的一个任务进行探查。这可以确保您的应用程序永远不会处于所有实例同时采样的状态。

为了衡量探查器对应用程序的影响,我们将其与具有已知性能特征的应用程序DeathStarBench hotel reservation sample应用程序一起使用。DeathStarBench服务旨在测试不同类型的基础设施、服务拓扑、RPC机制和服务体系结构在总体应用程序性能上的性能特征,使它们成为这些测试的理想候选。虽然这个特定的基准是用Go编写的,并且使用Go profiling代理,但是我们希望其他语言的结果是相似的,啥叫人工智能,因为Profiler对所有支持的语言的采样频率和分析方法都是相似的,我们在运行ubuntu18.04.4lts-Linux的GCE c2-standard-4(4vcpus,16gb内存)VM实例上运行了组成酒店预订应用程序的8个服务,并为两个系列的测试配置了load generator:一个是每秒1000个查询,另一个是10000个查询。然后,我们将Profiler连接到每个服务上进行10次测试,不连接的情况下进行10次测试,并在云监控中记录服务的吞吐量、CPU和内存消耗。每次迭代运行约5分钟,10次迭代总共运行约50分钟。

以下数据显示了1000次QPS运行的结果: