- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何在Linux服务器上设置MySQL使用的内存量上限。
现在,MySQL将继续使用每个请求的新查询来占用内存,以便最终耗尽内存。有没有办法设置一个限制,使得MySQL使用的限制不超过该数量?
最佳答案
MySQL的最大内存使用量在很大程度上取决于硬件,您的设置和数据库本身。
硬件
硬件是显而易见的部分。越多的内存越多,磁盘越快。但是不要相信那些每月或每周的新闻信。 MySQL不能线性扩展-甚至不能在Oracle硬件上扩展。比这要复杂一些。
最重要的是:对于MySQL设置的建议,没有一般的经验法则。这完全取决于当前的使用情况或预测。
设置和数据库
MySQL提供了无数的变量和开关来优化其行为。如果遇到问题,您确实需要坐下来阅读(f'ing)手册。
至于数据库-一些重要的限制:
表引擎(InnoDB
,MyISAM
,...)
尺寸
指标
用法
关于stackoverflow的大多数MySQL技巧都会告诉您约5-8个所谓的重要设置。首先,并不是所有人都很重要-例如为InnoDB分配大量资源而不使用InnoDB并没有多大意义,因为这些资源被浪费了。
或者-很多人建议增加max_connection
变量-好吧,他们几乎不知道这还意味着MySQL将分配更多资源来满足那些max_connections
-如果需要的话。更为明显的解决方案可能是关闭DBAL中的数据库连接或降低wait_timeout
释放那些线程。
如果您不知所措-确实有很多东西可以阅读和学习。
引擎
表引擎是一个非常重要的决定,许多人很早就忘记了这些引擎,然后突然发现自己与30 GB大小的MyISAM
表进行争斗,该表锁定并阻止了整个应用程序。
我并不是说说MyISAM很烂,但是InnoDB
可以被调整为几乎或几乎与MyISAM
一样快,并提供诸如UPDATE
上的行锁定之类的功能,而MyISAM
则在锁定整个表时将其锁定被写入。
如果您有自由在自己的基础架构上运行MySQL,您可能还想查看percona server,因为在包括Facebook和Google这样的公司(他们知道得很快)的大量贡献中,它还包括Percona自己的drop -in替代InnoDB
,称为XtraDB
。
有关Percona服务器(和-client)设置(在Ubuntu上),请参见我的要旨:http://gist.github.com/637669
尺寸
数据库的大小非常非常重要-信不信由你,Intarweb上的大多数人从未处理过很大的工作,也不编写密集的MySQL设置,但确实存在。某些人会说出类似“使用PostgreSQL !!! 111”这样的说法,但是现在让我们忽略它们。
底线是:从大小上判断,将决定硬件。您无法真正使80 GB数据库在1
GB的RAM。
指标
不是:更多,更好。仅需要设置索引,并且必须使用EXPLAIN
检查使用情况。另外,MySQL的EXPLAIN
确实很有限,但这只是一个开始。
建议配置
关于这些my-large.cnf
和my-medium.cnf
文件-我什至不知道这些文件是为谁编写的。自己动手。
调音底漆
tuning primer是一个很好的开始。这是一个bash脚本(提示:您将需要linux),它使用SHOW VARIABLES
和SHOW STATUS
的输出并将其包装为希望有用的建议。如果您的服务器已经运行了一段时间,则建议会更好,因为将有数据作为基础。
调音入门不是魔术酱。您仍然应该阅读所有建议更改的变量。
阅读
我真的很想推荐mysqlperformanceblog。对于各种与MySQL相关的技巧,这是一个很好的资源。而且不仅是MySQL,他们还对正确的硬件有很多了解,或者对AWS推荐安装等。这些人有多年的经验。
当然,另一个很棒的资源是planet-mysql。
关于mysql - MySQL最大内存使用量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39296391/
我希望有人能解释为什么我的应用程序在加载时使用不同数量的 RAM。我说的是直接使用 exe 的编译版本。这是一个非常基本的应用程序,在应用程序的启动中没有条件分支。然而,每次我启动它时,RAM 量都在
我有一个 inode 使用率为 100% 的磁盘驱动器(使用 df -i 命令)。但是在大量删除文件后,使用率仍然是 100%。 那么正确的做法是什么? 磁盘空间使用量较少的磁盘驱动器怎么可能有Ino
假设我与分支有一个智能合约,其中每个分支都有不同数量的操作。 if (someCondition) { // do operations costing 10 gas } else { //d
是否有一种工具可以在提交到 NEAR 网络之前估算合约调用将产生多少 gas? 最佳答案 目前最好的估计是用runtime-standalone ,它可以处理交易而不必担心共识/网络。这意味着您可以创
我正在使用最新的 SDK 开发适用于 Windows Azure 的应用程序。 目前我正在使用缓存实现 session 提供程序,但模拟器完全不成比例: 缓存被实现为“非常小的”辅助角色(最大 768
我正在为我的 Logstash RAM 问题寻找答案,因为它几乎是 100%。我为它做了很多搜索,但他们没有为我工作。下面的代码是我的 logstash.conf 文件。我认为它需要一些小改动。 Lo
我已经阅读了这里有关此问题的所有其他问题以及互联网其他地方的许多文章。根据this site ,最大内存使用量遵循以下公式: Max memory = [-Xmx] + [-XX:MaxPermSiz
我需要以编程方式增加 Android 中的 RAM 使用量,以观察它随时间的变化。我该怎么做? 我尝试生成很多自定义对象,但生成后意外地 RAM 使用量减少了...我更改了对象数量、结构等,但没有任何
我们使用带有 MMFiles 存储引擎的 ArangoDB 3.3.14(社区版)来处理相对较大的数据集(备份时会超过 30 GB)。我们使用 ECS 在 Docker 容器内运行它。我们的主机虚拟机
我收到了 Hostgator 发来的一条说明,表明他们限制了我对 MYSQL 的访问,因为我的网站使用了太多资源。 通常,在这种情况下,我只会恢复备份以查看最近的更改是否会产生错误。但是,除了写了一些
我使用 TMimeMess 来解码基于 SMTP 服务器的传入电子邮件在突触上。 我发现用于解码 50MB MIME 消息(带有附件),TMimeMess 使用了 600-800MB 的内存。 在这里
我正在打包适用于 iOS 和 Android 的 Adobe Air 应用程序,并且我的 (RAM) 内存使用量超过 100MB。我的游戏(RPG)中有大量 Assets 。 Assets 的数量
我是一名优秀的程序员,十分优秀!