Generally, you can make it easy for Elastic Cloud Enterprise to perform well by using higher-end host machines and by substantially provisioning CPU and disk resources.
The ECE management services provided by the coordinators and directors require fast SSD storage to work correctly. For smaller deployments that co-locate the ECE management services with proxies and allocators on the same hosts, this means that you must use fast SSD storage for your entire deployment. If SSD-only storage is not feasible, some of the ECE management services need to be separated.
For the allocators hosting your Elasticsearch clusers and Kibana instances, deploy host machines that provide 128 to 256 GB of RAM: you will need fewer hosts and your management overhead will be lower. Based on our experience with the Elastic Cloud hosted offering, here is what we recommend for different types of workloads:
- For search workloads, use high-performance SSDs drives and a RAM-to-storage ratio for users of 1:16 (or even 1:8). These specifications support merge operations and reindexing over time, and fast external sorting when data is too large to fit into memory all at once. Hosts that meet these requirements include the i3 instances available on AWS, for example.
- For logging workloads, switch to a RAM-to-storage ratio of 1:48 to 1:96, as data sizes are typically much larger compared to the RAM needed for logging. A cost effective solution might be to step down from SSDs to spinning media, such as high-performance server disks.
None of these recommendations are cast in stone and are not intended to recommend a particular vendor: if they do not suit your particular deployment, plan accordingly. You can also consult Elastic to find the optimal setup for your use case.
As part of configuring Elastic Cloud Enterprise, you need to tell ECE what kind of hardware you have available for Elastic Stack deployments. To learn more, see Tag Your Allocators.
Performance without penaltyedit
Regardless of your planned workload, you can likely extract higher performance from your Elastic Cloud Enterprise deployment by avoiding these practices:
- Don’t under-provision CPU resources, especially in multi-tenant environments. Some of your users might require substantial CPU resources.
- Don’t over-provision containers for mixed workloads on the assumption that applications won’t need their full resources all the time. Elasticsearch nodes do work in the background, even if you are not actively running queries. For example, over-provisioning can impact background merges for search-based workloads and read/write operations for logging workloads.