MySQL 查询缓存:最大缓存大小限制为 128 MB?

2024-03-01

我的应用程序是数据库密集型的,因此我非常努力地确保应用程序和 MySQL 数据库尽可能高效地协同工作。

目前,我正在调整 MySQL 查询缓存,使其符合服务器上运行的查询的特征。

query_cache_size是可以存储在缓存中的最大数据量,query_cache_limit是缓存中单个结果集的最大大小。

我当前的MySQL查询缓存配置如下:

query_cache_size=128M
query_cache_limit=1M

tuning-primer.sh为我提供了有关正在运行的系统的以下调整提示:

QUERY CACHE
Query cache is enabled
Current query_cache_size = 128 M
Current query_cache_used = 127 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 99.95 %
Current query_cache_min_res_unit = 4 K
However, 21278 queries have been removed from the query cache due to lack of memory
Perhaps you should raise query_cache_size
MySQL won't cache query results that are larger than query_cache_limit in size

And mysqltuner.pl给出以下调整提示:

[OK] Query cache efficiency: 31.3% (39K cached / 125K selects)
[!!] Query cache prunes per day: 2300654

Variables to adjust:
    query_cache_size (> 128M)

两个调整脚本都建议我应该提高query_cache_size。然而,增加query_cache size超过 128M 可能会降低性能mysqltuner.pl (see http://mysqltuner.pl/ http://mysqltuner.pl/).

你会如何解决这个问题?你会增加query_cache_size吗?mysqltuner.pl的警告或尝试以某种方式调整查询逻辑?大部分数据访问由 Hibernate 处理,但应用程序中也使用了大量手工编码的 SQL。


即使您的缓存没有被交换的风险,mysqltuner.py 发出的警告实际上也是相关的。 下面对此进行了很好的解释:http://blogs.oracle.com/dlutz/entry/mysql_query_cache_sizing http://blogs.oracle.com/dlutz/entry/mysql_query_cache_sizing

基本上,缓存越大,MySQL 花费的时间就越多,并且由于即使在中等写入负载下(查询经常被清除),缓存也非常不稳定,因此将其设置得太大会对应用程序性能产生不利影响。调整query_cache_size and query_cache_limit对于您的应用程序,尝试找到一个断点,其中每次插入的命中次数最多,插入次数较少lowmem_prunes并在执行此操作时密切关注数据库服务器负载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 查询缓存:最大缓存大小限制为 128 MB? 的相关文章

  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 如何为客户端和服务器缓存设置不同的缓存过期时间

    我想让某些页面为客户端提供 10 分钟缓存 为服务器提供 24 小时缓存 原因是如果页面发生变化 客户端将在 10 分钟内获取更新版本 但如果没有任何变化 服务器只需每天重建一次页面 问题在于输出缓存设置似乎覆盖了客户端设置 这是我的设置
  • 为什么 Android Eclipse 不断刷新外部文件夹并花费很长时间?

    我只有一部新的 Android 手机 我一直在修补一些基本的应用程序 每当我保存任何内容时 Eclipse 的 Android 插件就会刷新外部文件夹 这让我抓狂 通常我不会介意 但当需要 10 秒才能刷新时 我开始注意到 我已经搜索过 其
  • iOS 自定义单元格设计放在哪里? awakeFromNib 还是 cellForRowAtIndexPath?

    所以 基本上我用笔尖做了一个定制单元 希望我应用一些定制设计 比如颜色和阴影 我发现了两种应用样式的方法 awakeFromNib override func awakeFromNib super awakeFromNib Containe
  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • .NET 中 UniqueQueue 和 UniqueReplacementQueue 集合最有效的实现

    考虑到入队和出队操作的速度同样重要 NET 中 UniqueQueue 和 UniqueReplacementQueue 集合最有效 就速度而言 的实现是什么 UniqueQueue是一个不可能出现重复的队列 因此 如果我将一个元素推送到队
  • 这个 cProfile 结果告诉我需要修复什么?

    我想提高Python脚本的性能并且一直在使用cProfile生成性能报告 python m cProfile o chrX prof bgchr py args 我打开这个chrX prof使用 Python 的文件pstats并打印出统计
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • 在Python列表中交换元素的最快方法

    在Python中交换两个列表元素是否有比 L a L b L b L a 或者我必须求助于Cython http cython org or Weave http www scipy org Weave或类似的 看起来 Python 编译器
  • fetchsize和batchsize对Spark的影响

    我想通过以下方式控制 RDB 的读写速度Spark直接 但标题已经透露的相关参数似乎不起作用 我可以得出这样的结论吗fetchsize and batchsize我的测试方法不起作用 或者它们确实会影响阅读和写作方面 因为测量结果基于规模是
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教

随机推荐

  • 在 Google App Engine 中使用 mapreduce 的简单反例

    我对 GAE 中 MapReduce 支持的当前状态有些困惑 根据文档http code google com p appengine mapreduce http code google com p appengine mapreduce
  • Python 将 Windows 文件路径转换为变量

    给定的是一个包含 Windows 文件路径的变量 然后我必须去阅读这个文件 这里的问题是路径包含转义字符 我似乎无法摆脱它 我检查了 os path 和 pathlib 但都期望正确的文本格式 但我似乎无法构建 例如这个 请注意 给出了 f
  • 如何使用配置和编程方式优雅地关闭 Spring Boot 应用程序?

    我想优雅地关闭我的 Spring Boot 应用程序 我想知道通过 application yaml 文件配置它和以编程方式配置它有什么区别 在我的应用程序 yaml 文件中 我已从参考中添加了此内容https www baeldung c
  • 用 NA 填充两个矩阵的缺失数据

    我有两个方阵 其中都有一些缺失的数据 我想在两个矩阵中用 NA 填充缺失的数据 数据如下 first matrix t1 matrix c 1 0 1 0 0 1 1 0 1 nrow 3 ncol 3 byrow TRUE rowname
  • 使用自定义键/值在 Mongoose/Handlebars 中创建 Schema 对象

    我想创建一个表单来输入 mongo mongoose 模式中对象的自定义键和值 最终在车把视图中看到 请参阅示例以更好地解释 任何帮助都会很棒 Mongoose Mongodb 架构 var docketSchema new Schema
  • 包含一个字符串且不包含另一字符串的行的正则表达式

    我有以下正则表达式可以方便地匹配包含以下内容的所有行console log or alert 在支持 PCRE 的编辑器中打开的任何 javascript 文件中都可以使用该函数 b console log alert b 但我遇到很多文件
  • XPath 错误。节点不能在创建它的文档以外的文档中使用

    我正在尝试使用 XPath 解析 xml 文档 该脚本在 chrome 上运行良好 但出现以下错误 WrongDocumentError 节点不能在除 它是在其中创建的 有问题的代码如下 function StringToXML oStri
  • 尝试了解 asm 中断,特别是 16h func 01H

    这是家庭作业 我不期望你解决我的问题 只需要一些理解 我必须在 dosbox 中使用 ASM 和 C 我的第一个问题是我不太明白如何使用 BIOS 中断 任何带有代码示例的好的教程都会非常感激 好吧 我知道有中断 每个中断都有自己的功能和参
  • 无法消除瞬态属性 getter 实现中的 PrimitiveValue 访问器的编译器警告

    我在我的应用程序中的一个模型上实现了如下所示的瞬态属性 它在模型设计中被声明为具有未定义类型的瞬态属性 property nonatomic readonly NSNumberFormatter currencyFmt 该访问器的当前 无警
  • 使用 GeoPandas 计算其他多边形内的多边形面积

    我有两个GeoSeries df1 gpd GeoSeries Polygon 0 0 2 0 2 2 0 2 Polygon 1 5 1 5 4 2 4 4 2 4 Polygon 1 3 5 3 3 5 1 2 5 Polygon 1
  • 如何读取lucene 5.5.5索引?

    哪个版本的Luke可以读取5 5 5 lucene的索引 我尝试过 Luke 4 10 5 2 5 5 7 2 但总是得到这个 Invalid directory at the location check console for more
  • 两个环绕角度的平均值[重复]

    这个问题在这里已经有答案了 可能的重复 如何计算一组循环数据的平均值 https stackoverflow com questions 491738 how do you calculate the average of a set of
  • Celery 无法在 AWS ECS 中工作

    我使用 docker 将 django 项目部署到 AWS ECS 服务 为了使用 celery 我将rabbitmq 设置为单独的 ec2 服务器 两个带有代理和结果后端的 ec2 问题是 celery Worker 在本地工作 但不在
  • 如何在不同线程中使用实体框架? [复制]

    这个问题在这里已经有答案了 我有一个实体框架dbContext以及对数据库进行一些操作的方法 如何正确地从多个线程调用它以避免死锁 连接错误等 我尝试了不同的方法 但也有很多例外 public void Foo Bar bar using
  • 什么是惰性分配?

    对象的延迟分配是什么意思以及它有什么用 延迟分配简单地意味着直到实际需要资源时才分配资源 这对于单例对象来说很常见 但严格来说 只要尽可能晚地分配资源 就有一个延迟分配的例子 通过延迟分配资源直到您真正需要它 您可以减少启动时间 如果您从未
  • 近似保序霍夫曼码

    我正在做算法和数据结构课程的作业 我无法理解给出的说明 我会尽力解释这个问题 我给出的输入是一个正整数n其次是n正整数 表示有序字符集中符号的频率 或权重 第一个目标是构造一棵树 为有序字符集中的每个字符提供近似的保序霍夫曼代码 我们要通过
  • Config.h - 没有这样的文件或目录

    文件 safe read c 包含lib config h 这个文件放在哪里 我在库中找到了许多具有此名称的文件 但我不知道哪个是正确的 UPDATE 我的文件有 include
  • 使用 dplyr 跨多行修改值的更有效方法

    在学习了 R 中数据转换的基础知识后 我现在正在数据集上进行练习 我确实有四个具有相同值的变量 我想将数值修改为字符串 我在这个网站上找到了函数 case when 并将其应用到每一列 但我真的很想做得更快 数据看起来像这样 climate
  • 有哪些可用于 gtk+ 开发的 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • MySQL 查询缓存:最大缓存大小限制为 128 MB?

    我的应用程序是数据库密集型的 因此我非常努力地确保应用程序和 MySQL 数据库尽可能高效地协同工作 目前 我正在调整 MySQL 查询缓存 使其符合服务器上运行的查询的特征 query cache size是可以存储在缓存中的最大数据量