Mysql处理数据时很慢,没有达到心中理想的性能,无非就是以下五种情况
(1)硬件配置低,导致处理速度慢,查看服务器硬件资源的使用情况如CPU、内存、存储、I/O (2)网络带宽窄,可以使用测速软件行进测试
(3)提供服务软件的版本低,导致性能低下
(4)sql语句未优化,导致查询,写入,删除慢
(5)处理数据量超大,超过当前配置承受力
那我们简单设置一下Mysql的参数,使其达到性能最大化
1.查看服务运行时的参数配置 Mysql配置文件/etc/my.cnf
show variables;
show variables like "%关键字%";
show variables like "%innodb%";
//以上三条为可以查询Mysql中一些配置需要用到的查询语句
2 常用参数:
(1)并发连接数量
Max_used_connections/max_connections=0.85
//有过的最大连接数量/允许的最大并发连接数=0.85(<=0.85比较正常)
例:show global status like "Max_used_connections";
set global max_connections = 数字;
(2)连接超时时间
show variables like "%timeout%";
connect_timeout 客户端与服务器建立连接时tcp三次握手超时的时间,默认 10 秒
wait_timeout 客户端与服务器建立连接后,等待执行sql命令的超时时间。等待关闭连接的不活动超时秒数,默认 28800 秒( 8 小时)
(3)可以重复使用的线程的数量 thread
show variables like "%thread%";
thread_cache_size = 9 //程序运行时的最低线程数量
(4)所有线程同时打开表的数量
show variables like "%open%";
table_open_cache 2000
(5)与查询相关参数的设置 (这里以字节为单位)
key_buffer_size //用于 MyISAM 引擎的关键索引缓存大小,当 Key_reads / Key_read_requests 较低时可适当加大此缓存值
sort_buffer_size //为每个要排序的线程分配此大小的缓存空间,增大此值可提高速度
read_buffer_size //为顺序读取表记录保留的缓存大小,此缓存值影响 SQL 查询的响应速度
thread_cache_size //允许保存在缓存中被重用的线程数量
table_open_cache //为所有线程缓存的打开的表的数量
(6)与查询缓存相关参数的设置
show variables like "query_cache%";
query_cache_limit 1048576 //大于该值的查询结果不写入查询缓存
query_cache_min_res_unit 4096 //查询缓存最小存储单元
query_cache_size 1048576 //查询缓存大小
query_cache_type OFF //值0 | 1 | 2 ;0没启用 1没超过就存 2 需指定存才存查询缓存
query_cache_wlock_invalidate OFF //查询缓存写锁无效开关(只作用于myisam存储引擎)
未经允许不得转载:天府数据港官方信息博客 » Mysql之简单调优
客官点个赞呗! (0)