TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.6K subscribers
Post #13557 1.78K
داری روی سرور جدیدت با ۵۱۲ هسته Nginx رو کانفیگ می‌کنی، همه‌چیز خوبه و خوشحالی که چه سرور خفنی داری
بعد یهو nginx -s reload می‌زنی و کل سرویس‌ها از دسترس خارج می‌شن

امروز موقع ریلیز یکی از پروژه‌ها متوجه شدیم که Nginx یه محدودیت کمتر شناخته‌شده داره:

NGX_MAX_PROCESSES

مستر برای Child Processها حداکثر 1024 تا Slot داره؛ یعنی Nginx نمی‌تونه بیشتر از این تعداد Process رو همزمان مدیریت کنه.

البته این عدد کاملاً جدا از worker_connections هست که داخل nginx.conf تعیین می‌کنیم و مشخص می‌کنه هر Worker چند Connection می‌تونه داشته باشه.

ضمن اینکه محدودیتی که اینجا راجع بهش صحبت می‌کنم از داخل nginx.conf قابل تغییر نیست و توی سورس Nginx تعریف شده.

حالا اگه worker_processes auto داشته باشی، روی ۵۱۲ Core تقریباً ۵۱۲ تا Worker داری.

موقع Reload هم Nginx اول Workerهای جدید رو بالا میاره و Workerهای قدیمی رو نگه می‌داره تا Connectionهای موجودشون تموم بشه.

یعنی خیلی راحت می‌رسی به:

512 old workers + 512 new workers = 1024

حالا اگه فقط چند تا Worker از Reload قبلی هنوز Gracefully خارج نشده باشن، دیگه برای ساختن همه Workerهای جدید Slot کافی وجود نداره

و اینجاست که فاجعه اتفاق می‌افته:

no more than 1024 processes can be spawned

روی سرورهای خیلی بزرگ، استفاده از worker_processes auto همیشه هم بهترین انتخاب نیست.

پس بهتره همیشه حواسمون به کانفیگ‌هایی که در حالت auto میزان مصرف منابعشون رو بر اساس منابع موجود سرور انتخاب می‌کنن باشه؛ چون چیزی که روی یه سرور معمولی کاملاً منطقیه، روی یه سرور خیلی بزرگ ممکنه ما رو به یه Limit فاجعه‌بار برسونه


@DevTwitter | <Mohammad Falahat/>
  • ❤ 9
  • 👍 2
  • 🍌 2
More from @devtwitter
  1. Oct 15, 2026سلام دوستان وقتتون بخیر امیدوارم سالم و سرحال باشین این پرسشنامه مربوط به یه کار تحقیقاتی…
  2. Oct 15, 2026بزرگترین دیتابیس مواد غذایی فیگ‌فیت با ۱۵۰۰۰ ورودی رو به شکل رایگان منتشر کردیم: https://k…
  3. Oct 15, 2026یک تیم کامل سه‌بعدی برای Blender متن‌باز شده؛ از طراحی کانسپت و مدل‌سازی گرفته تا انیمیشن،…
  4. Oct 15, 2026پونصد‌ میلیون توکن رایگان برای استفاده از مدل های زیر : DeepSeek V4 Qwen3.8-27B GLM-5.3 در…
  5. Oct 15, 2026حالا یک جایگزین رایگان و متن‌باز برای CapCut وجود دارد. بدون واترمارک، بدون نیاز به حساب ک…
  6. Oct 14, 2026اولین پروژه‌ای که ترافیک واقعی گرفت، یه چیزی فهمیدم: فرق بین کدی که کار می‌کنه و کدی که sc…
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 →