草庐IT

jvm调优

全部标签

redis性能测试及瓶颈分析调优

一、简介Redis(RemoteDictionaryServer),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的APImysql与redis的区别:类型上mysql是关系型数据库,而redis是缓存数据库;作用上mysql用于持久化的存储数据到硬盘,功能强大,但速度较慢;而redis用于存储使用较为频繁的数据到缓存中,读取速度快mysql和redis因为需求的不同,一般都是配合使用二、redis的应用后端除了用Mysql/Oracle还要用Redis的原因内存和磁盘的时延差Mysql数据库高性能成本高,同

全球WIFI功率(信号)最强的国家清单,无线WIFI调优

经常玩Merlin梅林或华硕路由器的朋友都知道,无线路由器有个国家地区选项,中文互联网中都在传说澳大利亚地区的无线信号最好,除了华硕这些全球品牌路由器厂商,还有网建Netgear、领势Linksys这些品牌也有调整路由器地区的功能,实测下来的确澳大利亚的信号比国内的wifi信号强不少。但实际到底强多少?除了澳大利亚之外还有其它哪些国家地区的信号更强?我这里分享一张图表,可以直观对比全球wifi信号国家标准:这里只摘取了中美澳3个国家的无线wifi信道标准。通过对比可以看出:1、在5G信道20M带宽中澳大利亚比中国多出了100,104,108,112,116,132,136,140频段。美国则又

MySQL调优

MySQL调优金字塔  很明显从图上可以看出,越往上走,难度越来越高,收益却是越来越小的。对于架构调优,在系统设计时首先需要充分考虑业务的实际情况,是否可以把不适合数据库做的事情放到数据仓库、搜索引擎或者缓存中去做;然后考虑写的并发量有多大,是否需要采用分布式;最后考虑读的压力是否很大,是否需要读写分离。对于核心应用或者金融类的应用,需要额外考虑数据安全因素,数据是否不允许丢失。所以在进行优化时,首先需要关注和优化的应该是架构,如果架构不合理,即使是DBA能做的事情其实是也是比较有限的。对于MySQL调优,需要确认业务表结构设计是否合理,SQL语句优化是否足够,该添加的索引是否都添加了,是否可

Jmeter压力测试和性能调优

1.压力测试的概念压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等2.压力测试的目的1)给出系统当前的性能状况2)定位系统性能瓶颈或潜在性能瓶颈3.压力测试工具(Jmeter)1)安装:ApacheJMeter-DownloadApacheJMeter2)使用:下载对应的压缩包,解压运行jmeter.bat即可(注意:JDK版本最好是8,太高可能启动不了)3)JMeter压测示例:            a)大家如英文界面,可以改为中文            b)  右击TestPlan添加线程组 线程组参数详解

JVM 常量池

一、常量池使用的数据结构常量池底层使用HashTablekey是字符串和长度生成的hashValue,然后再hash生成index,改index就是key;Value是一个HashTableEntry;1、key   hashValue=hashstring(name,len)   index=hashtoindex(hashValue);   1、根据字符串(即name)以及字符串的长度计算出hashValue   2、根据hashValue计算出index,这个index就是key 2、value   1、HashtableEntry*entry=newentry(hashValue,st

【jvm系列-06】深入理解对象的实例化、内存布局和访问定位

JVM系列整体栏目内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈、程序计数器、本地方法栈https://blog.csdn.net/zhenghuishengq/article/details/129684076【四】运行时数据区共享区域之堆、逃逸分析https:/

【jvm系列-06】深入理解对象的实例化、内存布局和访问定位

JVM系列整体栏目内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈、程序计数器、本地方法栈https://blog.csdn.net/zhenghuishengq/article/details/129684076【四】运行时数据区共享区域之堆、逃逸分析https:/

一个JVM参数,服务超时率降了四分之三

先说结论:通过优化Xms,改为和Xmx一致,使系统的超时率降了四分之三1.背景一个同事说他负责的服务在一次上线之后超时率增加了一倍2.分析2.1机器的监控首先找了一台机器,看了监控上线后最明显的变化就是CPU使用率变高了2.2上线改动点上线只加了简单的判断条件,按理不应该导致CPU变高成这样2.3CPU使用率随时间变低又发现了一个奇怪的现象是,在没有上线的情况下,CPU使用率突然降低了,然后就一直保持着很低的状态CPU降低之后,超时率也有所降低,现在大概能理解超时是和CPU使用率有关的,可能存在CPU瓶颈2.4依赖的服务既然在没有上线的情况下,CPU使用率会降低,肯定有什么因素影响,猜测可能是

JVM调优和线上问题

  JVM调优可能很多人都没遇到过,真正遇到了不知道如何去分析和解决问题,其实很多时候我们出现这个问题的原因都是最近提交的代码有问题,出现问题的时候主要靠cpu,内存等指标去参考,并且一般只有内存dump才能知道是什么问题。所以下面我总结了我如何排查真实项目线上JVM的问题,以及如何去调优,下一章我也会介绍一个大杀器Arthas。     背景:由于我们香港bo小程序服务器经常内存突然拉升,cpu又没拉满,多次手动dump导不出,有时候能dump出来,但是等待了半个小时,dump出来的内存快照只有30MB,按道理这是不科学的,我建议以下方案去排查。Jmap使用注意:线上如果dump的时候加li

java语法(二)线程并发、Juit单元测试、反射机制、注解、动态代理、XML解析、JVM

文章目录线程并发多线程多线程的创建Thread常用API线程同步与通信线程同步:单例模式的三种写法同步代码块同步方法Lock锁线程通信线程池获取线程池对象ThreadPoolExecutor线程池处理runnable任务线程池处理callable任务Executors定时器Timer调度可重复执行任务取消定时器ScheduleExecutorService并发与并行线程的生命周期Runnable阻塞状态Blocked:没获得锁被阻塞Waiting等待状态TimeWaiting计时等待状态进程状态之间的转换sleep和wait的区别Junit单元测试框架反射反射获取Class类的全部成分获取Cl