Caching 条令查询执行时间超过4秒

Caching 条令查询执行时间超过4秒,caching,doctrine,query-cache,Caching,Doctrine,Query Cache,我们正处于项目的最后阶段,并开始对其进行优化 经过几次测试,我们意识到加载页面所花费的大部分(如果不是全部的话)时间都花在了理论上 在5秒钟的页面加载中,3-4秒钟只用于2个条令查询 我们在mysql服务器和条令以及结果缓存上启用了查询缓存,但这似乎只会使加载时间变得更糟 据我所知,mysql查询缓存处于活动状态: [edit]由于某种原因,我的问题的其余部分消失了,因此我再次发布它[/edit] Qcache_free_块| 57 Qcache_free_memory|22300072 Qca

我们正处于项目的最后阶段,并开始对其进行优化

经过几次测试,我们意识到加载页面所花费的大部分(如果不是全部的话)时间都花在了理论上

在5秒钟的页面加载中,3-4秒钟只用于2个条令查询

我们在mysql服务器和条令以及结果缓存上启用了查询缓存,但这似乎只会使加载时间变得更糟

据我所知,mysql查询缓存处于活动状态:

[edit]由于某种原因,我的问题的其余部分消失了,因此我再次发布它[/edit]

Qcache_free_块| 57
Qcache_free_memory|22300072
Qcache|u hits|7117
Qcache_插件| 3308
Qcache_lowmem_prunes|0
Qcache_not_cached|4537
Qcache_缓存中的查询| 1225
Qcache|u总块数| 2609

问题是缓存似乎没有被命中,占用大部分时间(平均3秒)的查询永远不会更改


有人知道为什么启用查询/结果缓存不能缩短加载时间吗?

您是否尝试过从控制台/命令行执行查询? 在没有ORM的情况下执行时,它们需要什么时间,这会很有趣


请让我知道,我对使用条令很感兴趣,但不担心性能。

如果我做对了,您目前没有最慢查询的列表。我建议从这个开始

:

然后:

尽可能地约束关系 尽可能多地约束关系非常重要。这意味着:

  • 施加横向(如果可能,避免双向关联)
  • 消除不必要的联系
这有几个好处:
  • 减少域模型中的耦合
  • 域模型中的代码更简单(无需正确维护双向性)
  • 少为信条工作
偷自

log_slow_queries=/var/log/mysql.slow.log