看看掷中功效来举办进一步的判定
- mysql> show status like '%Qcache%';
- +-------------------------+-----------+
- | Variable_name | Value |
- +-------------------------+-----------+
- | Qcache_free_blocks | 669 |
- | Qcache_free_memory | 132519160 |
- | Qcache_hits | 1158 |
- | Qcache_inserts | 284824 |
- | Qcache_lowmem_prunes | 2741 |
- | Qcache_not_cached | 1755767 |
- | Qcache_queries_in_cache | 579 |
- | Qcache_total_blocks | 1853 |
- +-------------------------+-----------+
- 8 rows in set (0.00 sec)
Qcache_free_blocks:暗示查询缓存中今朝尚有几多剩余的blocks,假如该值表现较大,则声名查询缓存中的内存碎片过多了,也许在必然的时刻举办清算。
Qcache_free_memory:查询缓存的内存巨细,通过这个参数可以很清楚的知道当前体系的查询内存是否够用,是多了,照旧不足用,DBA可以按照现实环境做出调解。
Qcache_hits:暗示有几多次掷中缓存。我们首要可以通过该值来验证我们的查询缓存的结果。数字越大,缓存结果越抱负。
Qcache_inserts: 暗示几多次未掷中然后插入,意思是新来的SQL哀求在缓存中未找到,不得不执行查询处理赏罚,执行查询处理赏罚后把功效insert到查询缓存中。这样的环境的次数,次数越多,暗示查询缓存应用到的较量少,结果也就不抱负。虽然体系刚启动后,查询缓存是空的,这很正常。
Qcache_lowmem_prunes:该参数记录有几多条查询由于内存不敷而被移除出查询缓存。通过这个值,用户可以恰当的调解缓存巨细。
Qcache_not_cached: 暗示由于query_cache_type的配置而没有被缓存的查询数目。
Qcache_queries_in_cache:当前缓存中缓存的查询数目。
Qcache_total_blocks:当前缓存的block数目。
- 我们可以看到现网掷中1158,未缓存的有1755767次,声名我们这个体系掷中的太少了,表变换较量多,不什么开启这个成果涉及参数
- query_cache_limit:应承 Cache 的单条 Query 功效集的最大容量,默认是1MB,高出此参数配置的 Query 功效集将不会被 Cache
- query_cache_min_res_unit:配置 Query Cache 中每次分派内存的最小空间巨细,也就是每个 Query 的 Cache 最小占用的内存空间巨细
- query_cache_size:配置 Query Cache 所行使的内存巨细,默认值为0,巨细必需是1024的整数倍,假如不是整数倍,MySQL 会自动调解低落最小量以到达1024的倍数
- query_cache_type:节制 Query Cache 成果的开关,可以配置为0(OFF),1(ON)和2(DEMAND)三种,意义别离如下: 0(OFF):封锁 Query Cache 成果,任何环境下都不会行使 Query Cache 1(ON):开启 Query Cache 成果,可是当 SELECT 语句中行使的 SQL_NO_CACHE 提醒后,将不行使Query Cache 2(DEMAND):开启 Query Cache 成果,可是只有当 SELECT 语句中行使了 SQL_CACHE 提醒后,才行使 Query Cache
- query_cache_wlock_invalidate:节制当有写锁定产生在表上的时候是否先失效该表相干的 Query Cache,假如配置为 1(TRUE),则在写锁定的同时将失效该表相干的全部 Query Cache,假如配置为0(FALSE)则在锁按时候如故应承读取该表相干的 Query Cache。
innodb_additional_mem_pool_size(InnoDB内部目次巨细)
InnoDB 字典信息缓存首要用来存放 InnoDB 存储引擎的字典信息以及一些 internal 的共享数据布局信息,也就是存放Innodb的内部目次,以是其巨细也与体系中所行使的 InnoDB 存储引擎表的数目有较大相关。
这个值不消分派太大,凡是配置16M够用了,默认8M,假如配置的内存巨细不足,InnoDB 会自动申请更多的内存,并在 MySQL 的 Error Log 中记录告诫信息。
innodb_log_buffer_size (日记缓冲)
暗示InnoDB写入到磁盘上的日记文件时行使的缓冲区的字节数,默认值为16M。一个大的日记缓冲区应承大量的事宜在提交之前不消写日记到磁盘,以是假若有更新,插入或删除很多行的事宜,则使日记缓冲区更大一些可以节减磁盘IO
凡是最大设为64M足够
max_connections (最大并发毗连)
MySQL的max_connections参数用来配置最大毗连(用户)数。每个毗连MySQL的用户均算作一个毗连,max_connections的默认值为100。
- 这个参数现实起浸染的最大值(现实最大可毗连数)为16384,即该参数最大值不能高出16384,纵然高出也以16384为准;
- 增进max_connections参数的值,不会占用太多体系资源。体系资源(CPU、内存)的占用首要取决于查询的密度、服从等;
- 该参数配置过小的最明明特性是呈现”Too many connections”错误
- mysql> show variables like '%max_connect%';
- +-----------------------+-------+
- | Variable_name | Value |
- +-----------------------+-------+
- | extra_max_connections | 1 |
- | max_connect_errors | 100 |
- | max_connections | 2048 |
- +-----------------------+-------+
- 3 rows in set (0.00 sec)
-
- mysql> show status like 'Threads%';
- +-------------------+---------+
- | Variable_name | Value |
- +-------------------+---------+
- | Threads_cached | 0 |
- | Threads_connected | 1 |
- | Threads_created | 9626717 |
- | Threads_running | 1 |
- +-------------------+---------+
- 4 rows in set (0.00 sec)
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|