摘要:
还在为排查Java程序线上问题头痛吗,看我们用阿里开源的诊断神器 Arthas 来帮您 阅读全文
摘要:
一、前言 使用 ElasticSearch(简称 es) 的过程中,经常有一些临时查询(如 排查问题、验证效果),一个趁手的可视化工具 可以提高工作效率。个人倾向于 免费(最好开源)、易于安装(如 浏览器插件),es-client 就是 比较简单好用的一个,尤其是 查询。 二、Kibana es官方 阅读全文
摘要:
一、前言 开发接口以后,对性能有要求的 接口,需要做 性能压力测试常见免费的如:经典的 ab,性能不太好的 jmeter、siege(有时候都怀疑程序性能不行了),另介绍 hey、k6、vegeta、wrk 二、方案 1. ab - Apache HTTP server benchmarking t 阅读全文
摘要:
一、前言 最近,项目有几个表要从 MySQL 实时同步到 另一个 MySQL,也有同步到 ElasticSearch 的。目前,公司生产环境同步,用的是 阿里云的 DTS,每个同步任务每月 500多元,有点小贵。其他环境:MySQL同步到ES,用的是 CloudCanal,不支持 数据转换,添加同步 阅读全文
摘要:
一、前言 开发Java项目过程中,难免会碰到一些 性能 问题,这时候就需要一些工具,帮忙排查本文开篇主要介绍 JDK自带的工具 jps,获取 Java程序列表,以 openjdk 11.0.10 为例 二、Java程序列表:jps 1. 简介 用来查找当前用户的 Java 进程,而不能查找当前系统中 阅读全文
摘要:
一、前言 Java并行流,方便了 并发操作,但是不注意可能会导致问题。如 最大线程数,怎么控制并发数,类加载器,线程上下文变化,ForkJoinPool 的 execute、submit、invoke 方法的区别 等。注意:本文以 openjdk 11.0.10 为例,没有特殊说明时,都是指 For 阅读全文
摘要:
一、前言 最近测试一个开源项目,发现生成的 全局id 有重复,方法加上 synchronized 提交PR后,有些同行对性能有疑虑,就准备做个 代码性能测试Java基准性能测试 一般用 JMH 比较多,但是 官方建议 性能测试单独一个项目,感觉麻烦了点后面发现了 ContiPerf,可以方便的设置 阅读全文
摘要:
一、前言 最近测试一个开源项目,发现生成的 全局id 有重复,也没有单元测试,就准备贡献个 PR想到多线程并发测试,根据经验,第一想法是用 Testng,后面看了下 Junit5 也有实验性支持了,就对比下(以 maven 为例)spock 不太适合这种场景 二、Testng 1. 安装 选择 使用 阅读全文
摘要:
一、前言 公司目前还没有上 SkyWalking、Pinpoint等分布式追踪系统,所以先用个轻量级的吧Tlog:只生成TraceId写入日志文件,没有 收集、存储、查询,所以 轻量以 spring-boot 2.3.12(非native) + log4j2 为例 二、快速入门 1. 选择接入方式 阅读全文
摘要:
一、前言 近期被刷接口了,考虑增加 本地缓存提高性能,另配置 限流使用 spring-cache 注解式缓存,可以提高使用缓存的开发效率不同业务,可以定制 自己的缓存策略,是基本需求多模块项目,最好在 统一的模块(如 common) 加载缓存配置 二、方案 1. 配置缓存:接口 + 枚举 + Lom 阅读全文