LAMP系统MySQL数据库服务器优化技巧:进程的设置调优

运维 系统运维
LAMP系统MySQL数据库服务器优化技巧:有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为:替换有问题的硬件、进程的设置调优、对查询进行优化。LAMP系统MySQL数据库服务器优化技巧:进程的设置调优。

LAMP系统MySQL数据库服务器优化技巧:进程的设置调优

  MySQL 服务器(也称为 mysqld)进行调优。对这个进程进行调优意味着适当地分配内存,并让 mysqld 了解将会承受何种类型的负载。加快磁盘运行速度不如减少所需的磁盘访问次数。类似地,确保 MySQL 进程正确操作就意味着它花费在服务查询上的时间要多于花费在处理后台任务(如处理临时磁盘表或打开和关闭文件)上的时间。对 mysqld 进行调优是本文的重点。

  对查询进行缓存

  很多 LAMP 应用程序都严重依赖于数据库,但却会反复执行相同的查询。每次执行查询时,数据库都必须要执行相同的工作 —— 对查询进行分析,确定如何执行查询,从磁盘中加载信息,然后将结果返回给客户机。MySQL 有一个特性称为查询缓存,它将(后面会用到的)查询结果保存在内存中。在很多情况下,这会极大地提高性能。不过,问题是查询缓存在默认情况下是禁用的。

  将 query_cache_size = 32M 添加到 /etc/my.conf 中可以启用 32MB 的查询缓存。

  监视查询缓存

  在启用查询缓存之后,重要的是要理解它是否得到了有效的使用。MySQL 有几个可以查看的变量,可以用来了解缓存中的情况。清单 2 给出了缓存的状态。

  清单 2. 显示查询缓存的统计信息

  1. mysql> SHOW STATUS LIKE 'qcache%';  
  2.  
  3. +-------------------------+------------+  
  4.  
  5. | Variable_name | Value |  
  6.  
  7. +-------------------------+------------+  
  8.  
  9. | Qcache_free_blocks | 5216 |  
  10.  
  11. | Qcache_free_memory | 14640664 |  
  12.  
  13. | Qcache_hits | 2581646882 |  
  14.  
  15. | Qcache_inserts | 360210964 |  
  16.  
  17. | Qcache_lowmem_prunes | 281680433 |  
  18.  
  19.  | Qcache_not_cached | 79740667 |  
  20.  Qcache_queries_in_cache | 16927 |  
  21.  
  22. Qcache_total_blocks | 47042 |  
  23.  
  24. +-------------------------+------------+  
  25.  
  26. 8 rows in set (0.00 sec)  

  通常,间隔几秒显示这些变量就可以看出区别,这可以帮助确定缓存是否正在有效地使用。运行 FLUSH STATUS 可以重置一些计数器,如果服务器已经运行了一段时间,这会非常有帮助。

  使用非常大的查询缓存,期望可以缓存所有东西,这种想法非常诱人。由于 mysqld 必须要对缓存进行维护,例如当内存变得很低时执行剪除,因此服务器可能会在试图管理缓存时而陷入困境。作为一条规则,如果 FLUSH QUERY CACHE 占用了很长时间,那就说明缓存太大了。

【编辑推荐】

Ubuntu下LAMP的配置

Ubuntu10.04下LAMP环境的搭建

LAMP配置MYsql问题-1045

责任编辑:zhaolei 来源: CSDN
相关推荐

2011-03-14 13:51:21

LAMPMySQL优化

2011-03-14 13:51:21

LAMPMySQL

2011-03-14 13:51:16

LAMPMySQL

2011-03-11 15:53:02

LAMP优化

2011-03-11 15:52:59

LAMP优化

2023-04-03 10:25:00

数据库性能调优

2010-05-19 17:44:09

2011-03-11 15:52:57

LAMP优化

2011-03-14 09:49:32

LAMP调优方法

2011-03-11 15:53:00

LAMP优化

2011-04-07 16:15:31

MySQL服务器调优

2022-01-28 15:44:00

Linux服务器技巧

2011-08-24 10:15:55

Oracle数据库服务器进程

2011-05-12 09:43:28

MySQL数据库服务器字符集设置

2011-05-24 09:45:41

Oracle数据库系统调优

2023-10-04 11:16:03

数据库MySQL

2011-10-24 07:31:37

数据库服务器优化

2011-03-18 11:21:48

2011-03-10 14:40:52

2022-03-24 10:57:18

数据库MySQLSQL
点赞
收藏

51CTO技术栈公众号