思智网络—旗下品牌
忘记密码
长沙云服务器,长沙服务器租用,长沙服务器托管
全国统一服务热线:88900700(7*24h)
 思智网络——专注于企业级IDC解决方案!
  • 顶级网络高速接入
  • 十年经验管理完善
  • 资质齐全放心可靠
  • 专业服务快速稳定
  • 免费备案快速高效
  • 自维机房全年无休
  • 免费测试省钱省心
  • 行业评价有口皆碑

解决方案专区 more>>

负载均衡解决方案
服务器网络安全解决方案
数据异地灾备解决方案
网络加速综合解决方案

典型客户 more>>

  • 潇湘晨报网
  • SANY
  • 盛大金禧
  • 湖南有线
  • 金杯电工
  • 长沙长海医院
  • 蝴蝶树
  • 中国人民大学
  • 湖南妈妈网
  • 美迪装饰
  • 小新星
  • 湖南武警医院
思智网络学院

如何对MySQL服务器进行调优

发表:湖南数据中心文员   文章来源:湖南思智网络科技有限公司   
[摘要]        如今,社会讲求的就是快速,什么事都要有效率,当然MySQL服务器也是要有效率。开发人员不断地开发和部署使用LAMP(Linux?、Ap……

 

      如今,社会讲求的就是快速,什么事都要有效率,当然MySQL服务器也是要有效率。开发人员不断地开发和部署使用LAMP(Linux?、Apache、MySQL 和 PHP/Perl)架构的应用程序。但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的。本文重点讨论为实现最高效率而对数据库层进行的调优。

 
  有3种方法可以加快MySQL服务器的运行速度,效率从低到高依次为:
 
  第一种方法时替换有问题的硬件。对MySQL进程的设置进行调优。对查询进行优化。
 
  替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源。不过这种解决方案也就仅限于此了。实际上,您通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大4到8倍。
 
  第二种方法是对MySQL服务器(也称为mysqld)进行调优。
 
  对这个进程进行调优意味着适当地分配内存,并让 mysqld 了解将会承受何种类型的负载。加快磁盘运行速度不如减少所需的磁盘访问次数。类似地,确保 MySQL 进程正确操作就意味着它花费在服务查询上的时间要多于花费在处理后台任务(如处理临时磁盘表或打开和关闭文件)上的时间。对mysqld进行调优是本文的重点。
 
  最好的方法是确保查询已经进行了优化。这意味着对表应用了适当的索引,查询是按照可以充分利用MySQL功能的方式来编写的。尽管本文并没有包含查询调优方面的内容(很多著作中已经针对这个主题进行了探讨),不过它会配置mysqld来报告可能需要进行调优的查询。
 
  虽然已经为这些任务指派了次序,但是仍然要注意硬件和mysqld的设置以利于适当地调优查询。机器速度慢也就罢了,我曾经见过速度很快的机器在运行设计良好的查询时由于负载过重而失败,因为mysqld被大量繁忙的工作所占用而不能服务查询。
 
  第三种方法是记录慢速查询
 
  在一个SQL服务器中,数据表都是保存在磁盘上的。索引为服务器提供了一种在表中查找特定数据行的方法,而不用搜索整个表。当必须要搜索整个表时,就称为表扫描。通常来说,您可能只希望获得表中数据的一个子集,因此全表扫描会浪费大量的磁盘I/O,因此也就会浪费大量时间。当必须对数据进行连接时,这个问题就更加复杂了,因为必须要对连接两端的多行数据进行比较。
 
  当然,表扫描并不总是会带来问题;有时读取整个表反而会比从中挑选出一部分数据更加有效(服务器进程中查询规划器用来作出这些决定)。如果索引的使 用效率很低,或者根本就不能使用索引,则会减慢查询速度,而且随着服务器上的负载和表大小的增加,这个问题会变得更加显著。执行时间超过给定时间范围的查询就称为慢速查询。
 
  您可以配置 mysqld 将这些慢速查询记录到适当命名的慢速查询日志中。管理员然后会查看这个日志来帮助他们确定应用程序中有哪些部分需要进一步调查。清单1给出了要启用慢速查询日志需要在my#f中所做的配置。
 
收缩

  • 售前咨询
  • 技术支持
  • 备案专员
  • 24小时客服热线:
  • 88900700

微信号:hnidccn