自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

junior77的专栏

北漂一族,专注性能测试

  • 博客(154)
  • 资源 (25)
  • 收藏
  • 关注

原创 记一次真实项目的性能问题诊断、优化(阿里云redis分片带宽限制问题)过程

混合场景压测时,发现通过增加线程数、扩容被测服务数量等,服务整体吞吐量最大到TPS 1.6万左右,不会随着线程的增加、服务容器数量增加而增长,且增加线程后,接口耗时开始增加。redis分片带宽调整后,回归压测,确认服务吞吐量上来了(QPS 29000,预期QPS 20000,已满足预期),接口耗时在100ms内,各服务资源使用正常。经排查,发现redis集群(共8个分片)的其中一个分片带宽比其他7个分片,出网带宽要高90MB。通过断点日志打印,发现耗时超过200ms的为redis查询key的操作。

2024-10-23 17:34:43 498

原创 java实现linux下命令交互操作-java调用docker(配置向导)

java实现linux下某应用程序配置向导的交互待写

2021-05-13 11:11:54 3240 6

原创 jmeter二次开发-java实现HashTree中字段值参数化

近期由于公司需求,需要开发一套性能测试平台,便于公司产品接口能够快速压测(面对使用人群:性能测试、QA、开发)。通过多次调研讨论,决定基于jmeter进行开发。 下面代码主要实现:怎样把某场景下所有业务接口转换为jmeter可识别的HashTree。HashTree中包含了TestPlan、...

2021-02-04 18:04:49 1389 1

转载 倾囊相授-总结非常全面到位的性能分析思路

年轻的时候,经常听一些大会或者演讲。有些人说,思路逻辑非常重要。我那时就想,你肯定是瞎忽悠的,因为我怎么就没听懂你说的思路呢?而现在轮到自己来写或者讲一些东西的时候,才发现他们说得很对,而我之所以不理解,也是有原因的。性能分析思路和具体的实现之间,有一道鸿沟,那就是操作的能力。之前我为什么听不懂那些人的思路,其实是因为我没有操作的功底。而有了操作的功底之后,还有一个大的鸿沟要越过去,那就是从操作到对监控计数器的理解。这一步可以说让很多性能测试人员都望而却步了。但是这还不算完,这一步迈过去之后

2021-02-03 16:42:54 630

原创 千万级以上测试数据参数化-性能测试具体实现方式(jmeter、redis)

笔者之前做过一个特别有印象的项目,测试数据量级为3000+万,因测试需求,需要测试工具或测试脚本把这些数据参数化来使用。常见的做法有以下几种:1)把测试数据提取出来放到指定文件中(txt/csv),对于参数话数据量少的场景,没问题。但测试数据一旦超过百万级,文件大小就可能几十M起步了,这样测试工具或脚本读取文件耗时较长,影响发压;下图mids文件中100万条数据,大小32.4M。2)把测试数据导入到数据库中,让测试工具或脚本去数据库中取值;3)把测试数据导入到redis中,red

2021-01-27 19:29:26 1251 4

原创 java代码实现批量数据插入redis(埋数)

由于测试需要,把文件内容批量插入到redis指定key中。mids.txt文件局部信息如下:32350194015fbe81082630400008368312350194015fbe81082630400001192122350194015fbe81082630400004927212350194015fbe810826304000011997......................以下为具体java实现代码:import redis.clients.jedis.Jedi

2021-01-27 14:18:01 4196 3

原创 Jmeter中HashTree转jmx及jmx转HashTree实现示例

1、创建jmeter工具类StressTestUtils/** * 压力测试工具类 * @author by xxxx * @date 2020/6/30. */@Componentpublic class StressTestUtils { //获取操作系统信息 public final static String OS_NAME_LC = System.getProperty("os.name"). toLowerCase(java.uti...

2020-12-28 21:49:33 1122 1

原创 基于arm平台飞腾银河麒麟系统服务器资源监控工具nmon

国产化:基于arm平台飞腾银河麒麟系统服务器资源监控工具nmon,rpm安装包为:nmon-16g-3.el7.aarch64.rpm下载地址:https://download.csdn.net/download/junior77/13116936

2020-11-16 14:08:47 3507

原创 常见的项目性能问题汇总

1、服务器CPU飙高2、tp99毛刺3、服务器内存泄漏4、可用率下降

2020-10-21 11:53:04 297

原创 常用JAVA项目监控工具

一、应用内存监控:推荐jvisualVM、MAT、arthas、Jprofile二、方法监控:推荐ump、jtrace、arthas三、服务器资源监控:nmon、grafana+zabbix、火焰图、loadrunner计数器。四、数据库监控:1)MySQL(spotlight、mysql慢日志、检查死锁命令等)2)postgresql(pgAdmin、pgcenter)...

