Kubernetes Storage Capabilities & Performance Analysis: Longhorn, Rook, OpenEBS, Portworx, and IOMesh Compared

blog-1

In the cloud-native era, a growing number of enterprises are leveraging Kubernetes to host stateful workloads like databases and message-oriented middleware. These applications have demanding needs for data storage, performance, scalability, and rapid deployment. As a result, enterprises often face the challenge of finding the most suitable storage solution on Kubernetes.

To assist users in product selection, in this article, we will evaluate mainstream Kubernetes-native storage, including Longhorn, Rook, OpenEBS, Portworx, and IOMesh, and make a comprehensive comparison of their capabilities and performance.

Capability Comparison

Gartner outlines five features for storage providing cloud-native data services in the report How Do I Approach Storage Selection and Implementation for Containers and Kubernetes Deployments:

  • Software-defined and hardware agnostic.
  • Programmable to be managed as Infrastructure-as-Code, driven by APIs and enables advanced and granular data services.
  • Is based on a distributed architecture that can be deployed at any scale.
  • Interoperable, certified, and fully integrated with a broad set of Kubernetes distributions.
  • Follows a simple and predictable licensing model across environments.

Based on these criteria, we compare Longhorn, Rook, OpenEBS, Portworx, and IOMesh through the lenses of source openness, technical support, storage architecture, advanced data services, Kubernetes integration, and more.

table

Alongside this comparison, users need to pay particular attention to the following capabilities if they:

  • Place great importance on data security and compliance: Users such as financial and government institutions should avoid open-source Kubernetes storage for better data security. Moreover, closed-source storage vendors often have independent control over storage core code. If a failure occurs, these vendors can provide professional support in time.
  • Use Kubernetes for applications requiring high I/O performance and data consistency: Running applications such as databases, message-oriented middleware, and caches on Kubernetes entails block storage solutions.
  • Use Kubernetes for applications requiring high stability: Choose products that provide high availability and data protection features.

Performance Comparison

Performance is a key indicator of a storage system’s capability in supporting core business applications. We conducted performance tests on IOMesh, Longhorn, Portworx, and OpenEBS* in MySQL and PostgreSQL database scenarios. Using the sysbench-tpcc tool, we simulated production workloads to evaluate the responsiveness and performance of these storage solutions.

Testing Environment

  • The testing cluster is a 3-node HFA cluster, with each node configured with Intel CPU, 2 SATA SSD as caches, and a 10GbE NIC.
  • The test was conducted in a 2-replica scenario, with TPCC parameters set as “time=600, tables=4, scale=50”.
  • Software being used: IOMesh 0.10.2, Longhorn 1.1.1, Portworx 2.6.3, OpenEBS 2.9.0.

Result

The graph below shows how the 4 storage systems performed in the two database scenarios. Performance was evaluated in TPS, QPS, and p95 latency.

blog-1

In terms of overall I/O performance and stability, IOMesh emerged as the top performer, with Longhorn, Portworx, and OpenEBS following in that order.

As a leading enterprise Kubernetes-native distributed storage product, IOMesh helps customers build elastic, reliable, and highly performant storage resource pools for stateful applications, in a Kubernetes-native way. By reducing the cost and complexity of adopting persistent storage, IOMesh assists enterprises in accelerating cloud-native transformation.

To learn more about IOMesh, please refer to IOMesh Docs, and join the IOMesh community on Slack for more updates and community support.