MySQL 内存和CPU优化相关的参数

mysql> SHOW GLOBAL STATUS LIKE ‘innodb%read%‘;
+---------------------------------------+---------+
| Variable_name                         | Value   |
+---------------------------------------+---------+
| Innodb_buffer_pool_read_ahead_rnd     | 0       |
| Innodb_buffer_pool_read_ahead         | 0       |
| Innodb_buffer_pool_read_ahead_evicted | 0       |
| Innodb_buffer_pool_read_requests      | 612     |
| Innodb_buffer_pool_reads              | 179     |
| Innodb_data_pending_reads             | 0       |
| Innodb_data_read                      | 5115904 |
| Innodb_data_reads                     | 189     |
| Innodb_pages_read                     | 178     |
| Innodb_rows_read                      | 0       |
+---------------------------------------+---------+
10 rows in set (0.00 sec)

#多核CPU
innodb_read_io_threads
innodb_write_io_threads

#内存
缓冲池命中率=
Innodb_buffer_pool_read_requests/(
Innodb_buffer_pool_read_requests+Innodb_buffer_pool_read_ahead+Innodb_buffer_pool_reads)
平均每次读取字节数
Innodb_data_read/Innodb_data_reads

Innodb_data_reads:表示从物理磁盘读取页的次数
Innodb_buffer_pool_read_ahead:预读的次数
Innodb_buffer_pool_read_ahead_evicted:预读的页,但是没有被读取就从缓冲池中被替换的页的数量,一般用来判断预读的频率
Innodb_buffer_pool_read_requests:从缓冲池中读取页的次数
Innodb_data_read:一共读取的字节数
Innodb_data_reads:发起读取请求的次数,每次读取可能需要读取多个页

  

时间: 2024-11-07 18:47:44

MySQL 内存和CPU优化相关的参数的相关文章

mysql内存和IO优化一些重要参数

1.innodb_flush_log_at_trx_commit 0:日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作. 1:在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新. 2:在每个提交,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新.对日志文件每秒刷新一次. 默认值是 1,也是最安全的设置,即每个事务提交的时候都会从 log buffer 写到日志文件(buffer log),而且会实际刷新磁盘,但是这样性能有

MySQL索引统计信息更新相关的参数

MySQL统计信息相关的参数: 1. innodb_stats_on_metadata(是否自动更新统计信息),MySQL 5.7中默认为关闭状态 仅在统计信息配置为非持久化的时候生效. 也就是说在innodb_stats_persistent 配置为OFF的时候,非持久化存储统计信息的手,innodb_stats_on_metadata的设置才生效. 当innodb_stats_on_metadata设置为ON的时候, InnoDB在执show table status 或者访问INFORMA

mysql内存使用以及优化中需要的几点注意

1.从内存中读取数据是微秒级别的.而从磁盘读则是毫秒级别的.二者相差一个数量级.所以想优化数据库,第一个要做到的就是优化io. 2.key_buffer_size[global]设置的内存区域大小缓存了myisam表的索引.由于myisam只缓存索引在内存中,并不缓存数据在内存,所以如果内存允许,要让这个参数足够能容纳所有myisam的所有索引来提高性能.另外,在myisam表上,尽量让所有的查询条件都限制在索引上,以便能让缓存替我们提高查找效率. 3.bulk_insert_buffer_si

mySQL内存及虚拟内存优化设置

为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的^-^ 更改后如下: innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀 query_cache_size=100M          ->16M 查询缓存 tmp_table_size=102M       

MySQL设计规范与性能优化

引言 MySQL是目前使用最为广泛的关系型数据库之一,如果使用得当,可支撑企业级高并发.高可靠服务,使用不当甚至连并发量略高的个人网站都难以支撑: 就算使用了缓存,大量的数据库访问依旧在所难免,即使设置了较长的缓存有效期,而且缓存命中率较理想,但缓存的创建和过期后的重建都是需要访问数据库的: 本文主要从MySQL表结构设计规范和MySQL自身性能优化两方面来讨论该如何对MySQL数据库进行优化: MySQL表结构设计规范 1. 数据库设计命名规范 (1)数据库,数据表一律使用前缀,前缀名称一般不

Mysql内存表配置及性能测试

centos7 mysql数据库安装和配可以参考一下文章,基本照做就可以了(我选的方法二): http://www.cnblogs.com/starof/p/4680083.html 说到内存表,首先有两个概念简单区分下: 1.临时表:2.内存表: 临时表与内存表的区分: 临时表是指使用create temprary table创建的临时表.临时表可以使用任何存储引擎,临时表只在单个连接中可见,当连接断开时,临时表也会消失. MySQL最初会将临时表创建在内存中,当数据变的太大后,就会转储到磁盘

docker内存及cpu限制(不断总结中)

在一台物理机上启动了多个docker容器时,就需要对内存及cpu做出相关的限制,以达到容器互不影响的目的 限制内存:-m选项 注:限制内存后进入容器中(free -m)查看内存,显示的内存为物理机的内存 [[email protected] ~]# docker run -d -p 80 -m 200m --name nginx nginx b1086dbc4e4a4230c6289d99230c8a6a37e9e28e993678303cb97acd7faa6a09 [[email prote

mysql性能优化之服务器参数配置-内存配置

MySQL服务器参数介绍 MySQL获取配置信息路径 命令行参数 mysqld_safe --datadir=/data/sql_data 配置文件 mysqld --help --verbose | grep -A 1 'Default options' /etc/my.cnf/ /etc/mysql/my.cnf /home/mysql/my.cnf ~/.my.cnf MySQL配置参数的作用域 全局参数(需要重新登录才能生效) set global 参数名=参数值; set @@glob

mysql内存参数整理和条调优以及内存统计

date:20140530auth:Jin 参考:http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#http://dev.mysql.com/doc/refman/5.5/en/memory-use.htmlhttp://blog.csdn.net/wyzxg/article/details/7268122http://blog.csdn.net/wyzxg/article/details/7268175 *.