6 ヶ月前払い −28% · 1 年払い −50%プランを比較
PrivacyNodes
リソース計画

ワークロード予算から SaaS VPS のサイズを決定する

デプロイとメンテナンスを含め、共存させる必要があるプロセスから始めます。その合計予算を代表的なワークロードと比較してから、リソースプロファイルを選択します。訪問者数だけでは、SaaS に必要な VPS 容量は判断できません。

PrivacyNodesエンジニアリングノート · レビュー済み · 3 分で読めます

ホストを選ぶ前に作業を明確にする

リクエストパスを描きます。リバースプロキシ、API プロセス、データベース、外部サービスです。非同期パスも追加します。キュー、ワーカー、エクスポート先です。どのコンポーネントがホストを共有するか、誰が同時実行数を制御するか、再構築後も存続すべきデータはどれかを記録します。アプリケーションメトリクスと、代表的なデータを用いた非本番ワークロードが必要です。このガイドは、プロビジョニング済みの PrivacyNodes インスタンスを前提としていません。

例示的なレポーティング API では、HTTP リクエストがアカウント設定を読み取り、エクスポートをキューに入れます。ワーカーは行をスキャンし、ファイルを書き込みます。キュー投入応答が高速でも、ピークトラフィック中にエクスポートが完了できることの証明にはなりません。テスト計画には、スケジュールされたクリーンアップとデプロイのオーバーラップを含めます。

メモリのワークシートにオーバーラップを含める

これらは MiB 単位の仮想的な計画入力であり、PrivacyNodes に関する測定値や約束ではありません。実際に観測されたアプリケーション要件に置き換えてください。RSS には常駐共有マッピングが含まれるため、全プロセスの RSS を合計するとメモリを二重計上する可能性があります。すべてのファイルシステムキャッシュを恒久的に利用不可とみなすより、ホストの利用可能メモリの方が有用です。

技術リファレンス: Linux プロセスのメモリ計上.

同一ホスト上のメモリ予算の例示
コンポーネント予算前提
ホストとツール512 MiBOS、プロキシ、テレメトリ
2 つの API プロセス768 MiB想定ピーク時で各 384
1 つのエクスポートワーカー512 MiB上限付きバッチ
データベース1,024 MiBキャッシュとクエリ作業
リリースのオーバーラップ512 MiB新旧の作業が共存
未割り当ての余裕512 MiB調査すべき不確実性
想定合計3,840 MiB実際のホストメモリと比較

これは名目上の 4 GB エンベロープに近すぎて、余裕のある容量と想定できません。ホストが報告する実際のメモリと、ピークが重なるかどうかを確認します。同時実行数を減らす、コンポーネントを移動する、メモリを追加するなどの対応をとってください。表に合わせるためだけに予備を削除しないでください。

PostgreSQL work_mem は操作ごとの許容量であり、データベース全体の制限ではありません。同時セッションと操作はその影響を倍加させる可能性があります。Docker コンテナにはデフォルトで CPU やメモリの制約がありません。イメージはリソースポリシーではありません。

技術リファレンス: PostgreSQL のリソース消費 · Docker のリソース制約.

キューの滞留時間と併せて CPU を測定する

通常のリクエスト、最も遅い有用なレポート、失敗した依存関係、エクスポートを同時に試します。同じ期間にわたってレイテンシのパーセンタイル、エラー、ホスト CPU、ワーカーの同時実行数、最も古いジョブの経過時間を記録します。CPU プレッシャーとキューの増加は、CPU が低くデータベース待機が長い場合とは異なる対応を示唆します。

エクスポートを 1 件実行中の状態で例を開始します。ワーカーが外部ストレージを待つ場合、CPU を増やしてもほとんど変わらないかもしれません。API レイテンシが上昇する中でコアを繰り返し飽和させる場合は、より小さなエクスポートバッチまたは別のワーカー予算を試します。容量を購入する前に、1 つの要因を変更して同じシナリオを繰り返します。

次のメンテナンス作業を予算に組み込む

データベースファイルとインデックス、アップロード、ログ、一時エクスポート、リリースアーティファクト、メンテナンス用の空き容量を列挙します。週ごとの増加量と、予備がいつ枯渇するかを記録します。20 GB のデータセットに 20 GB の一時コピーがあれば、通常のアプリケーショントラフィックが静かでも 20 GB 以上が必要です。

ログローテーションとエクスポートの有効期限を定めます。復旧コピーはホストの障害境界の外に保管します。追加の VPS ストレージは作業割り当てを拡張しますが、同じディスク上のコピーは独立したバックアップではありません。通常運用と、バックアップやエクスポートと並行して実行されるリリースの両方をテストします。

再検討できる決定を記録する

出力はワークシート、ワークロードの説明、およびレビューのトリガーです。代表的なテスト中に最も古いジョブの経過時間が増加する、メンテナンス用スペースが減少する、または現在のプロセスと共存できないリリースがある、といったものです。普遍的な CPU パーセントのしきい値をでっち上げるのではなく、観察を記録します。

比較する App 2Scale 4 これらの制約と比較します。それでも結果に驚く場合は、 スタックを通して 1 つの遅いリクエストを追跡する。この演習はワークロードを見積もるものであり、サプライヤーのベンチマーク、トラフィック容量、可用性を確立するものではありません。

公式リファレンス

この記事のドキュメントをレビューしました。例は計画用の演習であり、PrivacyNodes サーバーでテストされたコマンドではありません。インストールされているバージョンのドキュメントを確認してください。