2020-10-21 11:44:28 2037

原创 性能问题诊断-接口方法多次重复调用

问题描述:某系统单交易多并发运单下发时,耗时为1340ms。问题分析:发现OMS对com.jd.eclp.master.dept.service.DeptService:getDept方法重复调用了4次(同一deptid),累计耗时:129ms。 注:系统方法调用监控使用的是pinpoint。优化方案:减少OMS系统对getDept方法的调用次数,可优化为调用一次即可。...

2020-10-20 23:41:52 1097

原创 性能问题诊断-应用线程大小导致的业务报错

问题描述:单应用单交易场景下,订单-新增在250并发压力下某系统后台报以下错误。[] WARN 2019-01-08 13:44:52,957 [JSF-SEV-WORKER-123-T-9] com.jd.jsf.gd.server.BusinessPool.rejectedExecution(128) | [JSF-23002]Task:java.util.concurrent.FutureTask@3a1046d9 has been reject for ThreadPool exhausted! .

2020-10-20 23:37:44 144

原创 性能问题诊断-mysql索引问题导致cpu占用过高99%

性能问题诊断篇-服务器CPU

2020-10-20 23:27:52 584

原创 性能问题诊断-服务器CPU占用率高问题(火焰图分析)

性能问题诊断篇-数据库索引

2020-10-20 23:21:03 417

原创 性能问题诊断-JVM篇(OutOfMemoryError内存泄漏问题)

问题描述:某仓储系统压测时,发现任务分配worker后台定时处理任务时(积压2个已定位波次,每波次10000订单),ta-worker应用后台抛出”组建集合单异常”,错误信息如下:2018-10-22 14:09:29[ schedulerFactoryBean_Worker-1:1936704 ] - [ERROR] com.jd.wms.assign.worker.TaskAssignWorker-: - [TaskAssignWorker] :{}java.lang.OutOfMemoryErro

2020-10-20 22:57:49 249

原创 性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

分享下之前项目性能测试时遇到的各种性能问题及解决思路、方法,欢迎同行交流!经了解,波次定位包含:调用。波次定位时,单波次无积压。采用多线程方式,需注意对。次,且每次调用耗时约。2)波次定位TPS由。

2020-10-20 22:41:39 267

原创 性能问题诊断-Mysql默认配置篇(mysql服务器CPU飚高)

问题描述:在对某仓储系统运单WaybillAddAPI.add接口压测时,发现数据库CPU资源占用为85.05(23%us;62%sy),sys占用较高。问题分析:mysql中大量写入字段为timestamp 类型数据,当time_zone 设置为 system 时,mysql 访问每一行的 timestamp 字段时,都会通过 libc 的时区函数,获取 Linux 设置的时区,在这个函数中会持有mutex,当大量并发SQL需要访问 timestamp 字段时,会出现 mutex 竞争。MySQL 中

2020-10-20 22:31:57 234

原创 性能问题诊断-应用日志篇(应用线程大量BLOCKED)

性能问题诊断篇-log4j

2020-10-20 22:26:17 541

原创 性能问题诊断-线程篇一(应用线程未释放且不断增长,服务器CPU占用居高不下)

性能问题诊断篇-应用线程

2020-10-20 22:23:11 666

原创 性能问题诊断-MySql Deadlock (数据库死锁)

性能问题诊断篇-数据库死锁

2020-10-20 22:15:57 237

原创 性能问题诊断-服务器磁盘%util较高

性能问题诊断篇- 服务器磁盘

2020-10-19 16:21:17 2601

原创 MIPS平台UOS系统中使用nmon 监控服务器资源

MIPS平台UOS系统中使用nmon监控服务器资源近日笔者需要为 mips平台UOS系统(国产系统)的服务器资源进行监控,网上找了一圈,没发现有直接可用的适配监控工具。之前一直用习惯了nmon,但nmon文件没法直接用于uos,于是抱着试试的态度,从网上搜集有用信息,最后终于在uos系统中成功运行nmon,分享给大家!具体步骤如下:注:1)服务器需要有访问外网权限; 2)UOS 支持的是 dkpg和apt 包管理方式,支持的安装包格式是 .deb格式,与RedHat的 yum 和rpm管..

