zoukankan      html  css  js  c++  java
  • glance image cache

    The Glance Image Cache

    The Glance API server may be configured to have an optional local image cache. A local image cache stores a copy of image files, essentially enabling multiple API servers to serve the same image file, resulting in an increase in scalability due to an increased number of endpoints serving an image file.

    This local image cache is transparent to the end user – in other words, the end user doesn’t know that the Glance API is streaming an image file from its local cache or from the actual backend storage system.

    Managing the Glance Image Cache

    While image files are automatically placed in the image cache on successful requests to GET/images/<IMAGE_ID>, the image cache is not automatically managed. Here, we describe the basics of how to manage the local image cache on Glance API servers and how to automate this cache management.

    Controlling the Growth of the Image Cache

    The image cache has a configurable maximum size (the image_cache_max_size configuration file option). The image_cache_max_size is an upper limit beyond which pruner, if running, starts cleaning the images cache. However, when images are successfully returned from a call to GET/images/<IMAGE_ID>, the image cache automatically writes the image file to its cache, regardless of whether the resulting write would make the image cache’s size exceed the value ofimage_cache_max_size. In order to keep the image cache at or below this maximum cache size, you need to run the glance-cache-pruner executable.

    The recommended practice is to use cron to fire glance-cache-pruner at a regular interval.

    Cleaning the Image Cache

    Over time, the image cache can accumulate image files that are either in a stalled or invalid state. Stalled image files are the result of an image cache write failing to complete. Invalid image files are the result of an image file not being written properly to disk.

    To remove these types of files, you run the glance-cache-cleaner executable.

    The recommended practice is to use cron to fire glance-cache-cleaner at a semi-regular interval.

    Prefetching Images into the Image Cache

    Some installations have base (sometimes called “golden”) images that are very commonly used to boot virtual machines. When spinning up a new API server, administrators may wish to prefetch these image files into the local image cache to ensure that reads of those popular image files come from a local cache.

    To queue an image for prefetching, you can use one of the following methods:

    • If the cache_manage middleware is enabled in the application pipeline, you may callPUT /queued-images/<IMAGE_ID> to queue the image with identifier <IMAGE_ID>

      Alternately, you can use the glance-cache-manage program to queue the image. This program may be run from a different host than the host containing the image cache. Example usage:

      $> glance-cache-manage --host=<HOST> queue-image <IMAGE_ID>
      

      This will queue the image with identifier <IMAGE_ID> for prefetching

    Once you have queued the images you wish to prefetch, call the glance-cache-prefetcherexecutable, which will prefetch all queued images concurrently, logging the results of the fetch for each image.

    Finding Which Images are in the Image Cache

    You can find out which images are in the image cache using one of the following methods:

    • If the cachemanage middleware is enabled in the application pipeline, you may callGET /cached-images to see a JSON-serialized list of mappings that show cached images, the number of cache hits on each image, the size of the image, and the times they were last accessed.

      Alternately, you can use the glance-cache-manage program. This program may be run from a different host than the host containing the image cache. Example usage:

      $> glance-cache-manage --host=<HOST> list-cached
      
    • You can issue the following call on *nix systems (on the host that contains the image cache):

      $> ls -lhR $IMAGE_CACHE_DIR
      

      where $IMAGE_CACHE_DIR is the value of the image_cache_dir configuration variable.

      Note that the image’s cache hit is not shown using this method.

    Manually Removing Images from the Image Cache

    If the cachemanage middleware is enabled, you may call DELETE /cached-images/<IMAGE_ID> to remove the image file for image with identifier <IMAGE_ID> from the cache.

    Alternately, you can use the glance-cache-manage program. Example usage:

    $> glance-cache-manage --host=<HOST> delete-cached-image <IMAGE_ID>

    http://docs.openstack.org/developer/glance/cache.html

  • 相关阅读:
    Maven工程运行环境修改
    Maven中出现org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException错误
    IDEA创建maven_web工程后,右键包没有Servlet、Filter、Listener选项
    Spring中的依赖注入
    什么是JavaBean
    mybatis配置SqlMapConfig.xm时没有提示
    JDK1.8之后匿名内部类访问方法中的局部变量不用加final修饰
    架构、框架和设计模式
    CitrixSQL Server 2016高可用之SQL镜像 SQL Server mirror 带见证服务器
    CitrixPVS BDM启动模式创建虚机 BDM模式部署桌面(精华)
  • 原文地址:https://www.cnblogs.com/ruiy/p/5034346.html
Copyright © 2011-2022 走看看