• mysql性能优化


    导致数据库服务器响应客户端的访问请求慢:

    1 硬件配置低:cpu(uptime,top) 内存(free -m) 硬盘I/O(top中的wa)

    2 带宽:网络测速软件

    3 数据库版本低,修改服务运行时配置参数 :

    命令行修改,重启服务失效

    #mysql>set [global] 变量名=值;

    查看变量

    #mysql>show variables like "%关键字%"

    修改配置文件,永久生效;

    vim /etc/my.conf

    [mysqld]

    变量名=值

    影响处理速度参数有那些?

    max_connections:最大并发连接数

    曾经有过的最大连接数/max_connections=0.85

    曾经有过的最大连接数:#mysql>show global status like "max_used_connections";

    显示当前的连接信息:#mysql>show processlist;

    connect_timeout:建立连接时,tcp三次握手的超时时间,默认10秒

    wait_timeout:连接建立后,等待断开的超时时间,默认8个小时

    thread_cache_size:充许保存在缓存中可以重复使用线程数量 

    table_open_cache=3:为所有线程缓存的打开表的数量

    mysql的功能模块
    连接池:    接收到客户端连接时,检查是否有线程 和资源响应本次连接
    SQL接口:   把sql命令传递给mysql服务处理
    分析器:  检查sql命令语法是否正确
    优化器:   对执行的sql命令做优化处理
    查询缓存:   查询缓存空间是从机器的物理内存划分出来的,存储曾经查找过的记录。

    表记录。
    存储引擎 表处理器 (myisam / innodb )
    文件系统 硬盘(存储服务器)

    管理工具 软件安装后提供的命令

    数据库服务器处理客户端查询请求的过程?
    当数据库服务器接收到查询请求时,先在本机的查询缓存里查询数据。若查询

    缓存里有查找的数据,从查询缓存提取数据,返给客户端,若没有,到表中查

    找记录,找到之后,先把查询结果存放到查询缓存里,在把结果返给客户端。

    查看数据库服务器与查询相关参数的设置
    mysql> show variables like "query_cache%";
    query_cache_type = 0|1|2
    0 不允许存

    1|2 允许存

    1 只要查询结果没超过query_cache_limit就可以存
    2 程序要在执行查询时,要在查询命令里加 select 加存放本次查询结果的关键字 * from a;

    query_cache_wlock_invalidate | OFF
    当客户端查询myisam存储引擎的表时,若此时有客户端同时对查询的表做写

    操作的话,数据库服务不从查询缓存里提取查询结果返给客户端,而是等对表

    的写操作完成后,重新从表里查找记录返给客户端。

    查看当前数据库服务器查询缓存的统计信息
    mysql> show global status like "qcache%";
    Qcache_hits 5 查询结果是在查询缓存里找到的次数
    Qcache_inserts 50 查询请求总数

    Qcache_lowmem_prunes 查询缓存空间不足的次数

    查询日志文件:记录客户端连接后执行的所有sql命令

    general-log

    general-log-file=目录名/文件名

    慢查询日志:

    slow-query-log

    slow-query-time=3(超过指定秒数的查询才被记录)

    slow-query-log-file=目录名/文件名

    #mysqldumpslow db20-slow.log

    Qcache_not_cached 35 不允许把查询结果存放到查询缓存里的次数

    innodb_lock_wait_timeout 50



  • 相关阅读:
    Linux ACL 权限之进阶篇
    Linux umask
    Linux 特殊权限 SUID,SGID,SBIT
    隔离 docker 容器中的用户
    理解 docker 容器中的 uid 和 gid
    Linux ugo 权限
    Dockerfile 中的 COPY 与 ADD 命令
    2013年全年总结
    参加2013中国大数据技术大会(BDTC2013)
    读书笔记2013第18本:《像外行一样思考,像专家一样实践》
  • 原文地址:https://www.cnblogs.com/wwchihiro/p/9107750.html
Copyright © 2020-2023  润新知