Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
styledisc
typelist
printabletrue

...

Assuming you are using recommended settings, you will need to do the following:

...

Panel
bgColor#DEEBFF

vgcreate swarmspool /dev/sdb
lvcreate -L 195G -n diskcache swarmspool
mkfs.xfs /dev/swarmspool/diskcache
mount /dev/swarmspool/diskcache /var/spool/caringo/

Persist it by adding at the end of /etc/fstab

/dev/mapper/swarmspool-diskcache /var/spool/caringo xfs defaults 0 0

Do Not Use Listing Cache If:

  1. You use multipart S3 operations.

  2. You use custom delimiters in search queries.

  3. You need the ability to do recursive deletes of domains and buckets.

  4. You use S3 lifecycle policies.

  5. You need support for the delete lifepoints.

  6. You do not use pseudo folders or all objects are in a single pseudo folder.

How to Enable Listing Cache

...

  1. Monitor Cache Hit Rate

    • If you have telemetry and Grafana available, check the Listing Cache dashboard.

  2. Check Response Time

    • Compare the response time before and after enabling the Listing Cache. Reduced response times, particularly for frequently requested folder listings, indicate the cache functions correctly.

  3. Resource Utilization

    • Monitor memory usage and CPU utilization. Increased memory usage and steady CPU activity are normal in a caching system, but excessively high CPU or memory usage may indicate misconfiguration.

Deployment Steps

Follow these steps to deploy the Listing Cache:

Step 1: Prepare the Environment

  1. Provision a server with the specified hardware requirements.

  2. Ensure the server’s 200GB partition is formatted with the XFS file system.

  3. Verify network connectivity to other components of the S3 environment.

Step 2: Configure Load Balancer

  1. Modify load-balancing rules to hardcode domains to a single gateway.

  2. Ensure that all LC-enabled domains point to the appropriate gateway.

  3. Test the load balancer configuration to confirm proper routing.

Step 3: Install and Configure Listing Cache

  1. Download the LC installation package from the designated repository.

  2. Install the package on the prepared server.

  3. Configure LC settings according to your environment’s specifications:

    • Set up domain-specific configurations.

    • Enable pseudo folder support as required.

Step 4: Validate Deployment

  1. Perform basic functionality tests:

    • Verify data retrieval and storage through LC.

    • Test operations within pseudo folders.

  2. Check system logs for any errors or warnings.

  3. Monitor performance metrics to ensure hardware is sufficient.

Step 5: Go Live

  1. Enable LC for production workloads.

  2. Monitor system performance and address any issues promptly.

Post-deployment Recommendations

  • Regularly monitor LC’s performance and resource utilization.

  • Plan for updates as new features and improvements are released.

  • Document any environment-specific configurations for future reference.

Metrics

Code Block
caringo_listingcache_request (Summary)
        Request counts and latencies for write/delete/list, versioned/nonversioned.
        Labels: method=[write, delete, list], mode=[V, NV]

caringo_listingcache_request_errors (Counter)
        Request error counts for write/delete/list, versioned/nonversioned.
        Labels: method=[write, delete, list], mode=[V, NV]

caringo_listingcache_listed_recs (Counter)
        Total number of records returned by the listing cache, versioned/nonversioned.
        Labels: mode=[V, NV]

caringo_listingcache_backend_query (Summary)
        Counts and latencies of ES queries for priming/listing, versioned/nonversioned.
        Labels: method=["list", "prime"], mode=[V, NV]

caringo_listingcache_backend_query_recs (Counter)
        Number of ES records queried for priming/listing, versioned/nonversioned.
        Labels: method=["list", "prime"], mode=[V, NV]

caringo_listingcache_cache_query (Summary)
        Counts and latencies of SqliteDB queries for priming/listing, versioned/nonversioned.
        Labels: method=["list", "prime", "reconciliation"], mode=[V, NV]

caringo_listingcache_cache_query_recs (Counter)
        Number of SqliteDB records queried for priming/listing, versioned/nonversioned.
        Labels: method=["list", "prime", "reconciliation"], mode=[V, NV]

caringo_listingcache_flushes_pending (Gauge)
        Folder updates pending flush to SqliteDB disk cache.

caringo_listingcache_flushes_done (Counter)
        Folder updates flushed to SqliteDB disk cache.

caringo_listingcache_trims_pending (Gauge)
        Folders pending trim in memory cache.

caringo_listingcache_trims_done (Counter)
        Folders trimmed in memory cache.

caringo_listingcache_folder_pulls_pending (Gauge)
        Folders marked to be internally pulled into cache.

caringo_listingcache_folder_pulls_done (Counter)
        Folders internally pulled into cache.

caringo_listingcache_mem_cached (Gauge)
        Folders currently in memory cache.

caringo_listingcache_mem_evicted (Counter)
        Folders evicted from memory cache.

caringo_listingcache_dbhandle_cached (Gauge)
        SqliteDB handles currently in memory cache.

caringo_listingcache_dbhandle_evicted (Counter)
        SqliteDB handles evicted from memory cache.

caringo_listingcache_disk_cached (Gauge)
        SqliteDBs currently in disk cache.

caringo_listingcache_disk_evicted (Counter)
        Folders evicted from disk cache.

caringo_listingcache_disk_cached_bytes (Gauge)
        Size in bytes of SqliteDBs currently in disk cache.

caringo_listingcache_disk_evicted_bytes (Counter)
        Size in bytes of SqliteDBs evicted from disk cache.

caringo_listingcache_reconciliations_done (Counter)
        Number of cache records reconciled (versionid mismatches corrected based on etag).
        Labels: origin=[backend,cache]

caringo_listingcache_memory_used (Gauge)
        Memory use as perceived by the listing cache.

caringo_listingcache_disk_free (Gauge)
        Disk free space as perceived by the listing cache.

Do Not Use Listing Cache If:

  1. You use multipart S3 operations.

  2. You use custom delimiters in search queries.

  3. You need the ability to do recursive deletes of domains and buckets.

  4. You use S3 lifecycle policies.

  5. You need support for the delete lifepoints.

  6. You do not use pseudo folders or all objects are in a single pseudo folder.

Deployment Steps

Follow these steps to deploy the Listing Cache:

Step 1: Prepare the Environment

  1. Provision a server with the specified hardware requirements.

  2. Ensure the server’s 200GB partition is formatted with the XFS file system.

  3. Verify network connectivity to other components of the S3 environment.

Step 2: Configure Load Balancer

  1. Modify load-balancing rules to hardcode domains to a single gateway.

  2. Ensure that all LC-enabled domains point to the appropriate gateway.

  3. Test the load balancer configuration to confirm proper routing.

Step 3: Install and Configure Listing Cache

  1. Download the LC installation package from the designated repository.

  2. Install the package on the prepared server.

  3. Configure LC settings according to your environment’s specifications:

    • Set up domain-specific configurations.

    • Enable pseudo folder support as required.

Step 4: Validate Deployment

  1. Perform basic functionality tests:

    • Verify data retrieval and storage through LC.

    • Test operations within pseudo folders.

  2. Check system logs for any errors or warnings.

  3. Monitor performance metrics to ensure hardware is sufficient.

Step 5: Go Live

  1. Enable LC for production workloads.

  2. Monitor system performance and address any issues promptly.

Post-deployment Recommendations

...

Regularly monitor LC’s performance and resource utilization.

...

Plan for updates as new features and improvements are released.

...

.