(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要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Toomany connections 错误。 默认数值是100,我把它改为1024 。
(5)、record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128K),我把它改为16773120(16M)
(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDERBY或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实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。
分享到:
相关推荐
优化主要可以从以下几个方面来进行: 1. **查询优化**:针对SQL查询语句进行优化,使其执行得更快。 2. **数据库结构优化**:通过调整数据库表结构来提高查询效率。 3. **MySQL服务器优化**:通过对MySQL服务器的...
本文将从几个关键方面详细介绍如何优化MySQL的性能。 #### 1. 最底层优化 - **参数优化**:通过调整MySQL服务器的各项配置参数来提升性能。例如,可以通过增加`innodb_buffer_pool_size`的值来提高InnoDB存储引擎的...
MySQL性能优化诊断脚本是一种非常实用的工具,用于检测和分析MySQL数据库的性能问题。`tuning-primer.sh`就是这样一个脚本,它通过运行一系列的查询和检查,为数据库管理员提供有关系统性能的深入见解,并提出可能的...
一般来说,一个查询会经历以下几个步骤:接收查询、词法分析、语法分析、查询优化、生成执行计划、执行计划并返回结果。在这一过程中,我们可以通过EXPLAIN命令查看查询执行计划,以理解数据库如何处理查询,并据此...
### MySQL性能优化关键知识点 #### 一、MySQL优化思路 MySQL优化主要分为三个层次:SQL语句优化、表结构优化以及服务器配置优化。 1. **SQL语句优化**: - **选择合适的索引**:确保查询时使用的字段被正确索引...
#### 五、优化MySQL服务器 在服务器层面上进行优化同样至关重要,这包括但不限于内存配置、磁盘I/O优化以及网络配置等。 - **内存配置**:合理设置缓存和缓冲区大小,比如`innodb_buffer_pool_size`等参数。 - **...
### MySQL性能优化与诊断 #### 一、MySQL存储引擎对比:MyISAM vs InnoDB 在MySQL中,MyISAM和InnoDB是最常用的两种存储引擎。对于不同的应用场景,选择合适的存储引擎至关重要。以下是对这两种存储引擎的主要特点...
MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高数据库的运行速度和效率,减少资源占用和系统瓶颈。下面将详细介绍MySql数据库性能优化的相关知识点。 什么是优化? 优化是指通过...
8. 硬件和操作系统优化:分析硬件(CPU、内存、存储等)和操作系统对MySQL性能的影响,以及如何选择合适的硬件和操作系统参数以提高性能。 9. 现实应用问题:讨论在实际应用中遇到的性能问题,并提供解决这些问题的...
MySQL8.0内存相关参数是优化数据库性能的关键因素,它们决定了数据库如何管理和使用内存资源,以提高查询效率和系统稳定性。下面将详细解释几个重要的内存参数及其作用。 1. **innodb_buffer_pool_size**: 这是...
MySQL优化主要包括以下几个方面: 1. **查询优化**:通过对SQL查询语句的调整,使得查询更加高效。 2. **数据库结构优化**:包括表设计、索引设计等,以提高数据存取效率。 3. **MySQL服务器优化**:通过调整MySQL...
首先,性能优化主要涉及以下几个方面: 1. **查询优化**:高效的SQL查询是性能提升的关键。这包括避免全表扫描,合理使用索引,避免在WHERE子句中使用不等操作或函数,以及避免在JOIN操作中使用不匹配的数据类型。...
在这种情况下,优化工作可以从以下几个方面着手: 1. **分析SQL语句**:检查SQL查询是否合理,是否存在不必要的JOIN操作或过度复杂的子查询。尽量减少表的关联数量,避免全表扫描,利用索引来加速查询。对于关联多...
对于MySQL数据库来说,性能优化可以从多个层面来进行,包括但不限于硬件层面、系统参数配置、数据库结构设计、查询语句优化以及索引优化等。 一、硬件层面 在硬件层面,我们可以通过增加内存、使用更快的硬盘(如...
本文主要介绍了 MySQL 数据库的查询执行过程,包括 SQL 语句的词法扫描、语法分析、语义检查、优化和执行等六个阶段,并分析了影响查询执行效率的客观因素。同时,本文还提出了几种实践可行的性能优化方法,能够保证...
MySQL的优化主要可以从以下几个方面来进行: 1. **查询优化**:通过对查询语句进行优化,减少不必要的数据访问,提高查询效率。 2. **数据库结构优化**:通过合理设计表结构、索引以及存储引擎等,提升数据库的整体...