zoukankan      html  css  js  c++  java
  • mysql优化之-配置

    MySQL 配置文件优化

    1.当写入时,使用 innodb_flush_method=O_DIRECT 来避免双缓冲。
    2.避免使用 O_DIRECT 和 EXT3 文件系统 – 你将序列化所有要写入的。
    3.分配足够的 innodb_buffer_pool_size 来加载整个 InnoDB 文件到内存中– 少从磁盘中读取。
    4.不要将 innodb_log_file_size 参数设置太大, 这样可以更快同时有更多的磁盘空间 – 丢掉多的日志通常是好的,在数据库崩溃后可以降低恢复数据库的时间。
    5.不要混用 innodb_thread_concurrency 和 thread_concurrency 参数– 这2个值是不兼容的。
    6.分配一个极小的数量给 max_connections 参数 – 太多的连接会用尽RAM并锁定MySQL服务。
    7.保持 thread_cache 在一个相对较高的数字,大约 16 – 防止打开连接时缓慢。
    8.使用skip-name-resolve参数 – 去掉 DNS 查找。
    9.如果你的查询都是重复的,并且数据不常常发生变化,那么可以使用查询缓存。但是如果你的数据经常发生变化,那么使用查询缓存会让你感到失望。
    10.增大temp_table_size值,以防止写入磁盘
    11.增大max_heap_table_size值,以防止写入磁盘
    12.不要把sort_buffer_size值设置的太高,否则的话你的内存将会很快耗尽
    13.根据key_read_requests和key_reads值来决定key_buffer的大小,一般情况下key_read_requests应该比key_reads值高,否则你不能高效的使用key_buffer
    14.将innodb_flush_log_at_trx_commit设置为0将会提高性能,但是如果你要保持默认值(1)的话,那么你就要确保数据的完整性,同时你也要确保复制不会滞后。
    15.你要有一个测试环境,来测试你的配置,并且在不影响正常生产的情况下,可以常常进行重启。

    优化MySQL的配置

    my.ini

    port=3306 默认端口是3306
    max_connections=100		# 最大连接数/最大并发数,一般网站调整到 1000 左右 ,可以修改到2000,再大没有用 
    query_cache_size=15M 		# 调整查询缓存的大小 
    
    [innodb] 
    innodb_additional_mem_pool_size=64M 
    innodb_buffer_pool_size=1G 
    
    [myisam]
    key_buffer_size 	#需要调整 
    

    调整参数还要看状态,用 show status 可以看到当前状态,以决定该调整哪些参数
    如果你的机器内存超过4G,则应当采用64位操作系统和64位MySQL5.5.19

  • 相关阅读:
    shell编程基础(六): 透彻解析查找命令find
    shell编程基础(五): 正则表达式及其使用
    shell编程基础(三): 位置参数与shell脚本的输入输出
    shell编程基础(二): shell脚本语法之分支语句和循环语句
    shell编程基础(一): 基本变量和基本符号
    SpringCloud学习(一):微服务简介
    ubuntu 安装bazel
    numpy reshape resize用法
    L0、L1及L2范数
    linux常用的搜索命令
  • 原文地址:https://www.cnblogs.com/daozhangblog/p/12446399.html
Copyright © 2011-2022 走看看