引言 JVM 内存分析往往由团队较资深同学来做,本系列帮助读者全面深度掌握 MAT 的使用方法。即使没有分析实践经验,也能快速成为内存分析高手! 本系列共计3篇: 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南。 《JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇》展开并详细 […]
引言 JVM 内存分析往往由团队较资深同学来做,本系列帮助读者全面深度掌握 MAT 的使用方法。即使没有分析实践经验,也能快速成为内存分析高手! 本系列共计3篇: 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南。 《JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇》展开并详细 […]
SQL优化是数据库稳定高效的基础,那么日常开发中常见的SQL优化技巧有哪些呢? 一、回顾:MySQL的执行过程 回顾 MySQL的执行过程,帮助介绍如何进行SQL优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; (3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL […]
限流是一种控制访问速率的策略,用于限制系统、服务或API接口的请求频率或数量。它的目的是为了保护系统免受过多请求的影响,防止系统因过载而崩溃或变得不可用。限流是一种重要的性能优化和资源保护机制。 限流的好处有以下几个: 保护系统稳定性:如果系统接受太多请求,超出了其处理能力,可能导致系统崩溃或响应时间急剧增加,从而影响用户体验。限流可以帮助控制请求速率,确保系统稳定运行。 […]
作者:vivo 互联网服务器团队 - Zhou Shaobin 本文主要介绍了Spring事务传播性的相关知识。 Spring中定义了7种事务传播性: PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW PROPAGATION_NOT_SUPPOR […]
本文记录了JSF异步调用超时引起的接口可用率降低问题,介绍了排查思路和JSF异步调用的流程,本文分析的JSF源码是基于JSF 1.7.5-HOTFIX-T6版本 一、前言 本文记录了由于JSF异步调用超时引起的接口可用率降低问题的排查过程,主要介绍了排查思路和JSF异步调用的流程,希望可以帮助大家了解JSF的异步调用原理以及提供一些问题排查思路。本文分析的JSF源码是基于J […]
作者:华钟明 部门:技术中台 前言 2022年年初至今,团队持续在给业务应用做性能优化,主要目标是提高业务应用稳定性和降低业务应用的机器成本。到现在,代码层面的优化已经到了一定的瓶颈。所以就把优化的思路伸向了JVM的调优。有赞目前所有的Java应用采用的JDK版本是1.8.0_201,这个版本支持多个垃圾回收机制,比如CMS和G1等,而在有赞,除了个别应用有调整成G1垃圾收 […]
最近在整理以前的工作笔记,又发现一个有意思的bug,在一个service调用另外一个类的方法时,出现了一个Spring的事务问题,Transaction rolled back because it has been marked as rollback-only,时间过去有点儿久了,不记得是压测时出的问题还是线上运行时出的问题了。 2021-01-25 19:42:00. […]
上一篇文章中见过了事务的特性以及隔离级别,今天来说一下事务的传播性,事务是一个好东西,但是并不是每一个方法都应该加上事务,在事务的隔离级别中提到过一点:越是严格,耗费的性能越大,那么如果每个方法都加了事务,而不论是否会涉及到数据的修改,那么这就属于事务的滥用了,没起到应有的作用不说,反而还会一点点的拖慢你的系统。 为了应对这一问题,“事务的传播性”这一概念又横空出世了,打个 […]
“事务”,一个经常能听到的概念,它到底是个什么东西呢?数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务的正确执行,使得数据从一种状态转换到另外一种状态。
本文基于Netty4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。这是一篇万字长文,建议先收藏,转发后再看。 Netty简介 Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 JDK原生NIO程序的问题 JDK原生也有一套网络应用程序API,但是存在 […]
前言 今天想跟大家分享一个关于“状态机”的话题。状态属性在我们的现实生活中无处不在。比如电商场景会有一系列的订单状态(待支付、待发货、已发货、超时、关闭);员工提交请假申请会有申请状态(已申请、审核中、审核成功、审核拒绝、结束);差旅报销单会有单据审核状态(已提交、审核中、审核成功、退回、打款中、打款成功、打款失败、结束)等等。 上述场景有一个共同问题:根据不同触发条件执行 […]
一、问题是怎么发现的 系统是一个定时任务系统,需要定时执行业务代码,业务代码主要是访问MYSQL数据库和缓存进行操作,该开始启动,系统日志一切正常,但是运行一段时间到凌晨后,系统就自动崩溃了,java进程没有了,只留下了程序崩溃日志如下: cat: /proc/1/environ: Permission denied [admin@host-11-40-38-52 ~]$ […]
一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。 时间线 15:19 收到端口异常 odin 告警。 状态:P1故障 名称:应用端口8989 指标:data-stream-openapi.port.8989 主机:data-stream-op […]
一、背景 在京东到家购物车系统中,用户基于门店能够对商品进行加车操作。用户与门店商品使用Redis的Hash类型存储,如下代码块所示。不知细心的你有没有发现,如果单门店加车商品过多,或者门店过多时,此Key就会越来越大,从而影响线上业务。 userPin:{ storeId:{门店下加车的所有商品基本信息}, storeId:{门店下加车的所有商品基本信息}, ... […]
一、背景 大促已经如期而至,接下来我会从技术的角度,跟大家聊聊大促备战的底层逻辑和实战方案,希望能够解答大家心中的一些疑惑。 首先,大促为什么如此重要呢?先从数据的角度简单做一下分析,以下表格罗列了我们历年大促GMV成绩单: 年份 618销售额(亿元) 年销售额(亿元) 618销售额占比 2022 3793 33155 11.4% 2021 3 […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang