LAMP系统MySQL数据库服务器优化技巧:进程的设置调优
创始人
2024-07-23 01:21:01
0

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...