一.高效的模型设计 先了解下数据库设计的三大范式 第一范式:要求有主键,并且要求每一个字段原子性不可再分 第二范式:要求所有非主键字段完全依赖主键,不能产生部分依赖 第三范式:所有非主键字段和主键字段之间不能产生传递依赖 对于基于性能的数据库Schema设计,我们并不能完全以规范化范式理论来作为唯一的指导.在设计过程中,应该从实际需求出发,以性能提升为根本目标来展开设计工作,很多时候为了尽可能提高性能,我们必须做反范式设计. 1.适度冗余- 让Query 尽量减少Join 熟悉MySQL的优化器…
Spark性能调优之代码方面的优化 1.避免创建重复的RDD     对性能没有问题,但会造成代码混乱   2.尽可能复用同一个RDD,减少产生RDD的个数   3.对多次使用的RDD进行持久化(cache,persist,checkpoint) 如何选择一种最合适的持久化策略?     默认MEMORY_ONLY, 性能很高, 而且不需要复制一份数据的副本,远程传送到其他节点上(BlockManager中的BlockTransferService),但是这里必须要注意的是,在实际的生产环境中,…
本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质是什么,以及 Spark 在性能调优部份的要点,这两点让在进入性能调优之前都是一个至关重要的问题,它的本质限制了我们调优到底要达到一个什么样的目标或者说我们是从什么本源上进行调优.希望这篇文章能为读者带出以下的启发: 了解大数据性能调优的本质 了解 Spark 性能调优要点分析 了解 Spark 在…
针对多线程的并发访问,任何一个数据库都有其锁定机制,它的优劣直接关系着数据的一致完整性与数据库系统的高并发处理性能.锁定机制也因此成了各种数据库的核心技术之一.不同数据库存储引擎的锁定机制是不同的,本文将从MySQL最常见的存储引擎MyISAM与InnoDB的锁定机制说起. 一.MyISAM的锁机制--表级锁定 MySQL表级锁定的常见类型主要分为两种,一种是读锁,一种是写锁.谁持有读锁?谁持有写锁?谁在等待读锁资源?谁在等待写锁资源?数据库系统都是要记录的.MySQL中,主要通过如下4个队列来…
针对多线程的并发访问,任何一个数据库都有其锁定机制,它的优劣直接关系着数据的一致完整性与数据库系统的高并发处理性能.锁定机制也因此成了各种数据库的核心技术之一.不同数据库存储引擎的锁定机制是不同的,本文将从MySQL最常见的存储引擎MyISAM与InnoDB的锁定机制说起. 一.MyISAM的锁机制——表级锁定 MySQL表级锁定的常见类型主要分为两种,一种是读锁,一种是写锁.谁持有读锁?谁持有写锁?谁在等待读锁资源?谁在等待写锁资源?数据库系统都是要记录的.MySQL中,主要通过如下4个队列来…
序号 参数名 说明 JDK 默认值 使用过 1 JVM执行模式 2 -client-server 设置该JVM运行与Client 或者Server Hotspot模式,这两种模式从本质上来说是在JVM中运行不同的JIT(运行时编译模块)代码,并且两者在JVM内部的接口是一致的.客户端模式优化的是系统启动时间更快,而服务端模式的优化则更关注与系统的整体性能.一般来说Client选项用于GUI的应用,Server选项多用于后台服务器应用.另外两者在编译策略.垃圾收集策略.堆使用上也有所不同 是 3…
转载:http://www.cnblogs.com/jcchoiling/p/6440709.html 一.大数据性能调优的本质 编程的时候发现一个惊人的规律,软件是不存在的!所有编程高手级别的人无论做什么类型的编程,最终思考的都是硬件方面的问题!最终思考都是在一秒.一毫秒.甚至一纳秒到底是如何运行的,并且基于此进行算法实现和性能调优,最后都是回到了硬件! 在大数据性能的调优,它的本质是硬件的调优!即基于 CPU(计算).Memory(存储).IO-Disk/ Network(数据交互) 基础上…
前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 JVM性能调优(3) -- 内存分配和垃圾回收调优 一.JDK工具 先来看看有哪些常用的工具可以辅助我们进行性能调优和问题排查,后面再通过一个具体的示例结合工具来分析调优. 1.JDK工具 JDK自带了很多性能监控工具,我们可以用这些工具来监测系统和排查内存性能问题. 2.利用 jps 找出进程 jps(Java Virtual Machine Process Status…
前言 我们就从底层的网络 I/O 模型优化出发,再到内存拷贝优化和线程模型优化,深入分析下 Tomcat.Netty 等通信框架是如何通过优化 I/O 来提高系统性能的. 网络 I/O 模型优化 网络通信中,最底层的就是内核中的网络 I/O 模型了. 随着技术的发展,操作系统内核的网络模型衍生出了五种 I/O 模型,<UNIX 网络编程>一书将这五种 I/O 模型分为阻塞式 I/O.非阻塞式 I/O.I/O 复用.信号驱动式 I/O 和异步 I/O.每一种 I/O 模型的出现,都是基于前一种…
一.前言 MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.本章将介绍最为常用的两种存储引擎进行针对性的优化建议. 二.MyISAM存储引擎优化 我们知道,MyISAM存储引擎是MySQL最为古老的存储引擎之一,也是最为流行的存储引擎之一.对于以读请求为主的非事务系统来说,MyISAM存储引擎由于其优异的性能表现及便利的维护管理方式无疑是大家最优先考虑的对象.这一节我们将通过分析MyISAM存储引擎的相关特性,来寻找提高MyISAM…