query_cache在Master中工作正常
但是在RDS只读副本中,所有功能均已启用但无法正常工作,因此qcache_hits为零。

主服务器运行4 cpu和16 GB内存,从设备运行2 CPU和8 GB内存

Variables-------Master-----Slave

query_alloc_block_size|8192|8192

query_cache_limit|1048576|1048576

query_cache_min_res_unit|4096|4096

query_cache_size|65536|32768

query_cache_type|ON|ON

query_cache_wlock_invalidate|OFF|OFF

query_prealloc_size|8192|8192

range_alloc_block_size|4096|4096

read_buffer_size|2097152|2097152


Status--------Master-----Slave

Qcache_free_blocks|3|0

Qcache_free_memory|8736|0

Qcache_hits|192258|0

Qcache_inserts|375703|0

Qcache_lowmem_prunes|366618|0

Qcache_not_cached|78314|0

Qcache_queries_in_cache|19|0

Qcache_total_blocks|52|0

Queries|1226261|316005


我使用aurora db进行了复制,并且缓存正在与副本服务器一起使用。

请帮助只读副本花费太多时间来获取数据。

最佳答案

我以为这个值以KB为单位,但是它以字节为单位工作,所以当它设置为32 kb时它不起作用,当我将其增加到64 kb时它开始工作,我在Mysql中发现需要定义至少1 mb才能工作但就我而言,64536也可以。

感谢您的所有帮助和时间。

关于mysql - MySQL查询缓存不适用于MySQL RDS读取复制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38904502/

10-11 10:53