首页
学习
活动
专区
工具
TVP
发布

FunTester

Fun·BUG挖掘机·性能征服者·头顶锅盖·Tester
专栏作者
887
文章
760109
阅读量
47
订阅数
JVM C1、C2编译器
Java虚拟机创建了C1和C2编译器线程,用以优化应用程序的性能。但是有时这些线程会消耗大量CPU资源。在这篇文章中,我们将深入探讨C1和C2编译器线程,以及如何解决它们可能导致的高CPU消耗问题。
FunTester
2023-12-04
3040
Web3j异步导致JVM无法退出BUG分享
最近在学习和使用Web3j的过程中,发现一个非常奇怪的现象,当我使用了sendAsync()方法后,JVM进程一直无法退出。
FunTester
2023-09-10
1350
JVM关闭前做点什么
今天学到了一个非常有趣的API:java.lang.Runtime#addShutdownHook,顾名思义,就是JVM shutdown的钩子,当JVM关闭时触发的。addShutdownHook 方法是 java.lang.Runtime 类提供的一个方法,用于注册在Java虚拟机即将关闭时执行的代码块(也称为“钩子”或“hook”)。这个代码块会在程序终止之前被执行,无论是正常终止还是由于异常终止。
FunTester
2023-09-10
1410
性能测试中获取JVM资源信息
在以往性能测试中,通常施压机的硬件资源不会成为压力瓶颈,但是在多任务并行的场景中,如果一个任务占用当前机器资源过多,会影响其他任务执行。或者当前用例本身存在问题,导致性能无法进一步提升,影响了性能测试执行。
FunTester
2023-02-23
6680
亿级日志队列回放性能测试初探
队列通常是软件设计模式中的基本组件。但是如果每秒接收到数百万条消息,改如何处理?如果多个消费者都需要能够读取所有消息,又改如何处理?难道需要把所有消息的数据都放在内存中吗?这样 JVM GC 又表现如何?
FunTester
2022-12-09
3990
关注专栏作者,随时接收最新技术干货
FunTester
隐藏技能性能测试
用户6343696
大连东软实习生
i++需要多少QPS才能测出BUG
我接触到的并发缺陷绝大部分是因为线程安全问题导致的,还有一些数据库锁的问题(这个不擅长)这里就不分享了。
FunTester
2022-12-09
4370
性能框架哪家强—JMeter、K6、locust、FunTester横向对比
经过了之前的铺垫:性能测试框架对比初探,目前留下来的几个测试框架就是「JMeter」、「K6」、「locust」和「FunTester」。本次测试目的是对比几种框架的在各个并发下面的发压能力和资源消耗。本次值测试了最简单的GET接口,不涉及参数和POST接口。
FunTester
2021-07-23
3.6K0
10万QPS,K6、Gatling和FunTester终极对决!
之前写了两篇文章分享自己对几种性能测试框架的测试:性能测试框架对比初探、性能框架哪家强—JMeter、K6、locust、FunTester横向对比。
FunTester
2021-07-23
1.7K0
质量管理计划的基本要素
一个项目的主要目标是什么?我相信一千个人有一千个哈姆雷特,而且大部分都是对的。之所以这样说,是因为它们都最终指向商业的成功,而建立这一切的基础都是用户的满意程度。
FunTester
2020-08-19
7470
我的开发日记(十五)
这两天又遇到了两个坑:一个「host」缓存,一个多节点用户锁,解决方案比较现成,但是实施起来还是费了大劲。
FunTester
2020-07-28
2420
arthas命令ognl视频演示
今天分享一个非常重要的命令ognl,比较神奇的命令。这个命令很多高级用法,这里就不演示了,后面会慢慢补上,这里只分享一些基础用法。
FunTester
2020-05-18
3790
终止性能测试并输出报告
在平时性能测试过程中,有时候由于无法对被测接口或者方法性能指标进行准确的预估,所以只能凭借经常进行压测参数的相关测试。有时候压测的时间和次数设置偏大或者已经达到了测试的目的,而测试需要被终止,但是又不想损失掉测试数据,我们就要对测出过程中的数据继续进行记录和统计,输出测试报告。
FunTester
2020-05-17
3990
arthas命令jvm,sysprop,sysenv,vmoption视频演示
本期分享阿尔萨斯的四个命令:JVM,sysprop,sysenv,option。因为这四个命令都是比较简单,是一些基础啊,配置啊,环境变量啊,还有一些参数的查询,很少涉及到修改。所以也没有什么可讲的,就索性把这四个命令做成一个视频了。其中JVM这个命令,是查看Java虚拟机当前信息的。但是这个信息跟JVM自带的命令差别还是挺大的。主要体现在信息的准确性和丰富程度上。如果是对JVM的信息有严格的要求的话,我个人建议还是用JVM自带的命令。剩下两个命令system property和system environment都是属于查看命令(其中system property能改的地方非常少,修改的意义对于测试来说也不是很大。)。最后一个vmoption命令能查看一些JVM启动参数,但是,参数信息有限,比如对内存的设置和内存的分配配置都是看不到的。其中。比较有用的信息就是设置OOM的参数,还有Java gc的参数。这个动态修改还是非常有用的。因为虽然说项目需要一个严格的规范,一般都会将这些参数呃进行一个比较合理的配置。但是总有例外情况,很多时候我们去检查这些配置的时候就会发现,事实跟我们规范并不一样。这个时候。命令的作用就体现了我们可以随时的动态修改这些配置。
FunTester
2020-05-06
9890
arthas进阶thread命令视频演示
之前分享过arthas的基础使用和快捷入门,自己打算把这个系列继续做下去。工具还是非常强大的,适用范围也非常的广。在性能测试和性能分析以及故障诊断方面有着非常大的应用。然后和这个工具和JVM的一些工具搭配起来会非常非常地有用!如果是想做Java服务端的性能测试的话,我觉得这一定是一个绕不过去的一个神器。
FunTester
2020-05-04
6130
性能测试专题
接口性能是做接口性能测试过程中使用的测试策略以及Groovy脚本实现,以及性能测试工具的实现,如timewatch和netdata汉化,欢迎关注“FunTester”。
FunTester
2020-05-04
8840
服务端性能优化之双重检查锁
早前的文章中讨论过服务端性能优化之异步查询转同步,在本文中,将讨论双重检查锁定设计模式。通过简单地事先检查锁定条件,该模式减少了锁定获取的次数,通常可以提高性能。
FunTester
2020-04-03
8250
6个重要的JVM性能参数
-Xmx可能是最重要的JVM参数。-Xmx定义要分配给应用程序的最大堆大小。。您可以这样定义应用程序的堆大小:-Xmx2g。
FunTester
2020-04-02
1K0
从JVM堆内存分析验证深浅拷贝
在重写性能测试框架的过程中,遇到一个问题,每个线程都要收集一些统计数据,但是在我之前的框架Demo里面有一种情况:单一的threadbase线程任务,多线程并发。我是直接使用的这个对象,如果每个线程threadbase包含统计信息的话,多线程执行一个任务肯定会出现不安全的情况,如果加锁又会导致“多线程”失去意义。故而采用了创建任务时将对象按照线程数拷贝一份,保证每个线程执行的threadbase对象都是独立绑定的。
FunTester
2019-12-20
3520
获取JVM转储文件的Java工具类
在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法。这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获取转储文件的方法,并演示了如何使用jhat工具浏览/分析生成的二进制堆转储。
FunTester
2019-12-17
7760
如何获取JVM堆转储文件
堆转储是诊断与内存相关的问题(例如内存泄漏缓慢,垃圾回收问题和 java.lang.OutOfMemoryError。它们也是优化内存消耗的重要工具。
FunTester
2019-12-04
1.1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档