• mysql性能优化


    导致数据库服务器处理速度慢的原因有哪些?

    1.服务器硬件配置低

    uptime             负载

    iostat  df -h            磁盘状态       

    free -h          内存状态

    2.服务器运行参数配置不合理

    查看所有变量:show variables [like "%binlog%"];

    查看状态:show global status [like "%innodb%"];

    刷新状态信息:flush status;

    查看与服务性能相关的参数:

    1》max_connections:允许最大的并发连接数

    修改:

    1.set global max_connections=值;

    2.echo max_connections=值 >> /etc/my.cnf

    查看:

    show variables like “max_connections”;

    注意:

    曾经并发数/设置的并发连接数=0.85

    2》connect_timeout:连接超时时间(默认10秒)

    3》wait_timeout:关闭数据库连接的不活动超时时间(默认8小时)

    4》key_buffer_size:用于MYISAM引擎的关键索引缓存大小(默认8M)

    5》sort_buffer_size:为每个要排序的线程分配此大小的缓存空间

    6》read_buffer_size:为顺序读取表记录保留的缓存大小

    7》thread_cache_size:允许保存在缓存中被重用的线程数量(默认9)

    8》table_open_cache:为所有线程缓存的打开表的数量(默认2000)

    SQL查询优化:

    查询日志:记录客户端连接和查询操作(root+授权用户)

    general_log                          ------------->重启mysqld服务                                   -----》默认在/var/lib/mysql/主机名.log

    general_log_file=自定义日志路径                          //若自定义目录,则目录归属权限为mysql.mysql

    慢查询日志:记录耗时较长或不使用索引的查询操作

    slow_query_log                   //启用慢查询日志

    slow_query_log_file=自定义慢查询日志的存储路径             默认在/var/lib/mysql

    log_query_time=数值                                     //超多少秒加入日志(默认10秒)

    log_queries_not_using_indexes                                     //不使用索引的加入日志

    --------------------------------------》重启mysqld服务                          ----》生成/var/lib/mysql/主机名-slow.log

    统计慢查询日志到文件中:

    mysqldumpslow     /var/lib/mysql/主机名-slow.log    >  文件名

    查看缓存的大小:

    show variables like "query_cache%";

    query_cache_size                         //查看缓存大小

    query_cache_type             //查看缓存是否开启

    查看当前的查询缓存统计:

    show global status like "qcache%";

    qcache_hits:在查询缓存里面查找到的数据次数

     

    步骤:

    升级服务器硬件

    加大网络带宽

    调整mysql服务运行参数

    调整与查询相关的参数

    启用慢查询日志

    网络架构不合理

  • 相关阅读:
    本周面试总结
    本周面试总结
    本周面试题总结
    网络请求AJAX
    es6数组、对象的解构赋值
    es6箭头函数
    es6总结
    js限定输入为数字包括负数正则
    js限定输入为非负数,浮点数正则
    js数值千分隔(正则)
  • 原文地址:https://www.cnblogs.com/krystal-LA-zx/p/13644531.html
Copyright © 2020-2023  润新知