我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mySQL中怎么优化虚拟内存

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mySQL中怎么优化虚拟内存

这篇文章给大家介绍mySQL中怎么优化虚拟内存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

更改后如下:

innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀
query_cache_size=100M          ->16M 查询缓存
tmp_table_size=102M                ->64M 临时表大小
key_buffer_size=256m                ->32M

重启mysql服务后,虚拟内存降到200以下.

另外mysql安装目录下有几个文件:my-huge.ini 、my-large.ini、my-medium.ini...这几个是根据内存大小作的建议配置,新手在设置的时候也可以参考一下。
2G内存的MYSQL数据库服务器 my.ini优化 (my.ini)

2G内存,针对站少,优质型的设置,试验特:

table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=8M   默认为2M
innodb_flush_log_at_trx_commit=0 等到innodb_log_buffer_size列队满后再统一储存,默认为1
innodb_log_buffer_size=4M          默认为1M
innodb_thread_concurrency=8       你的服务器CPU有几个就设置为几,默认为8
key_buffer_size=256M                   默认为218       调到128最佳
tmp_table_size=64M                   默认为16M        调到64-256最挂
read_buffer_size=4M                   默认为64K
read_rnd_buffer_size=16M          默认为256K
sort_buffer_size=32M                   默认为256K
max_connections=1024                 默认为1210


试验一:

table_cache=512或1024
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=1M
innodb_thread_concurrency=8       你的服务器CPU有几个就设置为几,默认为8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=64K或128K
read_rnd_buffer_size=256K
sort_buffer_size=512K
max_connections=1024      


  
试验二:

table_cache=512或1024
innodb_additional_mem_pool_size=8M 
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M      
innodb_thread_concurrency=8      
key_buffer_size=128M                  
tmp_table_size=128M         
read_buffer_size=4M                  
read_rnd_buffer_size=16M      
sort_buffer_size=32M                  
max_connections=1024      


     
一般:

table_cache=512
innodb_additional_mem_pool_size=8M 
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M      
innodb_thread_concurrency=8      
key_buffer_size=128M                  
tmp_table_size=128M         
read_buffer_size=4M                  
read_rnd_buffer_size=16M      
sort_buffer_size=32M                  
max_connections=1024
          
经过测试.没有特殊情况,最好还是用默认的.


2G内存,针对站多,抗压型的设置,最佳:


table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=4M   默认为2M
innodb_flush_log_at_trx_commit=1
(设置为0就是等到innodb_log_buffer_size列队满后再统一储存,默认为1)
innodb_log_buffer_size=2M             默认为1M
innodb_thread_concurrency=8       你的服务器CPU有几个就设置为几,建议用默认一般为8
key_buffer_size=256M                       默认为218       调到128最佳
tmp_table_size=64M                      默认为16M        调到64-256最挂
read_buffer_size=4M                       默认为64K
read_rnd_buffer_size=16M              默认为256K
sort_buffer_size=32M                   默认为256K
max_connections=1024                 默认为1210
thread_cache_size=120             默认为60
query_cache_size=64M

优化mysql数据库性能的十个参数

(1)、max_connections:
允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。

(2)、record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)

(3)、key_buffer_size:
索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8m),我的mysql主机有2gb内存,所以我把它改为 402649088(400mb)。

4)、back_log:
要求 mysql 能有的连接数量。当主要mysql线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log 值指出在mysql暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的tcp/ip连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。

(5)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 client_interactive 选项的客户。 默认数值是28800,我把它改为7200。


(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速order by或group by操作。默认数值是2097144(2m),我把它改为 16777208 (16m)。

(7)、table_cache:
为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。mysql对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。

(8)、thread_cache_size:
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 connections 和 threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。

(9)mysql的搜索功能
用mysql进行搜索,目的是能不分大小写,又能用中文进行搜索
只需起动mysqld时指定 --default-character-set=gb2312

(10)、wait_timeout:
服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。

注:参数的调整可以通过修改 /etc/my.cnf (下为my.ini)文件并重启  实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。

关于mySQL中怎么优化虚拟内存就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mySQL中怎么优化虚拟内存

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java虚拟机内存优化的方法

这篇文章主要介绍“Java虚拟机内存优化的方法”,在日常操作中,相信很多人在Java虚拟机内存优化的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java虚拟机内存优化的方法”的疑惑有所帮助!接下来,请跟
2023-06-17

阿里云ECS虚拟内存如何优化内存使用

阿里云ECS虚拟内存是云计算中的一种重要资源,它决定了一个虚拟机可以运行的程序数量和程序的运行速度。然而,如何有效地使用和优化ECS虚拟内存,是每个云用户都需要了解和掌握的技能。本文将详细介绍ECS虚拟内存的使用方法和优化策略。一、什么是阿里云ECS虚拟内存阿里云ECS虚拟内存是指虚拟机在运行时,可以使用的物理内
阿里云ECS虚拟内存如何优化内存使用
2023-11-07

Linux虚拟内存地址怎么转化成物理内存地址

这篇文章主要讲解了“Linux虚拟内存地址怎么转化成物理内存地址”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux虚拟内存地址怎么转化成物理内存地址”吧!背景现代手机这种SOC(sys
2023-06-16

win7虚拟内存大小和虚拟内存的位置怎么修改?

现在很多人都开始用Windows7操作系统了,但是很多人的电脑还没有更新配置,运行win7系统有点吃力,设置合适的虚拟内存可以让我们的电脑速度快一点,WfJIMbrUCIN7系统默认的虚拟内存是在C盘系统盘上,可能会影响我们电脑的速度!我们
2023-06-16

linux中虚拟内存是什么

这篇文章主要为大家展示了“linux中虚拟内存是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中虚拟内存是什么”这篇文章吧。1. 讨论虚拟内存前的热身我们需要知道的是计算机对内存分
2023-06-15

win11虚拟内存怎么设置

这篇“win11虚拟内存怎么设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win11虚拟内存怎么设置”文章吧。设置方法:
2023-07-01

Win11怎么设置虚拟内存

在Windows 11中设置虚拟内存的方法如下:1. 打开“控制面板”,可以在开始菜单中搜索或右键点击任务栏上的“开始”按钮,然后选择“控制面板”选项。2. 在控制面板中,找到并点击“系统和安全”选项。3. 在“系统和安全”页面中,点击“系
2023-08-22

linux怎么扩展虚拟内存

本篇内容主要讲解“linux怎么扩展虚拟内存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux怎么扩展虚拟内存”吧!在linux磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一
2023-06-10

win8怎么设置虚拟内存

这篇文章主要介绍了win8怎么设置虚拟内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win8怎么设置虚拟内存文章都会有所收获,下面我们一起来看看吧。设置方法:进入【系统属性】后点击【高级系统设置】,点击【高
2023-06-28

ubuntu虚拟内存怎么清空

本篇内容主要讲解“ubuntu虚拟内存怎么清空”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu虚拟内存怎么清空”吧!ubuntu清空虚拟内存的方法:1.打开Ubuntu系统,进入终端命
2023-07-04

debian怎么设置虚拟内存

要设置虚拟内存(也称为交换空间)在Debian系统上,您可以按照以下步骤进行操作:查看当前的交换空间大小和使用情况:sudo swapon --show如果您已经有一个交换分区,可以跳过此步骤。如果没有,请创建一个交换文件:创建一个指定大小
debian怎么设置虚拟内存
2024-04-09

怎么删除虚拟内存 win7下如何删除虚拟内存(图解)

现在的电脑配置起来越好,内存也越来越大,可能有些朋友想把虚拟内存取消掉。一来是内存足够大,二来还可以腾出一部份磁盘使用空间。这里以 Windows 7 为例,介绍一下如何删除虚拟内存的操作方法。 一、首先点击开始菜单按钮,把鼠标指向&ldq
2023-05-31

win10虚拟内存怎么设置

在Windows 10上设置虚拟内存的步骤如下:1. 打开控制面板:右键点击开始菜单,选择“控制面板”。2. 在控制面板中,点击“系统和安全”。3. 在“系统和安全”页面中,点击“系统”。4. 在“系统”页面中,点击左侧的“高级系统设置”。
2023-08-26

win10怎么扩大虚拟内存

要扩大Windows 10的虚拟内存,可以按照以下步骤操作:1. 打开“控制面板”,可以通过在Windows搜索栏中输入“控制面板”来打开。2. 在控制面板中,选择“系统和安全”。3. 在“系统和安全”页面中,选择“系统”。4. 在系统页面
2023-09-12

win10怎么增加虚拟内存

要增加Windows 10的虚拟内存,可以按照以下步骤进行操作:1. 打开“控制面板”:可以通过在开始菜单中搜索“控制面板”来找到。2. 在控制面板中,选择“系统和安全”。3. 点击“系统”。4. 在左侧菜单中选择“高级系统设置”。5. 在
2023-09-12

ubuntu怎么增加虚拟内存

要增加Ubuntu的虚拟内存,可以按照以下步骤操作:打开终端,使用以下命令创建一个用于存储虚拟内存的文件:sudo fallocate -l /swapfile其中,是要创建的虚拟内存文件的大小,单位为GB。设置
ubuntu怎么增加虚拟内存
2024-04-09

深度技术Win7旗舰版虚拟内存优化技巧

估计大家有时候感觉电脑内存老是在50%以上,觉得比较卡。其实我们可以提高以下电脑的虚拟内存来提高电脑的性能。现在大家普遍使用的是深度win7旗python舰版,那作者就简单的讲以下深度win7旗舰版是如何设置的。优化后妈妈再也不用担心我玩游
2023-06-11

编程热搜

目录