`

优化mysql数据库性能的十个参数

 
阅读更多

preftest
性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com)
MySQL性能诊断与调优


LAMP 系统性能调优,第 3 部分: MySQL 服务器调优
http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html

LoadRunner监控MySQL
http://www.docin.com/p-92272846.html

Advanced MySQL Performance Optimization
http://www.mysqlperformanceblog.com/files/presentations/UC2005-Advanced-MySQL-

Performance-Optimization.pdf

Improving MySQL Server Performance with Intel C++ Compiler
http://www.mysqlperformanceblog.com/files/presentations/LinuxWorld2005-Intel.pdf


MySQL性能诊断与调优相关工具:
http://www.mysqlperformanceblog.com/tools/
http://hackmysql.com/mysqlreport

Spotlight On MySQL:
http://www.quest.com/spotlight-on-mysql/

Mysql Administator

http://downloads.mysql.com/archives.php?p=MySQLAdministrationSuite

phpMyAdmin

http://www.phpmyadmin.net/home_page/index.php




mysql slow log分析工具
http://hackmysql.com/
http://www.willamowius.de/mysql-tools.html
http://code.google.com/p/mysql-log-filter/
http://myprofi.sourceforge.net/



mysql网络协议嗅探工具 - mysqlsniffer

http://hackmysql.com/mysqlsniffer



MySQL性能诊断与调优相关书籍:
《High Performance MySQL Second Edition》



优化mysql数据库性能的十个参数
(1)、max_connections:
允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。
(2)、record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)
(3)、key_buffer_size:
索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8m),我的mysql主机有2gb内存,所以我把它改为 402649088(400mb)。
4)、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。
(5)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 client_interactive 选项的客户。 默认数值是28800,我把它改为7200。
(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速order by或group by操作。默认数值是2097144(2m),我把它改为 16777208 (16m)。
(7)、table_cache:
为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。mysql对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。
(8)、thread_cache_size:
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 connections 和 threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。
(9)mysql的搜索功能
用mysql进行搜索,目的是能不分大小写,又能用中文进行搜索
只需起动mysqld时指定 --default-character-set=gb2312
(10)、wait_timeout:
服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。
注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 mysql 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。
分享到:
评论

相关推荐

    优化MySQL数据库性能的八大妙手.rar

    本文将详细介绍优化MySQL数据库性能的八大妙手,帮助你提升数据库效率,减少延迟,提高用户体验。 一、索引优化 索引是提高查询速度的关键。正确地创建和使用索引可以显著加快数据检索。应为经常用于搜索和排序的列...

    MySql数据库性能优化

    MySql数据库性能优化 MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高数据库的运行速度和效率,减少资源占用和系统瓶颈。下面将详细介绍MySql数据库性能优化的相关知识点。 什么是...

    Mysql数据库性能优化

    MySQL数据库性能优化是一个涵盖多个方面的主题,涉及到数据库配置、索引优化、查询优化、存储引擎选择、内存管理以及数据模型设计等多个环节。以下是对这些关键领域的详细解释: 1. **数据库配置**: - `my.cnf` ...

    mySQL数据库性能优化pdf.pdf

    这篇文章将详细讨论MySQL数据库性能优化的相关知识点,这不仅是Java面试的热点,也是每一位数据库管理员和开发人员应该掌握的技能。 首先,性能优化的范围非常广泛,无论是桌面应用、Web应用还是移动应用,无论是...

    完全优化MySQL数据库性能的方法

    以下是从八个方面介绍的完全优化MySQL数据库性能的方法: 1. **选取合适的字段属性** - 字段宽度:尽可能减小字段的宽度可以降低存储需求,提高查询速度。例如,邮政编码字段只需设定为CHAR(6)即可。 - 避免无用...

    mysql高性能---mysql数据库的性能调优

    本篇将围绕“MySQL高性能—数据库的性能调优”这一主题,深入探讨如何优化MySQL的性能,提升系统整体效率。 首先,性能优化主要涉及以下几个方面: 1. **查询优化**:高效的SQL查询是性能提升的关键。这包括避免全...

    基于MySQL数据库的查询性能优化研究.pdf

    基于 MySQL 数据库的查询性能优化研究 MySQL 数据库是当前网络环境中最流行的开源关系型...提高 MySQL 数据库的查询性能需要从多方面入手,包括硬件配置、索引设计、查询语句优化、数据库连接池等多个方面的优化。

    优化MySQL数据库性能的八种方法

    【MySQL数据库性能优化】 在数据库管理中,优化MySQL性能至关重要,因为它直接影响到应用程序的响应速度和整体效率。以下是一些有效的优化策略: 1. **选取最适用的字段属性**: - 在创建表时,应尽可能减少字段...

    优化MySQL数据库性能的八大“妙手”

    综上所述,优化MySQL数据库性能涉及多方面,包括合理设计表结构、选择合适的数据类型、充分利用索引、优化查询语句以及调整数据库配置等。这些策略可以帮助我们构建一个更加高效、响应迅速的数据库系统。在实际应用...

    MYSQL数据库技术分享.ppt

    MYSQL数据库参数优化是提高MYSQL数据库性能的重要手段。常用的MYSQL数据库参数优化方法包括: 1. 数据库参数优化:通过调整数据库参数,例如innodb_buffer_pool_size、innodb_additional_mem_pool_size、innodb_log...

    MySQL数据库优化实践

    总之,MySQL数据库的优化是一个综合性的过程,涉及到硬件、操作系统和文件系统的多个层面。通过对这些方面进行精细化调整,可以显著提高数据库的运行效率,降低延迟,提升整体服务的质量。在实际操作中,应结合具体...

    MySQL数据库性能(SQL)优化方案.pdf

    本文主要从以下几个方面探讨了如何优化MySQL数据库的SQL性能: 1. **选择合适的字段属性**:为了提高查询速度和节省存储空间,应尽可能减少字段宽度。例如,邮政编码字段可以设定为CHAR(6),而非CHAR(255)或VARCHAR...

    c# mysql数据库连接池实现

    本文将深入探讨如何在C#中使用MySQL数据库连接池。 首先,我们需要了解什么是数据库连接池。数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕...

    浅谈MySQL数据库性能优化

    本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化。  缓存参数  这里先引用一句话,从内存中读取一个数据的...

    2G内存的MYSQL数据库服务器优化

    ### 2G内存的MySQL数据库服务器优化 在IT行业中,对于资源有限的环境进行数据库优化是一项挑战性工作,尤其是在仅有2GB内存的情况下对MySQL数据库服务器进行优化。这种优化旨在提高性能的同时确保系统的稳定运行。 ...

    数据库性能优化方案

    数据库性能优化是IT领域中的一个核心议题,尤其对于处理大量数据的企业级应用而言,高效的数据库性能至关重要。在SQL Server、MySQL和Oracle这三大主流数据库系统中,优化策略各有其特点和技巧。以下将针对这些...

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

    MySQL 性能优化是一种重要的数据库优化技术,通过合理地配置 MySQL 参数,可以最大程度地提高 MySQL 的性能。本文将介绍如何通过修改 MySQL 参数来提高 MySQL 的性能。 修改 back_log 参数 back_log 参数控制着 ...

    MySQL数据库性能优化之缓存参数优化

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

    MySQL数据库的性能优化.pdf

    总之,MySQL数据库性能优化是一个综合性的任务,涉及到数据库设计、SQL编写、索引策略、内存管理和事务处理等多个层面。通过上述方法的综合运用,可以显著提高MySQL数据库的运行效率,满足高并发、大数据量的应用...

Global site tag (gtag.js) - Google Analytics