`
rq2_79
  • 浏览: 234536 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL性能优化的参数简介

阅读更多

公司网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 MySQL 的优化,第一步自然想到的是 MySQL 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 MySQL 默认的系统参数能够让 MySQL运行得非常顺畅。
通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的:
(1)、back_log:

要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。 

当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
(2)、interactive_timeout:

服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 CLIENT_INTERACTIVE 选项的客户。 默认数值是28800,我把它改为7200。
(3)、key_buffer_size:

索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8M),我的MySQL主机有2GB内存,所以我把它改为402649088(400MB)。
(4)、max_connections:

允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Too many connections 错误。 默认数值是100,我把它改为1024 。
(5)、record_buffer:

每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128K),我把它改为16773120 (16M)
(6)、sort_buffer:

每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。默认数值是2097144(2M),我把它改为 16777208 (16M)。
(7)、table_cache:

为所有线程打开表的数量。增加该值能增加mysql要求的文件描述符的数量。MySQL对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。
(8)、thread_cache_size: 

可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。
(10)、wait_timeout:

服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。
注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 MySQL 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。asp?id=482" width=1 border=0>

分享到:
评论

相关推荐

    MySQL性能优化之参数配置.doc

    MySQL性能优化之参数配置、性能优化、内存。通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。

    高并发基础之-MySql性能优化.pdf

    我们可以通过 SHOW STATUS 语句查看 MySQL 数据库的性能参数 • SHOW STATUS LIKE 'value‘ 常用的参数: • Slow_queries 慢查询次数: • 什么是慢查询? mysql 读写分离的时候的日志,里面记录了执行某条 sql ...

    【荐】mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)

    此配置是老男孩生产线上使用的配置,这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数 对各参数添加了中文说明 ======= back_log = 600 #在MYSQL暂时停止响应新请求之前,短...

    MySQL性能优化之参数配置.docx

    描述如何优化mysql,让数据库执行语句更快,性能更佳

    MySQL性能优化之参数配置

    mysql性能优化的配置过程,back_log值指出在MySQL暂时停⽌止回答新请求之前的短时间内多少个请求可以被存在堆栈中。也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一...

    MySQL性能优化详解.docx

    MySQL语句优化是提高数据库性能的关键步骤,它包括调整参数配置、优化SQL语句和分析执行计划等。以下是一些常见的优化策略: 使用EXPLAIN分析查询:通过在查询语句前加上EXPLAIN关键字,可以了解MySQL是如何处理该...

    MySQL性能优化权威指南

    来自Sun Microsystems的MySQL性能优化权威指南,详细介绍了数据库连接池中各个参数的设定!

    Mysql性能调优指引.pdf

    Mysql性能调优指引 包含如下内容: 1、调优指引(定义调优的目标) 2、调优步骤(收集信息、分析问题、验证性能问题的原因、进行调整、观察性能调整的效果) 3、调优方法(USE方法、延迟分析法) 4、程序访问/Server调优...

    mysql服务性能优化my_cnf配置说明详解16G内存[参考].pdf

    mysql服务性能优化my_cnf配置说明详解16G内存[参考].pdf

    MySQL调优及mysql性能优化.doc

    Mysql性能优化就是通过合理安排资源,调整系统参数使MySql运行更快、更节省资源。 不难发现,原来mysql调优其实就是从时间、空间这两个方面来进行优化 mysql怎么调优 第一:选择最合适的字段属性。 mysql在创建...

    mysql5.6性能优化

    合理安排资源、调整系统参数使MySQL运行更快、更节省资源。 优化是多方面的,包括查询、更新、服务器等。 原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。

    MySQL服务器性能优化.docx

    MySQL服务器性能优化全文共3页,当前为第1页。MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化 MySQL...

    MySQL性能调优与架构设计(中文版)

     第9章 MySQL数据库Schema设计的性能优化  第10章 MySQL Server性能优化  第11章 常用存储引擎优化 第3篇 架构设计篇  第12章 MySQL可扩展设计的基本原则  第13章 可扩展性设计之MySQL Replication  第...

    mysql优化配置大全

    同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两...

    MySQL介绍和优化分享

    mysql性能优化,mysql中参数设置,MySQL介绍和优化分享

    史上最牛逼的mysql性能优化方案

    1 数据表结构的设计与性能优化 2 索引优化 3 多表联查优化 4 并发和阻塞问题 5 日志库优化 6 MySql配置优化 7 CentOS参数优化 8 MySQL服务器监控 9 SQL语句性能优化 9.2 、子查询优化 9.3 、海量数据分页优化 10 ...

    Mysql高级性能优化思维导图

    MySQL高级性能优化的关键点: 数据库设计和规范化:确保数据库表结构合理、字段类型正确,并进行适当的规范化,以减少数据冗余和提高查询效率。 索引优化:根据查询需求创建适当的索引,避免过多或不必要的索引,...

    mysql性能优化

    mysql性能调优和参数配置 来自知数堂 mysql性能调优和参数配置 来自知数堂

    MySQL DBA教程:Mysql性能优化之缓存参数优化

    在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助

Global site tag (gtag.js) - Google Analytics