十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文主要给大家简单讲讲如何对MySQL性能实现调优,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何对MySQL性能实现调优这篇文章可以给大家带来一些实际帮助。
公司主营业务:做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出博望免费做网站回馈大家。
MySQL性能调优
提高MySQL系统的性能、影响速度
-替换硬件(CPU/磁盘/内存等)
-服务程序的运行参数调整
-对SQL查询进行优化
并发及连接控制
-连接数、连接超时
max_connections //允许的最大并发连接数
connect_timeout //等待建立连接的超时秒数,默认10秒,只在登录时有效
wait_timeout //等待关闭连接的不活动超时秒数,默认28800秒(8小时)
-产看当前已使用的连接数
mysql>flush status;
mysql>show globale status like "max_used_connections";
-查看默认的最大连接数
mysql>show variables like "max_connections";
-缓存参数控制
缓存区、线程数量、开表数量
key_buffer_size //用于MyISAM引擎的关键索引缓存大小
sort_buffer_size //为每个要排序的线程分配此大小的缓存空间
read_buffer_size //为顺序读取表记录保留的缓存大小
read_rnd_buffer_size //为按排序结果读取表记录保留的缓存大小
thread_cache_size //允许保存在缓存中被重用的线程数量
table_open_cache //为所有线程缓存的打开的表的数量
key_buffer_size=8M
当key_reads/key_read_requests较低时可适当加大此缓存值
mysql>show global status like "key_read%";
mysql>show variables like "key_buffer_size";
sort_buffer_size=256K
增大此值可提高ORDER和GROUP的速度
mysql>show variables like "sort_buffer_size";
查看表记录读取缓存
-此缓存值影响SQL查询的响应速度
mysql>show variables like "read_%_size";
查看可重用线程
mysql>show variables like "thread_%_size";
查看当前的线程重用状态
mysql>show global status like "threads_%";
查看已打开、打开过多少个表
mysql>show global status like "open%tables";
查看可缓存多少个打开的表
mysql>show variables like "table_open_cache";
SQL查询优化
MySQL日志类型,常用日志种类及选项:
错误日志 log_error[=name] //记录启用/运行/停止过程的错误消息
查询日志 general_log,general_log_file= //记录客户端连接和查询操作
慢查询日志 slow_query_log,slow_query_log_file=,long_query_time= //记录耗时较长或不使用索引的查询操作
记录慢查询:
slow-query-log //启用慢查询
slow-query-log-file //指定慢查询日志文件
long-query-time //超过指定秒数(默认10秒)的查询才被记录
log-queries-not-using-indexes //记录未使用索引的查询
调整服务配置:
vim /etc/my.cnf
[mysqld]
...
slow_query_log=1
slow_query_log_file=mysql-slow.log
long_query_time=5
log_queries_not_using_indexes=1
systemctl restart mysqld
查看慢查询日志,使用mysqldumpslow工具
mysqldumpslow /var/lib/mysql/mysql-slow.log
查看缓存的大小
mysql>show variables like "query_cache%";
查看当前的查询缓存统计
mysql>show global status like "qcache%";
如何对MySQL性能实现调优就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。