`
stephen830
  • 浏览: 2964540 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

加快MySQL服务器运行速度的三种方法

 
阅读更多

 

加快MySQL服务器运行速度的三种方法

 

如今,社会讲求的就是快速,什么事都要有效率,当然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.cnf中所做的配置。
  清单1.启用MySQL慢速查询日志
  以下为引用的内容:
  [mysqld]; enable the slow query log, default 10 secondslog-slow-queries; log queries taking longer than 5 secondslong_query_time = 5; log queries that don’t use indexes even if they take less than long_query_time; MySQL 4.1 and newer onlylog-queries-not-using-indexes
  这三个设置一起使用,可以记录执行时间超过5秒和没有使用索引的查询。请注意有关 log-queries-not-using-indexes 的警告:您必须使用 MySQL 4.1 或更高版本。慢速查询日志都保存在 MySQL 数据目录中,名为 hostname-slow.log。如果希望使用一个不同的名字或路径,可以在my.cnf中使用log-slow-queries = /new/path/to/file 实现此目的。
  阅读慢速查询日志最好是通过mysqldumpslow命令进行。指定日志文件的路径,就可以看到一个慢速查询的排序后的列表,并且还显示了它们在日志文件中出现的次数。一个非常有用的特性是mysqldumpslow在比较结果之前,会删除任何用户指定的数据,因此对同一个查询的不同调用被计为一次;这可以帮助找出需要工作量最多的查询。

 

 

分享到:
评论

相关推荐

    如何对MySQL服务器进行调优

    如今,开发人员不断地开发和部署使用 LAMP(Linux?...但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的。这份 共三部分的系列文章将讨论许多...有3种方法可以加快MySQL服务器的运行速度

    高性能MySQL(第3版).part2

    目录 推荐序 前言 第1章MySQL架构与历史1 1.1MySQL逻辑架构1 1.1.1连接管理与安全性...附录BMySQL服务器状态655 附录C大文件传输683 附录DEXPLAIN687 附录E锁的调试703 附录F在MySQL上使用Sphinx713 索引739

    苹果CMS程序是一套采用PHP+MYSQL环境下运行的完善而强大的快速建站系统

    程序体积小->优化程序代码,运行速度快->高效的缓存处理,只要普通的虚拟主机就可以完美搭建起来,建站成本非常低。仿MVC模板分离,内置标签,自定义函数标签接口,强大的自定义采集功能,只要你会HTML就可以轻松...

    MYSQL优化详情大全

    以下是一些常见的MySQL优化方法和技巧的描述: 优化数据库结构:设计良好的数据库结构可以提高查询效率。包括正确选择数据类型、合理设置索引、避免冗余字段等。 优化查询语句:编写高效的查询语句可以减少数据库...

    MYSQL之插入极限分析

    2、如果你从不同的客户端插入很多行,能通过INSERT DELAYED语句加快速度。参见13.2.4 节,“INSERT语法”。 3、用MyISAM,如果在表中没有删除的行,能在SELECT语句正在运行的同时插入行。 4、当从一个文本文件装载...

    数据库系统的核心是什么(2).docx

    MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。 SQL Server SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对...

    战刀API淘客自动采集系统 v6.0.zip

    4.网页缓存功能 进一步加快网页打开速度 后台开启网页缓存功能 可加快网页打开速度. 5.网站配置 包括网站标题、名称、LOGO、 Meta 关键字、Meta 描述、网站版权、带手机版本 6.伪静态功能 需服务器支持 URL重写 7...

    server-for-web:一次性的全自动Shell脚本,用于安装所有必需的软件,以便在Ubuntu 18.04 LTS上运行Laravel。 创建用户,安装ufw,nginx,php,nodejsyarn,MariaDBMySQL,PostgreSQL,Certbot(让我们加密),Redis,Memcached,Beanstalkd,fail2ban,mosh。 可选参数可用

    除了描述之外,以下是此脚本所做的一些操作(默认情况下): 启用ubuntu自动升级安全性版本使用apt-fast加快安装速度CLI工具: , , whois , , , , , 使用 , , 安装并启用zsh 创建交换文件以避免内存不足...

    淘宝客程序全自动采集版源码 淘宝客自动采集软件

    9、后台开启网页缓存功能,可加快网页打开速度 10、文章资讯 后台可添加文章,或采集文章。 11、后台提供Mysql数据库分卷备份。 12、只需在后台设置好淘点金代码 即可实现全站的,所有淘宝链接自动转换成佣金链接。 ...

    biketrips-organizer

    yarn(能够运行webpack开发服务器) 创建一个MySQL数据库(在主项目文件夹中的脚本)并在后端/src/main/resources/application.properties文件中进行配置运行BiketripsManagerApplication类中的main方法该应用程序将...

    数据库系统的核心.doc

    MySQL服务器支持 关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。 SQL Server SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对...

    tiny-compress-images:WordPress.org插件镜像

    通过压缩JPEG和PNG图像来加快您的网站的速度。 该插件通过与流行的图像压缩服务TinyJPG和TinyPNG集成,自动优化您的图像。 您可以从下载该插件。 在了解有关TinyPNG的更多信息。 联系我们 有问题或反馈吗? 让我们...

    杰奇1.4 破解版+注册机

    GZIP压缩,就是压缩显示的网页,可以加快显示速度,但是会消耗一些服务器资源。 2、参数设置: 后台的系统管理,以及下面每个模块都有一个参数设置,用户可以根据实际情况调整。 3、用户组管理 在后台的系统...

    杰奇1.4 破解版

    GZIP压缩,就是压缩显示的网页,可以加快显示速度,但是会消耗一些服务器资源。 2、参数设置: 后台的系统管理,以及下面每个模块都有一个参数设置,用户可以根据实际情况调整。 3、用户组管理 在后台的系统...

Global site tag (gtag.js) - Google Analytics