Skip Navigation
Show nav
Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Developer Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails Support
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Model Context Protocol
    • Vector Database
    • Heroku Inference
      • Inference Essentials
      • AI Models
      • Inference API
      • Quick Start Guides
    • Working with AI
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Databases & Data Management
  • Heroku Key-Value Store
  • Heroku Key-Value Store Technical Characterization

Heroku Key-Value Store Technical Characterization

English — 日本語に切り替える

Last updated April 09, 2025

Table of Contents

  • Performance Characteristics
  • Multitenancy
  • Architecture, vCPU, RAM, and I/O

All the information in this document is subject to change as Heroku adapts the service to better handle customer workloads.

The Heroku Key-Value Store plans offer different performance characteristics based on their multitenancy, CPU, RAM, and I/O architectures. This article provides a technical description of the implementation of these plans, and some of the performance characteristics of each.

Performance Characteristics

The following table outlines Heroku plans including relevant specifications for the underlying hardware.

Plan vCPU RAM PIOPs Multitenant Connection Limit
mini 2 25 MB 3000 yes 20
premium-0 2 50 MB 3000 yes 40
premium-1 2 100 MB 3000 yes 80
premium-2 2 250 MB 3000 yes 200
premium-3 2 500 MB 3000 yes 400
premium-5 2 1 GB 3000 yes 1000
premium-7 private-7 shield-7 2 7 GB 3000 no 10000
premium-9 private-9 shield-9 4 10 GB 3000 no 25000
premium-10 private-10 shield-10 8 25 GB 3000 no 40000
premium-12 private-12 shield-12 16 50 GB 3000 no 65000
premium-14 private-14 shield-14 32 100 GB 3000 no 65000

Premium, Private, and Shield plans are encrypted at rest by using AES-256, block-level storage encryption.

Multitenancy

Heroku Key-Value Store instances currently run on virtualized infrastructure provided by AWS EC2. Higher-level Heroku Key-Value Store plans benefit from higher levels of resource isolation than lower-level plans.

There are two main variants of deployment architectures on Heroku Key-Value Store: multi-tenant and single-tenant.

For multi-tenant plans, several LXC containers are created within a single large instance. Each LXC container holds a single Redis service and provides security and resource isolation within the instance.

Resource isolation and sharing on multi-tenant plans is imperfect and absolutely fair resource distribution between tenants can’t be guaranteed under this architecture.

For single-tenant plans, a customer’s KVS instance and related management software are the sole residents of resources on the instance, offering more predictable and less variable performance. However, virtualized infrastructure is still subject to some resource contention and minor performance variations are expected.

Architecture, vCPU, RAM, and I/O

All Heroku Key-Value Store plans run on 64-bit architectures, ensuring best performance for Redis operations.

vCPUs are the number of virtual processors on the underlying instance. Having a larger number of vCPUs provides better performance on the virtual server or instance.

All instances are backed by EBS optimized instances where EBS disks with provisioned IOPs (PIOPs) are attached. PIOPs are a measure of how many I/O operations the underlying disks can perform per second. The number of IOPs provisioned for each plan determines its I/O throughput.

Keep reading

  • Heroku Key-Value Store

Feedback

Log in to submit feedback.

Upgrading a Heroku Key-Value Store Version Managing Heroku Key-Value Store Using the CLI

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices