یک اتصال پروکسی طولانی‌مدت معمولاً دو سوکت را اشغال می‌کند: سوکت کلاینت و سوکت بالادست. worker_connections هر دو طرف را می‌شمارد. بنابراین ضرب آن در worker_processes هیچ وعده‌ای درباره ظرفیت کاربران پروکسی نمی‌دهد.

وقتی اتصال‌ها شکست می‌خورند، از محدودیت گزارش‌شده پیروی کنید:

شواهدتنظیم یا وضعیت فرآیندی که باید بررسی شود
تمام شدن worker_connectionsبودجه اتصال worker، شامل سوکت‌های بالادست
پیام سیستم‌عامل «فایل‌های باز بیش از حد»محدودیت توصیفگر فایلی که فرآیند واقعی سرویس به ارث می‌برد

سوکت‌های شنود، گزارش‌ها و دیگر فایل‌های باز نیز توصیفگر مصرف می‌کنند. استفاده مجدد از اتصال و ترکیب ترافیک رابطه میان کاربران و سوکت‌ها را تغییر می‌دهد.

worker_rlimit_nofile محدودیت‌های worker را با توجه به مجوزهای محیط تنظیم می‌کند. یک واحد systemd می‌تواند LimitNOFILE را تعیین کند؛ ulimit در یک شل تعاملی سرویس در حال اجرا را تغییر نمی‌دهد.

محدودیت‌ها را متناسب با بار کاری اندازه بگیرید و بررسی کنید چه کسی آن‌ها را مصرف می‌کند. کلاینت‌های غیرمنتظره یا اتصال‌های بالادستی که مکرر شکست می‌خورند می‌توانند بودجه‌ای را که پیش‌تر کافی بود تمام کنند. تعداد بیشتر فرآیند یا محدودیت حافظه بالاتر کمبود توصیفگر را جبران نمی‌کند.

مقالات مرتبط