2020-10-19 11:51:19 1000

原创 S3服务器文件上传性能测试(s3admin+jmeter)

近日笔者在做项目性能测试时,有一个场景是模拟客户端上传文件到s3服务器(文件服务器)。经了解,可以通过s3cmd命令直接上传文件到s3服务器。经调研,最后使用jmeter扩展插件来实现。说明:1) s3服务器10.95.*.2082)s3admin客户端服务器 10.95.*.72 (需要安装s3admin)具体实现压测步骤:一、在s3admin客户端服务器上安装s3adm...

2020-04-28 14:59:48 2080 1

转载 基于Jmeter的性能压测平台实现(转载)

背景:因部门测试需要及后期性能测试后期建设,急需要开发一个压测平台。前期考察了基于ngrider及jmeter的平台建设,通过组内讨论,最后确定使用jmeter来做压测平台,开发语言java。平时虽然经常使用jmeter,但要用它来实现一个压测平台,还是有点困难(第一次做)。于是想借鉴网上是否有成熟的demo,发现下面这个项目做的比较实用且源码公开,特在此再次分享下。感谢作者无私分享、代码开源...

2020-03-16 19:25:55 781

原创 PostgreSQL数据库性能监控手段之慢SQL、死锁

之前接触PostgreSQL数据库甚少(此前经常使用mysql、db2),直至入职当前某安全公司后,发现数据库都采用PostgreSQL,由于负责性能测试方向,经常需要诊断数据库方面是否存在性能问题,于是整理了PostgreSQL设置慢SQL、查看死锁等常用监控手段。一、慢SQL设置步骤1、笔者以工作中使用的docker为例,PostgreSQL版本为9.5:Postgr...

2019-10-25 14:17:13 2297

原创 msg: Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-m)

说明:因项目测试,需要把测试样本文件上传至10台linux服务器某路径下。考虑使用ansible工具比较合适。于是在其中一台linux机器上安装ansible工具,并配置好ansible参数。在安装ansible工具的Linux机器上,执行。ansible工具安装在这不赘述。

2024-10-24 11:32:57 130

原创 性能测试问题诊断-接口耗时高

参考下图,Latency time - Connection time 值较大(20000ms以上),可以判定时间主要消耗在服务层,需要进一步分析。问题现象:近期发现每晚跑的定时压测任务,压测结果中,各接口耗时变高(原来99耗时20秒)。发现 Latency time 延迟时间较高,Connection time 建立连接时间 较小。Connection time 建立连接时间。Latency time 延迟时间。

2024-09-24 15:03:28 251

原创 An error occurred: Report generation requires csv output format, checkimeter.save.saveservice.output

jmeter的jmx格式的聚合报告转换成html时报错

2024-09-20 17:53:05 256

转载 转载 解决 jmeter An error occurred: Error while processing samples:Mismatch

问题描述:An error occurred: Error while processing samples:Mismatch between expected number of columns:17 and columns in CSV file:14, check your jmeter.save.saveservice.* configuration or check line is complete。

2024-09-20 17:45:39 65

原创 An error occurred:Mismatch between expected number of columns:16 and columns in CSV file:17, check .

jmeter 压测结果生成报告时报错

2024-09-20 17:31:06 286

转载 转载-Jmeter动态吞吐量实现

在容量测试时,“控量”是非常重要的,JMeter 是根据线程数大小来控制压力强弱的,但我们制定的压测目标中的指标往往是吞吐量(QPS/TPS),这就给测试人员带来了不便之处,必须一边调整线程数,一边观察 QPS/TPS 达到什么量级了,为了解决这个问题,JMeter 提供了吞吐量定时器的插件,我们可以通过设定吞吐量上限来限制 QPS/TPS,达到控量的效果。以上吞吐量动态调整的主要思路来源于阿里巴巴本地生活前高级专家吴骏龙的付费文章,但实际上这个功能不算新鲜,只是很多人还不知道而已。

2024-09-19 16:57:03 226

转载 git 将dev分支的代码合并到master

2. git log // 可以看到近期的相关提交日志(提交时候的备注等)  3. git status // 可以看到当前的文件状态 (如xx文件被修改,但未提交等)原文链接:https://blog.csdn.net/qq_38608304/article/details/133642116。2. git push origin master // 将当前的更改推送到远程的master分支上。4. git push origin dev // 将本地修改的代码提交到远程的dev分支上。

