HCL Commerce Kubernetes minimal test deployment resource planning
The following sections detail example HCL Commerce Kubernetes resource configurations necessary for minimal test deployments.
A minimal test deployment is a demo deployment of your customized HCL Commerce production environment and is intended for preliminary testing purposes only. These resource estimates provided are a starting point for feature and customization testing. It is not suitable for performance testing or capacity planning.
A production scale environment will vary significantly in performance and redundancy requirements. There are many factors that can influence the CPU and memory requirements of your site. These include, but are not limited to, any aspect of customization, as well as the size and types of data in the site catalog. Examples of these data types include, for example, the number of languages, the size and structure of the catalog, the number of attributes, or product description text length.
Load testing your site is necessary to obtain the actual resources that are required for various components, such as for the Solr or Elasticsearch-based components for building the site index, or the Transaction server and Search servers that are used for storefront shopping.
The resources that are recommended are sufficient for testing at levels similar to the provided Aurora or Emerald reference stores, with their default sample designs and catalogs. As the size and complexity of your custom solutions increase, so will resource requirements.
The examples that are provided are based on the solutions that are used in the deployment:
- Solr-based search, with migrated local store
- Solr-based search, with remote store
- Elasticsearch-based search, with migrated local store
- Elasticsearch-based search, with Aurora-based remote store
- Elasticsearch-based search, with React-based remote store
- Elasticsearch-based search, with NodeJS-based remote store
Solr-based search, with migrated local store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Redis |
1 | 1 | 8 | |
PostgreSQL
(optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | approval-app
(optional) |
1 | 2 | 2 |
Auth | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 2 | |
xc-app |
1 | 2 | 4 | |
search-app-master |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 2 | |
xc-app |
1 | 2 | 4 | |
search-app-repeater |
1 | 2 | 4 | |
search-app-slave |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 19 | 34.5 | 62.5 |
Solr-based search, with remote store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Redis |
1 | 1 | 8 | |
PostgreSQL (optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | tooling-web |
1 | 2 | 2 |
approval-app
(optional) |
1 | 2 | 2 | |
Auth | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 2 | |
xc-app |
1 | 2 | 4 | |
crs-app |
1 | 2 | 4 | |
search-app-master |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 2 | |
xc-app |
1 | 2 | 4 | |
crs-app |
1 | 2 | 4 | |
search-app-repeater |
1 | 2 | 4 | |
search-app-slave |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 22 | 40.5 | 72.5 |
Elasticsearch-based search, with migrated local store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Third-party | Elasticsearch |
3 | 6 | 16 Note: Heap memory should be no more than 70% of the total pod memory that
is allocated. The minimum recommendation for the Elasticsearch heap is 12GB. |
Redis |
1 | 1 | 8 | |
Zookeeper |
1 | 0.5 | 1 | |
PostgreSQL (optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | tooling-web |
1 | 2 | 2 |
nifi-app |
1 | 6 | 12 Note: Heap memory should be no more than 70% of the total pod memory that is
allocated. The minimum recommendation for the NiFi heap is 9GB. |
|
registry-app |
1 | 2 | 2 | |
ingest-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 3 | |
approval-app
(optional) |
1 | 2 | 2 | |
Auth | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 5 |
ts-web |
1 | 2 | 2 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
mustgatherApp
(optional) |
1 | 1 | 4 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 28 | 54 | 104 |
Elasticsearch-based search, with Aurora-based remote store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Third-party | Elasticsearch |
3 | 6 | 16 Note: Heap memory should be no more than 70% of the total pod memory that
is allocated. The minimum recommendation for the Elasticsearch heap is 12GB. |
Redis |
1 | 1 | 8 | |
Zookeeper |
1 | 0.5 | 1 | |
PostgreSQL (optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | tooling-web |
1 | 2 | 2 |
nifi-app |
1 | 6 | 12 Note: Heap memory should be no more than 70% of the total pod memory that is
allocated. The minimum recommendation for the NiFi heap is 9GB. |
|
registry-app |
1 | 2 | 2 | |
ingest-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
approval-app
(optional) |
1 | 2 | 2 | |
Auth | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
crs-app |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
crs-app |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
mustgatherApp
(optional) |
1 | 1 | 4 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 30 | 58 | 113.5 |
Elasticsearch-based search, with React-based remote store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Third-party | Elasticsearch |
3 | 6 | 16 Note: Heap memory should be no more than 70% of the total pod memory that
is allocated. The minimum recommendation for the Elasticsearch heap is 12GB. |
Redis |
1 | 1 | 8 | |
Zookeeper |
1 | 0.5 | 1 | |
PostgreSQL (optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | tooling-web |
1 | 2 | 2 |
nifi-app |
1 | 6 | 12 Note: Heap memory should be no more than 70% of the total pod memory that is
allocated. The minimum recommendation for the NiFi heap is 9GB. |
|
registry-app |
1 | 2 | 2 | |
ingest-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
approval-app
(optional) |
1 | 2 | 2 | |
Auth | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
store-web |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
store-web |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
Consul |
1 | 0.5 | 0.5 | |
mustgatherApp
(optional) |
1 | 1 | 4 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 31 | 58.5 | 114 |
Elasticsearch-based search, with NodeJS-based remote store
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Third-party | Elasticsearch |
3 | 6 | 16 Note: Heap memory should be no more than 70% of the total pod memory that
is allocated. The minimum recommendation for the Elasticsearch heap is 12GB. |
Redis |
1 | 1 | 8 | |
Zookeeper |
1 | 0.5 | 1 | |
PostgreSQL (optional) |
1 | 1 | 2 |
Group | Server | Replica | Suggested CPU | Suggested Memory (GB) |
---|---|---|---|---|
Shared | tooling-web |
1 | 2 | 2 |
nifi-app |
1 | 6 | 12 Note: Heap memory should be no more than 70% of the total pod memory that is
allocated. The minimum recommendation for the NiFi heap is 9GB. |
|
registry-app |
1 | 2 | 2 | |
ingest-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
approval-app
(optional) |
1 | 2 | 2 | |
Auth | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
store-web |
1 | 2 | 4 | |
nextjs-store |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Live | ts-app |
1 | 2 | 4 |
ts-web |
1 | 2 | 4 | |
xc-app |
1 | 2 | 4 | |
query-app |
1 | 2 | 4 | |
store-web |
1 | 2 | 4 | |
nextjs-store |
1 | 2 | 4 | |
cache-app
(optional) |
1 | 2 | 2 | |
ts-util
(optional) |
1 | 2 | 4 | |
graphql-app
(optional) |
1 | 2 | 2 | |
Other | Vault |
1 | 0.5 | 0.5 |
mustgatherApp
(optional) |
1 | 1 | 4 |
Replica | Suggested CPU | Suggested Memory (GB) | |
---|---|---|---|
(Optional servers included) | 32 | 62 | 121.5 |