JVM入门 1、JAVA代码执行过程 Java源程序(.java)经过Java编译器(javac)以后, 生成一个或多个字节码(.class)文件, JVM将每一条要执行的字节码通过类加载子系统ClassLoader加载进内存, 再通过字节码校验器的校验, Java解释器翻译成对应的机器码(图中将两 ...
分类:
其他好文 时间:
2020-03-07 16:16:38
阅读次数:
68
在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL、PHP、CPU、磁盘IO、缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素;通常,我们会使用redis、memcached等缓存软件来缓存内容,这确实是最优的解决方案之一,但这需要网站程序的支持,然而多数常用网站程序并不支持或者不能完美支持这些缓存软件,今天我们就来谈谈如何通过MySQL自身的配
分类:
数据库 时间:
2020-03-03 12:54:13
阅读次数:
125
Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。 1. 开启show profile功能,默认该功能关闭,每次使用前需要开启(Navicat默认打开链接后自动开启) 2. ...
分类:
数据库 时间:
2020-03-03 00:49:26
阅读次数:
121
一、JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收,所以比较慢,因此应该尽可能减少Full GC的次数。 2.导致Full GC的原 ...
分类:
其他好文 时间:
2020-03-03 00:43:24
阅读次数:
65
性能测试的目的,简单来说是响应时间,吞吐量,稳定性,容量等; 在实际工作中,性能测试一般会从以下几个方面着手: 1.基准测试,单一用户 或 无用户情况下的测试;目的:a.查看结果是否符合预期;b.建立可度量的参考标准,为后续调优等提供对比参考; 2.日常压力测试,基准测试通过后,进行较小压力测试;如 ...
分类:
其他好文 时间:
2020-03-02 19:07:26
阅读次数:
76
永久区是一个常驻内存区域,用于存放JDK自身所携带的Class Interface的元数据 也就是说它存储的是运行环境必须的类信息,被装载进此区域的数据锁不会被垃圾回收掉的,关闭JVM 才会释放此区域所占用的内存。 JVM调优 堆参数调优 java8中,永久代被移除被元空间取代 两者本质类似 最大区 ...
分类:
其他好文 时间:
2020-02-29 14:42:14
阅读次数:
224
常用工具及命令 jps jstat Top jstack jmap mat工具 top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid jps:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称及进程pid 如:jps -l pid Jstack命令 jstack是 ...
分类:
其他好文 时间:
2020-02-29 00:25:59
阅读次数:
94
一、对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 默认情况下,性能最高的当然是MEMORY_ONLY,但前提是你的内存必须足够足够大, 可以绰绰有余地存放下整个RDD的所有数据。因为不进行序列化与反序列化操作,就避 免了这部分的性能开销;对这个RDD的后续算子操作,都是基于纯内存中 ...
分类:
其他好文 时间:
2020-02-28 14:18:23
阅读次数:
60
Application任务执行流程: 在Spark Application提交后,Driver会根据action算子划分成一个个的job,然后对每一 个job划分成一个个的stage,stage内部实际上是由一系列并行计算的task组成的,然后 以TaskSet的形式提交给你TaskSchedule ...
分类:
其他好文 时间:
2020-02-28 13:56:43
阅读次数:
49
首先来说调优是一门黑色艺术,使用来满足人的感知,通过人的感觉来进行配置,达到让人感觉操作系统速度很块的感觉。 操作系统拥有四个瓶颈:cpu,内存,网络,磁盘。调优主要是对上述四个子系统进行配置优化,其中这些配置都在linux系统中/proc和/sys目录下,也就是说/proc和/sys目录下的所有文 ...
分类:
系统相关 时间:
2020-02-28 12:17:54
阅读次数:
65