1.3. Performance and scalability

Red Hat Advanced Cluster Management for Kubernetes is tested to determine certain scalability and performance data. The major areas that are tested are cluster scalability and search performance.

You can use this information to help you plan your environment.

Note: Data is based on the results from a lab environment at the time of testing. Your results might vary, depending on your environment, network speed, and changes to the product.

1.3.1. Maximum number of managed clusters

The maximum number of clusters that Red Hat Advanced Cluster Management can manage varies based on several factors, including:

  • Number of resources in the cluster, which depends on factors like the number of policies and applications that are deployed.
  • Configuration of the hub cluster, such as how many pods are used for scaling.

The following table shows the configuration information for some of the clusters on the Amazon Web Services cloud platform that were used during testing:

NodeFlavorvCPURAM (GiB)Disk typeDisk size (GiB)/IOSCountRegion

Master

m5.2xlarge

8

32

gp2

100

3

us-east-1

Worker

m5.2xlarge

8

32

gp2

100

3/5

us-east-1

1.3.2. Search scalability

The scalability of the Search component depends on the performance of the data store. The following variables are important when analyzing the search performance:

  • Physical memory
  • Write throughput (Cache recovery time)
  • Query execution time

1.3.2.1. Physical memory

Search keeps the data in-memory to achieve fast response times. The memory required is proportional to the number of Kubernetes resources and their relationships in the cluster.

ClustersKubernetes resourcesRelationshipsObserved size (with simulated data)

1 medium

5000

9500

50 MB

5 medium

25,000

75,000

120 MB

15 medium

75,000

20,0000

263 MB

30 medium

150,000

450,000

492 MB

50 medium

250,000

750,000

878 MB

By default, the datastore is deployed with a memory limit of 1 GB. If you are managing larger clusters, you might need to increase this limit by editing the deployment named search-prod-xxxxx-redisgraph in the hub cluster namespace.

1.3.2.2. Write throughput (cache recovery time)

Most clusters in steady state generate a small number of resource updates. The highest rate of updates happen when the data in RedisGraph is cleared, which causes the remote collectors to synchronize their full state around the same time.

ClustersKubernetes resourcesRelationshipsAverage recovery time from simulation

1 medium

5000

9500

less than 2 seconds

5 medium

25,000

75,000

less than 15 seconds

15 medium

75,000

200,000

2 minutes and 40 seconds

30 medium

150,000

450,000

5-8 minutes

Remember: Times might increase for clusters that have a slow network connection to the hub.

1.3.2.3. Query execution considerations

There are some things that can affect the time that it takes to run and return results from a query. Consider the following items when planning and configuring your environment:

  • Searching for a keyword is not efficient.
  • The first search takes longer than later searches because it takes additional time to gather the user’s access rules.
  • The length of time to complete a request is proportional to the number of namespaces and resources the user is authorized to access.
  • The worst performance is observed for a request by a non-administrator user with access to all of the namespaces, or all of the managed clusters.