带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(4)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(4)

带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(3)https://developer.aliyun.com/article/1377521


Profiling常见技术包括perf、Async-profiler、JFR。以CPU的Profiling火焰图来说,比如我们对一个线程每10毫秒拉一把线程的栈,1秒钟就能拉到100个栈。 即Thread.run调了一个StandardHost Valve.invoke,最后调了一个PrepareStatment.executeQuery。右边的100个栈和左边唯一的区别是,下面调的是Thread.sleep的方法。

 

然后我们把这200个栈聚合起来就可以得到,Thread.run跑了两秒,这两秒都在跑StandardHost Valve.invoke这个方法。这方法的两秒分别分布在PrepareStatment.executeQuery的一秒和Thread.sleep的一秒,这就是火焰图聚合的原理。

 

此外,我们还有内存的火焰图。它的触发是在我们每次分配内存的时候,会处罚我们拉一次线程当前的栈。还有网络IO事件也都可以打出火焰图来。

 

image.png

 

我们考虑把Profiling的数据和Trace上下文、Metrics维度、业务上下文做一个关联,来保证我们可以通过Profiling得到更多的数据,比如我们和traceId、spanId、接口名、userId关联。

 

我们和traceId关联了之后,就相当于我们拿到了某一次调用的CPU占用量、内存开销。而且还能定位到当前Trace的埋点,没有覆盖的那些方法,我们也能看到它到底占用了多少耗时。和接口名/userId关联后,可以看到这个应用不同的接口占用了多少资源。比如这个接口占了多少CPU占了多少内存打开了多少IO等等数据。有了这些数据,就可以驱动我们的开发区对整个应用进行调优。

 

上图下侧是我们产品里的一张图,它是和traceId关联了之后的结果。可以看到,一次调用花了两秒,一秒花在了socket的IO上,一秒花在了Thread.sleep上。像socket的IO和Thread.sleep,我们一般都不会通过Trace对它做埋点,因为这种数据在Trace里是看不到的。我们通过火焰图的关联,可以看到一次调用更细节的东西。



带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(5)https://developer.aliyun.com/article/1377519

