TGViewer
Node.js Recipes Node.js Recipes @node_recipes · 3.11K subscribers
Post #856 2.89K
За замовчуванням Node.js використовує лише одне ядро, але ми можемо використовувати Worker threads або Child Process.
Якщо ви їх використовуєте, настійно рекомендую під час запуску програми перевіряти кількість доступних ядер для вашого застосунка. Таким чином ви гарантуєте, що програма матиме необхідну кількість ресурсів. Наприклад, DevOps не забув внести зміни у deployment файл для Kubernetes.

Приклад коду
import { availableParallelism } from ‘node:os'; // Node 18.4+
const vCPUs = availableParallelism();
if (vCPUs < 2) throw new Error(`Minimum 2 vCPUs is required`);

Зверніть увагу, що availableParallelism віддає цілі значення, тоді як налаштування кількості ядер може бути дробовою. Приклад:
docker run --rm --cpus=1.5 node:22-alpine node -e "console.log(require('os').availableParallelism())"

Звісно, ми можемо зробити це через /sys/fs/cgroup/cpu файли щоб отримати дробове значення, але це вже OS specific

Как це буде працювати?
Контейнер може одночасно запускати 2 потоки, але в сумі за 100 мс не повинен перевищувати 150 мс процесорного часу інакше Linux throttling починає «гальмувати» процеси всередині контейнера, знижуючи їх пріоритет. Ось щоб у нас не було throttling, нам й потрібно перевірити availableParallelism.
  • 👍 34
  • ❤ 8
More from @node_recipes
  1. Jan 5, 2026По всьому світу проходять Cursor Meetups, де локальні спільноти діляться досвідом використ…
  2. Jan 5, 2026Думки на вихідних: Full Stack Learning Подивився останнє відео Сергія Немчинського про фул…
  3. Dec 31, 2025Залишаються лічені години 2025-го. І будьмо чесними: сам перехід на 2026-й нічого автомати…
  4. Dec 25, 2025Моє відкриття 2025 року, як доповідача, це Napkin.ai. На малюнку приклад того, як Napkin г…
  5. Dec 23, 2025А ось й ChatGPT додав 2025 review feature. Авжеж в мене half coded Nest.js app, як ще :)
  6. Dec 23, 2025Моє технічне відкриття 2025 року — centrifugal.dev У 2025-му я багато працював із реальним…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →