首页 数据库 mysql教程 Mysql入门系列:优化MYSQL服务器_MySQL

Mysql入门系列:优化MYSQL服务器_MySQL

Jun 01, 2016 pm 01:55 PM
影响 服务器 缓冲区 运行环境

  MySQL服务器有几个影响其操作的参数(变量)。如果缺省的参数值不合适,可以将其修改为对服务器运行环境更合适的值。例如,如果您有大量的内存,可以告诉服务为磁盘和索引操作使用较大的缓冲区。这将使内存持有更多的信息并减少了必须进行的磁盘访问的数

  量。如果是一般的系统,可以告诉服务器使用较小的缓冲区,以防止它扰乱系统资源损害其他的进程。

  系统变量的当前值可以通过执行mysqladmin variables 命令来检查。变量可利用- - set - variable var_name = value 选项在命令行设置( -ovar_name = value 是等价的)。如果要想设置几个变量,可使用多个--set-variable 选项,还可以使用下列语法在一个选项文件的[mysqld] 组中设置变量:

  set -variale=var_name=value

  在附录E的mysql程序的条款下给出了服务器变量的全部清单。有关性能优化比较常用的变量已在以下列表中给出。您还可以在MySQL参考手册的“从MySQL中获得最高性能”一章中找到该主题的附加讨论。

  back_log 引入的客户机连接请求的数量,这些请求在从当前客户机中处理时排队。如果您有一个很忙的站点,可以增加该变量的值。

  delayed_queue_size 此变量控制被排队的INSERT DELAYED 语句中的行数。如果该队列已满,则更多的INSERT DELAYED 将堵塞,直到队列有空间为止,这样可防止发布那些语句的客户机继续进行操作。如果您有许多执行这种INSERT 的客户机,且发现它们正在堵塞,那么应增加该变量,使更多的客户机更快地进行工作( INSERT D E L AYED 在4 . 5节“调度与锁定问题”中讨论)

  flush_time 如果系统有问题并且经常锁死或重新引导,应将该变量设置为非零值,这将导致服务器按flush_time 秒来刷新表的高速缓存。用这种方法来写出对表的修改将降低性能,但可减少表讹误或数据丢失的机会。

  在Windows 中,可以在命令行上用--flush 选项启动服务器,以迫使表的修改在每次更新后被刷新。

  key _ buffer_size 用于存放索引块缓冲区的大小。如果增加该变量值,将加快创建和修改索引操作的时间。值越大MySQL就越有可能在内存中查找键值,这将减少索引处理所需的磁盘访问次数。

  在MySQL3.23 以前的版本中,该变量名为key _ buffer。MySQL3.23 及后来的版本同时识别这两个名字。

  max_allowed_packet 客户机通信所使用的缓冲区大小的最大值。如果有客户机要发送大量的BLOB 或TEXT 的值,该服务器变量值可能需要增大。

  客户机目前使用大小为24MB 的缺省缓冲区。如果有使用较小缓冲区的旧客户机。可能需要使该客户机的缓冲区大一些。例如, mysql可以按如下调用来指定一个2 4 MB 信息包的限制值:

  mysql--set-varibale max_allowed_packet=24M

  max_connections 服务器允许的客户机同时连接的最大数量。如果服务器繁忙,可能需要增加该值。例如,如果您的MySQL服务器被Web 服务器使用来处理由DBI 或PHP 脚本产生的查询,并且还有大量的Web 通信,如果该变量设置太低的话,则您站点的访问者会发现请求被拒绝。

  table_cache 表的高速缓存的大小。增加该值可以使mysqld 保持更多的表,同时打开并减少必须进行的文件打开和关闭操作的次数。

  如果增加了max_connections 或table_cache 值的大小,服务器将需要大量的文件描述符。这将引起有关操作系统对文件描述符总进程数量限定的问题,在这种情况下您需要增加该限制值或逐步解决它。由于增加文件描述符数量的限制值,过程会发生变化,所以您可能会在一个运行脚本中使用ulimit 命令时来这样做,该脚本可用于启动服务器,或用于重新配置您的系统。有些系统可以通过编辑系统描述文件来简单地配置和重新引导。对于其他一些系统,则必须编辑一个内核描述文件并重建该内核。如何继续进行下去,请参考您系统的文档。

  解决总进程文件描述符限制的一个方法是:将数据目录分离成多个数据目录并运行多个服务器。这样,通过运行多个服务器使可用的描述符数量成倍增长。但另一方面,其他的复杂因素可能会引起问题。由于命名了两个服务器,您不能从一个单个的服务器上访问不同数

  据目录中的数据库,并且还需要在不同服务器之间复制授权表的权限,以便用户需要访问一个以上的服务器。

  有两个变量是管理员为提高性能时常增加的,它们是record _ buffer 和sort _ buffer。这些缓冲区在连接和分类操作中使用,但其值是属于每个连接的。也就是说,每个客户机都获得属于自己的缓冲区。如果使这些变量的值很大,性能可能会由于昂贵的系统资源的消耗而遭受实际的损失。如果想要修改这些变量,先执行mysqladmin variables 查看一下它们当前的值,然后增量调整其值。这个操作使您能估计为减少严重的性能降低所进行的修改的效果。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox错误 VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox错误 Mar 24, 2024 am 09:51 AM

