0

0

Linux环境MySQL服务器级优化讲解

php中文网

php中文网

发布时间:2016-06-07 16:53:19

|

899人浏览过

|

来源于php中文网

原创

大多数下列测试在Linux上并用MySQL基准进行的,但是它们应该对其他操作系统和工作负载给出一些指示。 当你用-static链接时

  摘要:本节简单介绍了如何在服务器级优化数据库的性能,以及提高数据库性能涉及到的硬件问题。选择一个尽量快的系统,使用RAID磁盘阵列是非常容易想到的方法。对于数据库守护程序,既可以在编译时就提供合适的参数,也可以在选项文件中提供需要优化的参数。

  标签:MySQL优化 MySQL参数 服务器级优化 MySQL数据库

  前面各段介绍了普通的 MySQL 用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由 MySQL 管理员和系统管理员来完成的优化,这些管理员在 MySQL 服务器或运行 MySQL 的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度,应该对它们进行调整。

  磁盘问题

  正如前面所述,磁盘寻道是一个性能的大瓶颈。当数据开始增长以致缓存变得不可能时,这个问题变得越来越明显。对大数据库,在那你或多或少地要随机存取数据,你可以依靠你将至少需要一次磁盘寻道来读取并且几次磁盘寻道写入。为了使这个问题最小化,使用有低寻道时间的磁盘。

  为了增加可用磁盘轴的数量(并且从而减少寻道开销),符号联接文件到不同磁盘或分割磁盘是可能的。

  1、使用符号连接

  这意味着你将索引/数据文件符号从正常的数据目录链接到其他磁盘(那也可以被分割的)。这使得寻道和读取时间更好(如果磁盘不用于其他事情)

  2、分割

  分割意味着你有许多磁盘并把第一块放在第一个磁盘上,在第二块放在第二个磁盘上,并且第 n块在第(n mod number_of_disks)磁盘上,等等。这意味着,如果你的正常数据大小于分割大小(或完美地排列过),你将得到较好一些的性能。注意,分割是否很依赖于OS和分割大小。因此用不同的分割大小测试你的应用程序。见10.8 使用你自己的基准。注意对分割的速度差异很依赖于参数,取决于你如何分割参数和磁盘数量,你可以得出以数量级的不同。注意你必须选择为随机或顺序存取优化。

  为了可靠,你可能想要使用袭击RAID 0+1(分割+镜像),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据。如果你有钱,这可能是最好的选择!然而你也可能必须投资一些卷管理软件投资以高效地处理它。

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载

  一个好选择是让稍重要的数据(它能再生)上存在RAID 0磁盘上,而将确实重要的数据(像主机信息和日志文件)存在一个RAID 0+1或RAID N磁盘上。如果因为更新奇偶位你有许多写入,RAID N可能是一个问题。

  你也可以对数据库使用的文件系统设置参数。一个容易的改变是以noatime选项挂装文件系统。这是它跳过更新在inode中的最后访问时间,而且这将避免一些磁盘寻道。

  硬件问题

  可利用硬件更有效地改善服务器的性能:

  1、在机器中安装更多的内存。这样能够增加服务器的高速缓存和缓冲区的尺寸,使服务器更经常地使用存放在内存中的信息,降低从磁盘取信息的要求。

  2、如果有足够的 RAM 使所有交换在内存文件系统中完成,那么应该重新配置系统,去掉所有磁盘交换设置。否则,即使有足以满足交换的 RAM,某些系统仍然要与磁盘进行交换。

  3、增加更快的磁盘以减少 I/O 等待时间。寻道时间是这里决定性能的主要因素。逐字地移动磁头是很慢的,一旦磁头定位,从磁道读块则较快。

  在不同的物理设备上设法重新分配磁盘活动。如果可能,应将您的两个最繁忙的数据库存放在不同的物理设备上。请注意,使用同一物理设备上的不同分区是不够的。这样没有帮助,因为它们仍将争用相同的物理资源(磁盘头)。移动数据库的过程在第 10 章中介绍。

  4、在将数据重新放到不同设备之前,应该保证了解该系统的装载特性。如果在特定的物理设备上已经有了某些特定的主要活动,,将数据库放到该处实际上可能会使性能更坏。例如,不要把数据库移到处理大量Web 通信的Web 服务器设备上。

  5、在设置 MySQL 时,应该配置其使用静态库而不是共享库。使用共享库的动态二进制系统可节省磁盘空间,但静态二进制系统更快(然而,如果希望装入用户自定义的函数,则不能使用静态二进制系统,因为 UDF 机制依赖于动态连接)。

linux

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Node.js 教程
Node.js 教程

共57课时 | 8.6万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号