【案例67】Npart批量启动服务卡顿严重分析过程

2024-09-04 18:12

本文主要是介绍【案例67】Npart批量启动服务卡顿严重分析过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题现象

通过Npart启动NC服务,发现只启动一个,大概3min左右即可启动成功。但是批量启动服务需要几十分钟才可以把服务启动成功,启动卡在获取“wenjian”图标处。

绕过Npart直接写脚本并行启动相关服务,发现也需要30min+

问题分析

查看nc-log.log发现有大量报错:获取参数FIP020失败,根据CPU个数获取最大线程数,请检查参数配置。

怀疑是JVM参数配置异常导致,故检查JVM参数发现现有参数配置

### xxx为打码路径,请找自己环境的路径-server 
-Xmx8196m 
-XX:MetaspaceSize=512m 
-XX:MaxMetaspaceSize=1536m 
-Dsun.reflect.noInflation=true 
-Dsun.reflect.inflationThreshold=0 
-Djava.awt.headless=true 
-Duser.timezone=GMT+8 
-Dlog4j.ignoreTCL=true 
-Dfile.encoding=UTF-8 
-Djava.lang.string.substring.nocopy=true
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/xxx/outofmemory.hprof 
-XX:+PrintGCDateStamps 
-Xloggc:/xxx/gc.log 
-Dsun.reflect.inflationThreshold=0 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/xxx/outofmemory.hprof 
-XX:+PrintGCDateStamps 
-Xloggc:/xxx/gc.log 
-Dnc.ds.conn.recordUseTrace=true

仔细排查发现下列参数加载了2次

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/xxx/outofmemory.hprof -XX:+PrintGCDateStamps -Xloggc:/xxx/gc.log

去掉相关参数,部署参数到sysconfig中,再次通过Npart批量重启发现。服务启动速度提升2倍,但也需要10min左右。 再次观察启动日志发现,启动卡在连接数据库层面。

通过checkDB脚本测试,正常应该5s钟有返回值,但是通过测试发现大概1min才会有结果返回。

查询数据库,发现数据库中有大量的ORA报错。顾问反馈数据库本身IO等有问题,最近准备重做数据库。故先不解决。

后续顾问找到了个脚本查询了应用服务器到数据库服务器创立链接的时间大概都需要40s+。

 

解决方案

把多余补充的参数去除,启动速度客户可接受。后续重做数据库,启动速度还会有所提升。

这篇关于【案例67】Npart批量启动服务卡顿严重分析过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136664

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C