Skip to content

Mkingst tech specs updated #535

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/nim/deploy/vm-bare-metal/install-nim-deprecated.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: ''
docs: DOCS-1211
title: Manually install on a virtual machine or bare metal (deprecated)
title: Manually install on a virtual machine or bare metal (Manual Method)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a little redundant:

Suggested change
title: Manually install on a virtual machine or bare metal (Manual Method)
title: Manually install on a virtual machine or bare metal

toc: true
weight: 10
noindex: true
Expand All @@ -14,7 +14,7 @@ type:
Follow the steps in this guide to install or upgrade NGINX Instance Manager.

{{<call-out "caution" "Deprecated documentation notice" "fa fa-exclamation-triangle" >}}
This document outlines manual steps that have been replaced by a simplified script-based process. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}).{{</call-out>}}
This document outlines manual steps to install NGINX Instance Manager. There is also a simplified script-based installation guide on the other section that we reccommend for faster deployment. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited to specific environments. {{</call-out>}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This document outlines manual steps to install NGINX Instance Manager. There is also a simplified script-based installation guide on the other section that we reccommend for faster deployment. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited to specific environments. {{</call-out>}}
This document outlines manual steps to install NGINX Instance Manager. For most users, we recommend that you use our script-based process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited. {{</call-out>}}


## Before You Begin

Expand Down
23 changes: 23 additions & 0 deletions content/nim/fundamentals/tech-specs.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,29 @@ The following benchmarks focus on **disk storage** requirements for NGINX Instan
- **Medium configuration**: Usually includes about **50 servers**, **200 locations**, and **200 upstreams/backends**. Each instance generates **16,766 metrics per minute**.
- **Generic Large configuration**: Handles up to **100 servers**, **1,000 locations**, and **900 upstreams/backends**. In **NGINX Plus**, each instance generates **59,484 metrics per minute**.


#### Directory Requirements for NGINX Instance Manager

Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).
We recommend that you allocate at least the following space on the specified directories. These recommendations apply for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).


Important Note: These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities (e.g., managing configurations, viewing metrics, applying WAF policies, managing certificates, etc.). If the use case is solely usage reporting, as introduced in R33+, the Agent is not required, and resources needed are significantly reduced. For usage reporting-only deployments, NIM simply receives and stores usage data sent directly from the instances, which does not require the same resource allocation outlined below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I presume you're referring to volume requirements for each noted directory

Suggested change
Important Note: These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities (e.g., managing configurations, viewing metrics, applying WAF policies, managing certificates, etc.). If the use case is solely usage reporting, as introduced in R33+, the Agent is not required, and resources needed are significantly reduced. For usage reporting-only deployments, NIM simply receives and stores usage data sent directly from the instances, which does not require the same resource allocation outlined below.
{{< note >}} These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities, such as managing configurations, viewing metrics, applying WAF policies, and managing certificates.
If the use case is solely usage reporting, as introduced in R33+, you do not need to use NGINX Agent. This significantly reduces required resources. If your deployment is for reporting-only deployments, NIM receives and stores usage data sent directly from the instances, which do not require the same resources outlined here. {{< /note >}}


- /usr/bin: Stores NIM binaries; recommend 500MB (current size ~400MB).
- /var/lib/nms/dqlite: Stores DQLite database data; recommend 1GB (2GB without NAP, 5GB with NAP enabled and large compiled bundles).
- /var/lib/nms/streaming: Stores NATS streaming messages; recommend 500MB.
- /var/lib/nms/secrets: Stores secrets for LLM license handshakes; recommend 10MB.
- /var/lib/nms/modules: Stores static content like manager.json; recommend 100KB (12KB minimum).
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance (25GB for 10 instances, 250GB for 100 instances). This is only required if ClickHouse metrics are enabled. In NIM 2.20, lightweight mode can be deployed without ClickHouse (no metrics collected).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of what's drafted is redundant. However, this is begging for a link to answer "What if I'm deploying > 100 instances of NIM"

Suggested change
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance (25GB for 10 instances, 250GB for 100 instances). This is only required if ClickHouse metrics are enabled. In NIM 2.20, lightweight mode can be deployed without ClickHouse (no metrics collected).
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance. Required only if ClickHouse metrics are enabled. In NIM 2.20, you can deploy lightweight mode without ClickHouse.

- /var/log/nms: Stores logs for NIM with rotation enabled; recommend 50MB per week if archived once a month.
- /etc/nms/: Stores NIM configuration files; recommend 50MB.
- /etc/nginx: Stores NGINX configuration files; typical size is 10–50MB (confirm with specific deployments).

**Key Considerations**:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Key Considerations**:
**Key Considerations**:

-Resources listed above are necessary for instance management using NIM (via NGINX Agent).
-For usage reporting-only deployments (without management via Agent):
Comment on lines +104 to +105
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style. We discourage the use of Latin terms

Suggested change
-Resources listed above are necessary for instance management using NIM (via NGINX Agent).
-For usage reporting-only deployments (without management via Agent):
-Resources listed above are necessary for instance management using NIM (through NGINX Agent).
-For usage reporting-only deployments (without management through Agent):

No ClickHouse metrics are collected.
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management vs. usage reporting) is critical to avoid allocating unnecessary resources. Regular monitoring, backups, and adjustments are still recommended to optimize operations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management vs. usage reporting) is critical to avoid allocating unnecessary resources. Regular monitoring, backups, and adjustments are still recommended to optimize operations.
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management versus usage reporting) is critical to avoid allocating unnecessary resources. We still recommend regular monitoring, backups, and adjustments to optimize operations.


#### Storage requirements for NGINX Plus

The table below provides storage estimates for **NGINX Plus** based on configuration size, number of instances, and a 14-day data retention period. Larger configurations and longer retention periods will require proportionally more storage.
Expand Down
Loading