mysql的优化之我见

对于mysql的优化,本人将从几个方面进行分析

1.cpu

在cpu方面,由于mysql工作的方式为线程,故cpu有多少核心,mysql只会在1个核上运行,基于此,我们可以先把cpu的分离出一个核来,之后使用taskset命令将mysql绑定在之前分离的cpu上,这样可以提高cpu的效率,除了这中办法最直接的就是弄主频高的cpu

2.io

innodb_flush_log_trx_commit--------->来提高io的效率(针对innodb引擎),一般设置的值为2

3.网络

back_log-------->调整队列上限

max_allowd_packet------->一次消息传输的最大值

max_connections------->mysql的最大连接数

设置系统的内核参数tcp_max_syn_backlog和somaxconn

4.内存

innodb_flush_medthod-------->绕过系统的cache

mysql直接将数据写入磁盘

thread_cache_size-------->将mysql的线程进行缓存

key_buffer------->对于myisam引擎而言,该参数可以提高mysql的效率,必须要调整

innodb_buffer_pool------->对于innodb引擎而言,该值一般设置为实际内存的80%

query cache------>设置查询缓存,对于需要大量写入的业务来说,该项可以不设置,但是对于需要n多查询的业务而言,设置后的效率高的吓人

tmp_table_size----->设置临时表的值,该参数的意义在于,将mysql将要进行的操作(一般是排序和索引),我们让其在内存中完成

table_cache------->缓存表的文件描述符,可以增快对于表的访问速度

以上是本人总结的mysql的优化,对于这些优化,我们完全可以更加灵活的去调优,根据自己公司的业务需求,业务种类,公司服务器的硬件配置等等因素综合考虑+分析后,在进行各方面的优化,不要上来什么都不管,自己闷头优化,优化完后,你会觉得还不如不优化,先根据实际情况,可以通过其他工具来查看,当前服务器中的mysql存在哪些问题,对于这些问题,应该调整哪,调整到什么值才合适。
 

本文出自 “海纳百川” 博客,谢绝转载!

你可能感兴趣的:(mysql,优化)