MySQL性能优化-内存参数配置
Mysql对于内存的使用,可以分为两类,一类是我们无法通过配置参数来配置的,如Mysql服务器运行、解析、查询以及内部管理所消耗的内存;另一类如缓冲池所用的内存等。
Mysql内存参数的配置及重要,设置不当很有可能会造成很大的性能问题甚至是服务器宕机,内存相关参数的配置需要考虑以下两点:
(1)确定可以使用的内存上限;
(2)确定Mysql每个连接使用的内存;
在Mysql的体系中(如下图所示),简单来说可以分为两层,第一层代表各种可以用过Mysql连接协议连接到Mysql的客户端,例如PHP、JAVA、C API 、.NET、ODBC、JDBC等等,这一层主要负责连接管理、授权认证、安全等,连接到Mysql的客户端都会在服务器的进程中有一个独立的线程,这个连接的查询只会单独的在这个线程中执行,也就是并不支持多CPU的并发运算。第二层可以概括为Mysql的服务层。

在服务器中每个连接所分配的内存主要由下面四个参数控制:
(1)sort_buffer_size 连接进行排序时候分配该配置参数大小的内存进行排序操作,比如该大小设置为100M,如果有100个连接同时进行排序将分配10G的内存,很容易造成服务器内存溢出;
(2)join_buffer_size 定义mysql的每个线程所使用连接的缓冲区的大小,对于这个参数需要注意的是,如果一个查询中关联了多张表,那么就会为每个关联分配一个连接缓存,所以每个查询可能会有多个连接缓冲;
(3)read_buffer_size 对MyISAM表进行全表扫描时分配的读缓存池的大小,mysql只会在有查询需要时为该缓存分配内存,分配的内存为配置参数指定内存的大小,大小一般为4K的倍数;
(4)read_rnd_buffer_size 索引缓冲区的大小,有查询需要时才分配内存,分配的大小为需要内存的大小,而不是配置参数的大小;
上面四个参数全部是为每个线程分配的,如果有一百个连接可能会分配100倍以上内存的和。
MySQL性能优化-内存参数配置的更多相关文章
- 数据库相关文章转载(1) MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
- MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
- Mysql性能优化之参数配置(转)
前言: Mysql作为数据库中广泛应用的开源产品,需要面对不同的生产压力,而有些性能问题通过配置优化就可以得到解决,优化可以分为几个方向:1.优化参数配置.2.优化数据库索引.3.优化数据库结构,如分 ...
- MySQL性能优化之max_connections配置参数浅析
这篇文章主要介绍了MySQL性能优化之max_connections配置参数浅析,本文着重讲解了3种配置max_connections参数的方法,需要的朋友可以参考下 MySQL的max_connec ...
- Mysql 性能优化2 系统参数配置方法 和 文件系统
--------------------------------------------目录------------------------------------------------- • 关于 ...
- JVM性能优化--JVM参数配置,使用JMeter简单测试配合说明参数调优
一.JVM参数配置 1.常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 - ...
- MySQL性能优化之max_connections配置
MySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量.如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于M ...
- MYSQL之性能优化 ----MySQL性能优化必备25条
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...
- MySQL性能优化必备25条
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一 ...
随机推荐
- 2318: Spoj4060 game with probability Problem
2318: Spoj4060 game with probability Problem Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 356 Sol ...
- EasyNVR对接EasyCloud视频云平台进行云端录像
EasyCloud视频云平台是一套能够接入各种类型流,进行统一的设备管理.直播.录像.回放的视频平台,同时,EasyCloud视频云平台集成了云端运维功能,在云端就可以直接维护和控制各个现场的软件运行 ...
- Xamarin.Forms学习之Page Navigation(一)
在最初接触Xamarin.Forms的时候,我是跟着Xamarin官方的名为“learning-xamarin-ebook”的pdf文档进行学习的,我在成功运行Hello world程序之后,我开始跟 ...
- echarts, 小知识点随意记录,
注意点: 写echarts代码时,注意格式,每个项的子项用‘,‘分隔,最后一项不需要.如符号不也会造成图形显示不出来.写时注意参照配置项. 如下orient的属性需要单引号,每个项需要逗号等. leg ...
- bat masterNodeRun.bat
C:\> compare C:\> compare C:\>D:\cmd\wphp.bat C:\> compareReq -- :: TODO StartScript -- ...
- CSS:text-decoration参数说明
CSS:text-decoration(下划线参数) underline:下划线 效果:下划线 overline:上划线 效果:上划线 line-through:贯穿线 效果:贯穿线 blink:闪烁 ...
- Java你不知道的那些事儿—Java隐藏特性
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3460373.html 每 种语言都很强大,不管你是像我一样的初学者还是有过N年项目经验的大神,总会有你不知道的 ...
- pmd 使用笔记
pmd是一块开源的代码静态分析工具,使用java编写,可以自定义规则来进行自己想要的分析.pmd可以单独使用,也可以作为idea.eclipse的插件使用.它的规则分为xpath规则,和java规则. ...
- HDFS涉及ACLs的命令
What is ACL Hadoop中的ACL与Linux中的ACL机制基本相同,都是用于为文件系统提供更精细化的权限控制. 参考 HDFS ACLs: Fine-Grained Permission ...
- mysql学习笔记—常用sql函数
SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...