zoukankan      html  css  js  c++  java
  • 增加缓存优化消息队列在特定情况下读取性能下降的问题

    写者持续的写入数据到磁盘上,读者1实时读区写者最新保存的数据,读取数据的时候一般都会在page_cache中找到,不用从磁盘获取。

    但是如果有另外一个读者要读区很早的数据,应为较早的数据在page_cache中已经不存在,所以系统在从磁盘获取到数据后,回把数据保存到page_cache中,以方便后续读取该数据到请求直接从cache中获取减少磁盘IO。但是这样会导致写着新保存到page_cache中的数据被挤掉,想获取新数据只能从磁盘获取,反而让之前的读者的读取性能下降。

    解决办法就是在内存中增加缓存,让写着在磁盘后,另外在保存一份在内存,所有读者读区数据时,线在内存中查找是否存在,如果存在直接返回,否则不存在,再走正常的流程获取数据。这样就避免了上述情况导致的读区性能下降的问题。

    参考:

    https://www.infoq.cn/article/Q0o*QzLQiay31MWiOBJH

  • 相关阅读:
    Nodejs Express4.x学习笔记
    OSG学习 错误与心得
    Qt Visual Studio Add-in安装
    OSG安装配置
    钩子
    不要去追一匹马,用追马的时间种草
    intellij Idea 报jdk错误
    flex 安全沙箱问题
    webuploader
    文件上传下载
  • 原文地址:https://www.cnblogs.com/zcqkk/p/10949403.html
Copyright © 2011-2022 走看看