相关文章
|
2月前
|
Kubernetes 监控 Cloud Native
全栈声明式可观测:KubeVela开箱即用且灵活定制的云原生应用洞察
KubeVela 是一个开箱即用的现代化应用交付与管理平台。本文我们将聚焦 KubeVela 的可观测体系,介绍云原生时代的可观测挑战及 KubeVela 的解决方案。
|
21天前
|
弹性计算 监控 Cloud Native
构建多模态模型,生成主机观测指标,欢迎来战丨2024天池云原生编程挑战赛
本次比赛旨在如何通过分析 ECS 性能数据和任务信息,综合利用深度学习、序列分析等先进技术,生成特定机器的性能指标。参赛者的解决方案将为云资源管理和优化决策提供重要参考,助力云计算资源的高效稳定运行和智能化调度。
|
25天前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
52 7
|
1月前
|
机器学习/深度学习 Kubernetes 算法框架/工具
容器服务 ACK 大模型推理最佳实践系列一:TensorRT-LLM
在 ACK 中使用 KServe 部署 Triton+TensorRT-LLM
|
1月前
|
人工智能 监控 Cloud Native
多款可观测产品全面升级丨阿里云云原生 5 月产品月报
多款可观测产品全面升级丨阿里云云原生 5 月产品月报。
|
1月前
|
SQL 缓存 测试技术
RESTful API设计的最佳实践:构建高效、可维护的Web服务接口
【6月更文挑战第11天】构建高效、可维护的RESTful API涉及多个最佳实践:遵循客户端-服务器架构、无状态性等REST原则;设计时考虑URL结构(动词+宾语,使用标准HTTP方法)、使用HTTP状态码、统一响应格式及错误处理;确保数据安全(HTTPS、认证授权、输入验证);实施版本控制;并提供详细文档和测试用例。这些实践能提升Web服务接口的性能和质量。
|
1月前
|
开发框架 Dart JavaScript
深入探讨Flutter中的Web支持功能,以及如何利用Flutter构建跨平台Web应用的最佳实践
【6月更文挑战第11天】Flutter,Google的开源跨平台框架,已延伸至Web支持,让开发者能用同一代码库构建移动和Web应用。Flutter Web基于Dart转JavaScript,利用WebAssembly和JavaScript在Web上运行。构建Web应用最佳实践包括选择合适项目、优化性能、进行兼容性测试和利用Flutter的声明式UI、热重载等优势。尽管性能挑战存在,Flutter Web为跨平台开发提供了更多机会和潜力。
44 1
|
2月前
|
监控 安全 数据库
【Docker专栏】Docker容器化应用的最佳实践
【5月更文挑战第7天】本文介绍了 Docker 容器化应用的关键最佳实践,包括使用官方基础镜像、保持镜像精简、以非 root 用户运行容器、安全扫描、编写高效 Dockerfile、环境隔离、使用数据卷、选择合适网络模式、设置资源限制、使用版本标签、容器编排以及文档和自动化部署。遵循这些实践可提升效率和安全性,同时要注意随着技术发展不断更新知识。
【Docker专栏】Docker容器化应用的最佳实践
|
2月前
|
自然语言处理 监控 Cloud Native
对话阿里云云原生产品负责人李国强:推进可观测产品与OpenTelemetry开源生态全面融合
阿里云宣布多款可观测产品全面升级,其中,应用实时监控服务 ARMS 在业内率先推进了与 OpenTelemetry 开源生态的全面融合,极大丰富了可观测的数据类型及规模,大幅增强了 ARMS 核心能力。本次阿里云 ARMS 产品全面升级的背景是什么?为什么会产生围绕 OpenTelemetry 进行产品演进的核心策略?在云原生、大模型等新型应用架构类型层出不穷的今天,又将如何为企业解决新的挑战?阿里云云原生应用平台产品负责人李国强接受采访解答了这些疑问,点击本文走进全新升级的阿里云可观测产品。
41927 8
|
2月前
|
Kubernetes 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与Kubernetes集成:容器化部署的最佳实践
【5月更文挑战第21天】本文介绍了将阿里云的高性能数据库PolarDB与容器编排工具Kubernetes集成的步骤。首先,需准备Kubernetes集群和PolarDB Docker镜像,安装Helm。然后,通过Helm部署PolarDB,设置存储类和副本数。接着,应用配置PolarDB连接信息,打包成Docker镜像并在K8s集群中部署。此外,调整PolarDB参数以优化性能,并使用Prometheus和Grafana监控。本文为PolarDB在Kubernetes中的最佳实践提供了指导。
72 4

热门文章

最新文章

  • 1
    @SneakyThrows 是 Lombok 库中的一个注解
    4
  • 2
    在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
    9
  • 3
    在可视会议系统工程中,系统工程方法可以帮助我们系统地规划、设计和实现一个高效、可靠的可视会议系统。
    10
  • 4
    我们可以从系统工程的角度来讨论如何优化组织架构,并给出一些可能涉及的Python应用领域的示例。
    7
  • 5
    在环境治理领域,污染治理系统工程旨在通过系统的方法来解决环境污染问题。这通常包括污染源的识别、污染物的监测、治理技术的选择、治理效果的评估等多个环节。
    13
  • 6
    我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
    8
  • 7
    在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
    14
  • 8
    在软件部署阶段,系统工程的目标是确保软件能够顺利、稳定地部署到目标环境中,并满足用户的需求。
    11
  • 9
    航空航天领域,系统工程被用于设计复杂的飞行器和系统。这包括飞行器的结构、推进系统、控制系统等。
    12
  • 10
    在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
    9
  • 推荐镜像

    更多