Mysql Innodb 性能参数设置 https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html

参考原文:

https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html

查看系统cpu,内存,硬盘使用情况

1、 cat /proc/cpuinfo  或者 更直观的查看cpu的型号命令:dmesg |grep -i xeon

查看内存的方法

2、 cat /proc/meminfo  或者 更直观的查看内存的命令:free -m

查看硬盘大小

3、df -h

这里粘贴部分原文:

What is there inside MySQL InnoDB buffer pool?

MySQL InnoDB buffer pool contains the following things inside:

Data caching - InnoDB data pages.
Indices caching - index data.
Buffering data - Dirty pages - data which are modified in memory but not yet flushed (written) to a data disk.
Internal structures - InnoDB buffer pool additionally stores the internal structures such as Adaptive Hash Index, row level locks, etc.

The unit of the above-mentioned objects are calculated as - InnoDB pages. Each InnoDB pages is 16k in size.

如何最优设置:

How to deal with this situation?

When we cannot keep an entire database in memory, we should try to keep at least working data set in memory. In most cases, we are not going to process the data of an entire table, so the required data set should be in memory. So it is always better to allocate around 75% - 80% of the total available memory of server machine to innodb_buffer_pool_size.

同时文中给出了其中的一个计算方式:

How much memory should allocate to InnoDB buffer pool?

Recommended InnoDB buffer pool size based on the all InnoDB data and indices with additional 50% memory:

set @idbdataindx = (select sum(data_length+index_length) from information_schema.tables where engine = ‘innodb‘);

set @ibpsG = @idbdataindx * 1.5 / (1024*1024*1024);

select @ibpsG;

如何设置:

SHOW VARIABLES LIKE ‘%innodb_buffer_pool_size%‘;
Example:
Online method:
SET GLOBAL innodb_buffer_pool_size = 26843545600;

Offline method:
innodb_buffer_pool = 26G   (需要重启服务器)

SHOW VARIABLES LIKE ‘%innodb_buffer_pool_size%‘;

Example:

Online method:

SET GLOBAL innodb_buffer_pool_size = 26843545600;

Offline method:

innodb_buffer_pool = 26G

原文地址:https://www.cnblogs.com/cbugs/p/9256090.html

时间: 2024-10-01 07:13:55

Mysql Innodb 性能参数设置 https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html的相关文章

mysql数据库性能参数配置(转)

max_connections MySql的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,MySql会为每个连接提供连接缓冲区,就会开销越多的内存,连接数太大,服务器消耗的内存越多,以至于影响服务器性能,所以要根据服务器的配置适当调整该值,不能盲目提高设值.可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小. show variables like 'max_connections' 最大连接数

关于mysql的wait_timeout参数 设置不生效的问题【转】

关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeout';+---------------+-------+| Variable_name | Value |+---------------+-------+| wait_timeout | 100 |+---------------+-------+1 row in set (0.00 sec) mysq

在线调整InnoDB Buffer Pool Size

InnoDB Buffer Pool主要是用来缓存数据表和索引数据的内存区域,它的默认值为134217728字节(128MB).最大值取决于CPU架构;32位系统上的最大值为4294967295(232-1),64位系统上的最大值为18446744073709551615(264-1).在32位系统上,CPU体系结构和操作系统的实际最大大小可能低于标准的最大大小.当缓冲池的大小大于1GB时,将innodb_buffer_pool_instances设置为大于1的值可以提高繁忙服务器上的可伸缩性.

关于mysql的wait_timeout参数 设置不生效的问题

关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeout';+---------------+-------+| Variable_name | Value |+---------------+-------+| wait_timeout | 100 |+---------------+-------+1 row in set (0.00 sec) mysq

mysql innodb 性能优化

默认情况下,innodb的参数设置的非常小,在生产环境中远远不够用比如最重要的两个参数innodb_buffer_pool_size 默认是8Minnodb_flush_logs_at_trx_commit 默认设置的是1 也就是同步刷新log(可以这么理解) innodb_buffer_pool_size: 这是InnoDB最重要的设置,对InnoDB性能有决定性的影响.默认的设置只有8M,所以默认的数据库设置下面InnoDB性能很差.在只有 InnoDB存储引擎的数据库服务器上面,可以设置6

Mysql配置文件参数设置

Mysql常用配置文件参数设置 [mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very

MySQL 数据库常见调优方法及参数设置

1. 关闭 SELinux vim /etc/selinux/config 更改 SELINUX=enforcing 为 SELINUX=disabled 2. 更改 IO Schedule, 对于 SSD 硬盘无需更改 echo deadline > /sys/block/sda/queue/scheduler 3. 更改 ulimit vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 root soft

mysql优化之参数优化(转)

1.优化方式 硬件优化=>系统优化=>mysql配置优化=>SCHEMA优化=>sql优化=>其他解决方案(redis or MongoDB or Cassandra or HBase) 2.mysql配置分析 1)常见瓶颈 90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内存,减小数据读取量 如果CPU很高,或者查询时间很长,90%索引不当 如果系统发生swap,必定是内存分配不当 所以优化,总是会围绕着提高对内存的使用率+减少IO,比如内存缓存+索

mysql优化之参数优化

1.优化方式 硬件优化=>系统优化=>mysql配置优化=>SCHEMA优化=>sql优化=>其他解决方案(redis or MongoDB or Cassandra or HBase) 2.mysql配置分析 1)常见瓶颈 90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内存,减小数据读取量 如果CPU很高,或者查询时间很长,90%索引不当 如果系统发生swap,必定是内存分配不当 所以优化,总是会围绕着提高对内存的使用率+减少IO,比如内存缓存+索