在VirtualBox中尝试打开磁盘映像时,可能会遇到错误提示,指示硬盘无法注册。这种情况通常发生在您尝试打开的VM磁盘映像文件与另一个虚拟磁盘映像文件具有相同的UUID时。在这种情况下,VirtualBox会显示错误代码VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)。如果您遇到这个错误,不必担心,有一些解决方法可以尝试。首先,您可以尝试使用VirtualBox的命令行工具来更改磁盘映像文件的UUID,这样可以避免冲突。您可以运行命令`VBoxManageinternal

电驴搜索连不上服务器如何解决 电驴搜索连不上服务器如何解决 Jan 25, 2024 pm 02:45 PM

解决办法:1、检查电驴设置,确保已输入正确的服务器地址和端口号;2、检查网络连接,确保计算机已连接到互联网,并重置路由器;3、检查服务器是否在线,如果您的设置和网络连接都没有问题,则需要检查服务器是否在线;4、更新电驴版本,访问电驴官方网站,下载最新版本的电驴软件;5、寻求帮助。

使用飞行模式接收电话的效果如何 使用飞行模式接收电话的效果如何 Feb 20, 2024 am 10:07 AM

飞行模式别人打电话会怎么样手机已经成为人们生活中必不可少的工具之一,它不仅仅是通信工具,还是娱乐、学习、工作等多种功能的集合体。随着手机功能的不断升级和改进,人们对于手机的依赖性也越来越高。在飞行模式出现后,人们可以更方便地在飞行中使用手机。但是,有人担心在飞行模式下别人打电话的情况会对手机或者使用者产生什么样的影响呢?本文将从几个方面来进行分析和讨论。首先

无法连接到RPC服务器导致无法进入桌面的解决方法 无法连接到RPC服务器导致无法进入桌面的解决方法 Feb 18, 2024 am 10:34 AM

RPC服务器不可用进不了桌面怎么办近年来,计算机和互联网已经深入到我们的生活中的各个角落。作为一种集中计算和资源共享的技术,远程过程调用(RPC)在网络通信中起着至关重要的作用。然而,有时我们可能会遇到RPC服务器不可用的情况,导致无法进入桌面。本文将介绍一些可能导致此问题的原因,并提供解决方案。首先,我们需要了解RPC服务器不可用的原因。RPC服务器是一种

CentOS安装fuse及CentOS安装服务器详解 CentOS安装fuse及CentOS安装服务器详解 Feb 13, 2024 pm 08:40 PM

作为一名LINUX用户,我们经常需要在CentOS上安装各种软件和服务器,本文将详细介绍如何在CentOS上安装fuse和搭建服务器的过程,帮助您顺利完成相关操作。CentOS安装fuseFuse是一个用户空间文件系统框架,允许非特权用户通过自定义文件系统实现对文件系统的访问和操作,在CentOS上安装fuse非常简单,只需按照以下步骤操作:1.打开终端,以root用户登录。2.使用以下命令安装fuse软件包:```yuminstallfuse3.确认安装过程中的提示,输入`y`继续。4.安装完

如何将Dnsmasq配置为DHCP中继服务器 如何将Dnsmasq配置为DHCP中继服务器 Mar 21, 2024 am 08:50 AM

DHCP中继的作用是将接收到的DHCP数据包转发到网络上的另一个DHCP服务器,即使这两个服务器位于不同的子网中。通过使用DHCP中继,您可以实现在网络中心部署一个集中式的DHCP服务器,并利用它为所有网络子网/VLAN动态分配IP地址。Dnsmasq是一种常用的DNS和DHCP协议服务器,可以配置为DHCP中继服务器,以帮助管理网络中的动态主机配置。在本文中,我们将向您展示如何将dnsmasq配置为DHCP中继服务器。内容主题:网络拓扑在DHCP中继上配置静态IP地址集中式DHCP服务器上的D

用PHP构建IP代理服务器的最佳实践指南 用PHP构建IP代理服务器的最佳实践指南 Mar 11, 2024 am 08:36 AM

在网络数据传输中,IP代理服务器扮演着重要的角色,能够帮助用户隐藏真实IP地址,保护隐私、提升访问速度等。在本篇文章中,将介绍如何用PHP构建IP代理服务器的最佳实践指南,并提供具体的代码示例。什么是IP代理服务器?IP代理服务器是一种位于用户与目标服务器之间的中间服务器,它充当用户与目标服务器之间的中转站,将用户的请求和响应进行转发。通过使用IP代理服务器

epic服务器离线进不了游戏怎么办?epic离线进不了游戏解决方法 epic服务器离线进不了游戏怎么办?epic离线进不了游戏解决方法 Mar 13, 2024 pm 04:40 PM

  epic服务器离线进不了游戏怎么办?这个问题想必很多小伙伴都有遇到过,出现了此提示就是导致正版的游戏无法启动,那么出现这个问题一般是网络和安全软件干扰导致的,那么应该怎么解决呢,本期小编就来和大伙分享解决方法,希望今日的软件教程可以帮助各位解决问题。  epic服务器离线进不了游戏怎么办:  1、很可能是被安全软件干扰了,将游戏平台和安全软件关闭在重启。  2、其次就是网络波动过大,尝试重启一次路由器,看看是否有效,如果条件可以的话,可以尝试使用5g移动网络来进行操作。  3、然后有可能是更

See all articles