Portworx PX-Enterprise 1.4 now comes with Technical Preview support for CSI; the new standard storage interface…
October 25, 2022
PX-Fast and NVME – Supercharge Your Kubernetes Persistent Storage
With server and cloud instance configurations increasingly including NVMe devices, a single server or instance can support millions of IOPS and several gigabytes of throughput, while providing latencies measured in microseconds instead of milliseconds. When used with software defined storage or cloud native storage solutions, it can be a challenge for the software layer to keep up with NVMe devices and the performance benefits they can provide.
Portworx Enterprise 2.12 introduces a new feature named PX-Fast, which takes advantage of new improvements within the data plane of Portworx to enable better utilization of highly performant storage such as NVMe devices for use as Kubernetes persistent storage. We’ve also implemented a new foundational storage layer in the Portworx Enterprise StorageCluster named PX-Store v2, and PX-Fast complements this new storage layer allowing you to unlock the higher IOPS, throughput, and lower latency that NVMe devices provide.
Regardless if you are deploying Kubernetes in your on-premises data center or on cloud-based infrastructure, Portworx has you covered in terms of performance for your applications that require persistent storage.
PX-Fast Drives Efficiency
In addition to the next generation of storage devices like NVMe becoming more popular, server manufacturers have also begun to create high density NVMe configurations that can provide IOPS and throughput capabilities for a single server we never thought possible. This means that any software that interfaces with NVMe devices needs to be extremely efficient, and ensure that as little overhead as possible is introduced within the data path for any I/O – especially at scale. Worker node resource utilization is another important factor in ensuring efficiency of operations – CPU and memory resources should be made available for actual Kubernetes workloads, and not consumed by control and data plane infrastructure resources. Portworx provides a very small footprint in terms of resource consumption, regardless if you are running a handful of nodes or hundreds of nodes.
Other solutions in the industry can have a hard time keeping up with several NVMe devices in a single server due to their inherent design or specific software used within the datapath. Portworx and PX-Fast allow you to enjoy the benefits of NVMe devices not only if you are using a single NVMe device in your worker nodes, but also if you are using high-density NVMe configurations in your hyperconverged servers or cloud instances as you scale out.
Another area where PX-Fast improves your cloud native storage experience is by shrinking the capacity to performance ratios that we see many customers struggle with. In other storage environments, if you have low capacity and high IOPS requirements, you would have to over-provision the number of devices to meet IOPS requirements – which meant you could be provisioning several terabytes of storage capacity just to meet performance needs.
By supporting multiple storage pools and providing the capability for storage tiering within Kubernetes, Portworx allows you to right size your backing storage devices for Kubernetes and tailor your storage needs specific to your application requirements – which has an immediate impact on your bottom line spend for cloud or on-premises infrastructure.
The Proof Is In The Pudding
We’ve extensively tested PX-Fast in both high density configurations, as well as single NVMe configurations. In both cases, PX-Fast delivers outstanding performance for Kubernetes applications that require persistent storage. With eight NVMe devices per worker node, we’ve been able to hit over three million IOPS across three worker nodes with a random read/write mix I/O profile – delivering over one million IOPS per node and proving that PX-Fast and Portworx allow you to scale with high performance in high density server or instance configurations.
We’ve also tested application performance using tools such as pgbench against a single NVMe device – showing how PX-Fast and Portworx can significantly increase transactions per second and decrease latency for PostgreSQL even if you are only running a single NVMe device. Compared to other solutions in the industry when using similar storage configurations, PX-Fast provided over a 2x increase in transaction throughput and over a 2x reduction in latency.
PX-Fast Is Easy To Use
PX-Fast is simple to use – we’ve exposed this capability by simply configuring a StorageClass parameter within Kubernetes. All you have to do is set ‘fastpath=true’ on an enabled Portworx StorageCluster, and you can start enjoying the benefits of NVMe performance within Kubernetes immediately. If you already have a volume that has been provisioned within Portworx 2.12 and it meets the requirements to be fastpath-enabled, you can also use our ‘pxctl volume update’ command to enable fastpath.
PX-Fast is currently available for single-replica volumes within Portworx, and you can take advantage of all of the other great features within Portworx when using it such as application consistent snapshots, Application I/O Control, Volume Trashcan, Volume Placement Services, and even advanced features such as PX-DR to provide resiliency to your Kubernetes persistent volumes. Multi-replica support with PX-Fast will be available in a future release soon for application configurations that do not already provide high availability as part of the application layer.
If you are ready to supercharge your Kubernetes persistent storage with Portworx and NVMe infrastructure, please contact your Portworx sales representative or cloud native architect today, and please check out our PX-Fast video on the Portworx YouTube channel for more information!