2024-07-25 17:12:18 387

原创 Java代码中如何在JSONObject按put顺序排序

编写java代码时,发现在JSONObject 对象中put 一些数据后,输出JSONObject对象信息时,展示的json信息中,排序发生了变化。"message": "压测通过""message": "压测通过"发现data下的对象顺序乱了。

2024-06-19 11:26:38 1256

原创 转载一篇较好的接口性能优化方面的文章(接口优化总结)

接口性能 优化方向 优化实战

2024-05-06 18:55:31 691

原创 jmeter5.4.1源码编译(IDEA)问题解决

注:最初使用GRADLE7.6版本,发现还报错。重新下载了新版本8.1.1,然后没问题了。1、更换JDK版本。JDK11 更换为JDK8(具体版本1.8.0_291)2、GRADLE版本及IDEA中配置。2)IDEA中配置GRADLE配置。

2024-04-22 17:29:07 728 3

原创 Ansible批量操作(上传文件、删除文件&指定文件内容、执行sh文件等)

ansible 常用命令

2024-04-03 18:11:57 1773

原创 世界上最值得精读的十大证券书籍

包括如下内容:如何找到最佳的赚钱机会,在去公司参观时应该查看什么、避开什么,如何才能更加有效地发挥经纪人的作用,如何使用年报进行分析,如何利用那些能带来最好收益的其他信息资源,以及如何对待那些经常在股票的技术分析中用到的各种数据(如市盈率、帐面价值,现金流等等)。” 格雷厄姆思想的精华是“完全边际”,费雪的思想的精华是选择数量不多的成长公司股票并长期持有。约翰的一句格言很精彩:“当您走进股票市场,您是在进入一个充满竞争的领域,在这里您自己的评价和见解将会遇到行业中最敏锐的、最坚毅的头脑的挑战。

2024-04-03 15:10:04 2587

原创 json展示curl 请求接口返回结果

发送请求并将返回结果以JSON格式展示,通常需要确保请求的响应本身就是JSON格式。sudo yum install jq # 对于CentOS/RHEL。Linux发行版中,你可以使用包管理器来安装它。这个JSON处理工具来格式化输出。

2024-03-14 11:24:44 912

原创 jmeter采集ELK平台海量业务日志( 采用Scroll)

由于性能测试需要,需采集某业务系统海量日志(百万以上)来使用,做稳定性压测使用。用来按条件获取HTTP请求后返回结果中_scroll_id字段的值,因为下次请求的入参需要_scroll_id字段的值。,例如,以便将一个索引的内容重新索引到具有不同配置的新索引中。

2023-09-12 16:16:49 1362

转载 性能工具之常见流量复制工具(转载)

我们把用户访问系统造成的数据传输定义为流量,那么在用户访问系统的过程中,我们可以把进入和流出的数据复制下来,进行保存,待后续使用,即离线模式,或者转发到一个新的服务器,立即使用,即在线模式。

2023-08-30 15:23:55 1070

mysql-connector-java-5.1.28.jar.zip

mysql的jar包,引入该包可以使jmeter、java正常链接数据库

2021-12-14

ApacheJMeter_ssh-1.2.0.jar.7z

jmeter3.2以上版本-ssh插件(请用7zip工具解压)

2021-09-10

jmeter-plugins-manager-1.6.7z

jmeter5.4.1插件管理器插件

2021-09-10

nmon-16g-3.el7.aarch64.rpm

基于飞腾银河服务器(arm平台)nmon监控工具的rpm安装包。

2020-11-16

nmon-14g-2-omv4000.x86_64.rpm

基于海光方德服务器(amd平台)nmon监控工具rpm安装包。nmon-14g-2-omv4000.x86_64.rpm

2020-11-16

UOS系统nmon监控工具安装文件nmon_14i-9_mips64el.deb

UOS系统nmon监控工具安装文件。运行nmon时,报错: nmon安装出现错误error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory 解决方法: sudo apt install libncurses.*

2020-10-19

mips平台中nmon监控安装文件nmon-14i-8.nd7.1.mips64el.rpm

mips平台服务器资源监控工具nmon,可以通过alien命令转换为deb格式后,在UOS操作系统中使用,nmon-14i-8.nd7.1.mips64el.rpm

2020-10-19

apache-jmeter-5.1.1.zip

最新版本jmeter5.1.1。Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。 Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

2019-07-11

Badboy2.2.5.zip

Badboy是专门录制测试脚本的工具,Badboy录制脚本的方法比较方便易懂,Badboy-2.2.5是最新版可以配合Jmeter使用,快速录制脚本且可以保存为JMeter支持的脚本。badboy测试工具是一个强大WEB测试工具,badboy测试工具通过协议包进行数据交换,响应速度非常快,这款软件非常的简介,安装环境不受任何限制,操作简单不需要输入代码,通过强大HTTPS加密进行模拟录制。

2019-07-11

Java并发编程实战 (完整书签扫描版)pdf及源码

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性

2017-11-02

import轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

本书适用于有较好的Java 编程基础,有初步的J2EE 编程基础的读者。本书既可以作为J2EE 初学者的入门书籍,也可作为J2EE 应用开发者的提高指导。

2010-05-05

深入浅出Oracle:DBA入门、进阶与诊断案例

本书针对数据库的启动和关闭、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等等事件、性能诊断与SQL优化等几大Oracle热点主题、从基础知识入手,系统、深入地展现给读者。

2010-05-05

EOS 6.0 RichWeb参考手册

EOS RichWeb由ide开发环境、标签库和Javascript api三部分组成。 ide开发环境 ide开发环境包括了jsp编辑器、工具面板和属性视图。 标签库 EOS RichWeb共提供了6大类的标签: Bean类:用于把数据区、Cookie、Http头、Http请求参数以及资源文件中的内容输出; Html类:在html控件元素基础上进行了扩展和增强; Logic类:提供了一些逻辑判断标签, 用于jsp页面逻辑控制; Dict类: 生成与业务字典相关的html控件元素; Webcomp类:提供了date、popmenu、panel、tabpanel、tree等高级控件; RichClient类:提供了datacell、comboselect等ajax控件。 Javascript api EOS RichWeb提供了字符串处理、日期处理、dom操作、ajax操作等js函数。

2010-04-09

abframe的源文件及所用到的jar包

Application’s Basic Framework (EOS应用基础框架) 对于任何一个应用系统来说,组织机构和角色权限管理都是基础的不可缺少的组成部分。使用EOS6开发项目同样需要一个组织机构和角色权限管理系统,为提高客户对EOS6的认可度,减小PSO在EOS6的支持工作复杂度。

2009-12-21

上海普元abframe安装部署手册

上海普元软件有限责任公司开发的一个关于用户权限、岗位等的demo.

2009-12-21

上海普元EOS6工作流教程

本文档的阅读对象为软件设计和开发人员,为了能更好的理解和使用primeton EOS workflow;您需要了解HTML、Javascript、Java、JSP、JspTag、SQL等J2EE的基本知识,并且对《EOS基础教程》有一定的理解,这将为您能更好的学习本文档起到事半功倍的效果。 本文档讲通过几个案例来引导读者运用primeton EOS workflow产品进行实际的工作流开发,使读者能够很快的运用primeton EOS workflow产品开发自己的工作流应用。 本文档旨在让您学会使用primeton EOS workflow产品对业务流程整个生命周期的管理,包括业务流程的定义、调试、部署、运行、监控、管理。

2009-12-21

上海普元EOS6.0程序员教程

目前,面向服务架构SOA成为软件发展中的热门话题。Primeton EOSTM(以下简称EOS)作为全球领先的SOA应用平台,采用了先进的SOA架构和SCA1.0、SDO2.1标准规范。比起单独学习SOA的枯燥难懂的理论,学会EOS的开发和了解其实现原理是帮助您理解SOA核心思想的最好切入点。 本教程即从理论上介绍了EOS的SOA架构和数据处理原理,又借助逐渐深入的案例开发讲解EOS的关键知识点。对初学者是一本很好的入门参考教程;对了解SOA的朋友来说,也是一本整理思路、将理论应用于实践的学习资料。

2009-12-21

DOS学习(这是本人WU90909收录制作的).chm

详细介绍了DOS命令的用法,我认为比较适合初学DOS的学习者。

2009-07-24

EOS5.3报表培训教程.pdf

EOS报表是基于表格的报表,与Excel表格高度兼容,具有直观易用、高效稳定的特点,能够快捷地制作和维护各种中西报表样式,把开发人员从复杂的中式报表中解放出来。

2009-07-24

EOS基础业务框架说明书.doc

具体的EOS基础业务框架说明书,对基础业务框架作了详细的介绍。

2009-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除