| VFS_AIO_RATELIMIT(8) | System Administration tools | VFS_AIO_RATELIMIT(8) |
نام (NAME)
vfs_aio_ratelimit - پیادهسازی محدودسازی نرخ ورودی/خروجی ناهمگام (async-I/O) برای سامبا
خلاصه دستور (SYNOPSIS)
vfs objects = aio_ratelimit
شرح (DESCRIPTION)
این ماژول VFS بخشی از مجموعه samba(7) است.
ماژول VFS با نام aio_ratelimit محدودسازی نرخ (rate-limiting) در زمان اجرا را روی اشتراکهای مشخص از طریق اعمال حد بالا بر عملیات ورودی/خروجی ناهمگام (async I/O) فعال میکند. یک مدیر سیستم میتواند این حد را بهصورت عملیات بر ثانیه یا بایت بر ثانیه تعریف کند. هنگامی که یکی از این محدودیتها فراتر رود، مقداری تأخیر (به میکروثانیه) بر اساس بار ورودی/خروجی جاری محاسبه شده و به عملیات async I/O تزریق میشود، که سقفی ضمنی برای توان عملیاتی به وجود میآورد.
یک حد مجاز جهش (burst allowance) قابل پیکربندی از طریق ضریب جهش پشتیبانی میشود، که امکان جهشهای کوتاهمدت فراتر از نرخ حالت پایدار را در عین اعمال سقف بلندمدت فراهم میسازد. وضعیت محدودکننده نرخ بهطور دورهای در یک TDB محلی ذخیره میشود، که امکان اعمال مداوم محدودیتها را در اتصالهای مجدد کلاینت و راهاندازیهای مجدد smbd ممکن میسازد.
این ماژول تنها روی عملیات ناهمگام READ/WRITE در VFS عمل میکند.
این ماژول قابل پشتهسازی (stackable) است.
پیکربندی (CONFIGURATION)
استفاده سرراست:
[share] path = /path/to/share vfs objects = aio_ratelimit
گزینهها (OPTIONS)
aio_ratelimit:read_iops_limit = count
پیشفرض: 0، بیشینه: 1000000
مثال: aio_ratelimit:read_iops_limit = 1000
aio_ratelimit:read_bw_limit = count
پیشفرض: 0، بیشینه: 1T
مثال: aio_ratelimit:read_bw_limit = 2M
aio_ratelimit:read_burst_mult = value
پیشفرض: 15 (1.5x)، بیشینه: 100 (10x)
مثال: aio_ratelimit:read_burst_mult = 20
aio_ratelimit:write_iops_limit = count
پیشفرض: 0، بیشینه: 1000000
مثال: aio_ratelimit:write_iops_limit = 1000
aio_ratelimit:write_bw_limit = count
پیشفرض: 0، بیشینه: 1T
مثال: aio_ratelimit:write_bw_limit = 1M
aio_ratelimit:write_burst_mult = value
پیشفرض: 15 (1.5x)، بیشینه: 100 (10x)
مثال: aio_ratelimit:write_burst_mult = 15
رفتار جهش (BURST BEHAVIOR)
پارامترهای read_burst_mult و write_burst_mult حداکثر ظرفیت جهش محدودکننده نرخ را نسبت به حدود نرخ پیکربندیشده کنترل میکنند. ظرفیت جهش مؤثر بهصورت زیر محاسبه میشود: rate_limit * (burst_mult / 10).
برای مثال، با read_iops_limit = 1000 و read_burst_mult = 15، ظرفیت جهش 1000 * 1.5 = 1500 IOPS خواهد بود.
این ویژگی امکان جهشهای کوتاهمدت ورودی/خروجی فراتر از نرخ حالت پایدار را فراهم میکند در حالی که همچنان حد بلندمدت پیکربندیشده اعمال میشود.
ضریب جهش مناسب به ویژگیهای بار کاری بستگی دارد. بارهای کاری با درخواستهای ورودی/خروجی ناهمگام بزرگتر یا متغیرتر ممکن است برای جلوگیری از کاهش سرعت زودهنگام (throttling) به مقدار جهش بالاتری نیاز داشته باشند، در حالی که بارهای کاری کوچکتر یا حساس به تاخیر ممکن است از مقادیر پایینتر بهرهمند شوند.
نکته
پارامترهای read_burst_mult و write_burst_mult میانگین توان عملیاتی بلندمدت را تغییر نمیدهند، که به ترتیب توسط read_iops_limit/read_bw_limit و write_iops_limit/write_bw_limit محدود باقی میماند. مقادیر جهش بالاتر تنها روی شتاب اولیه و بازیابی از دورههای بیباری اثر میگذارند.
نسخه (VERSION)
این صفحه راهنما بخشی از نسخه 4.24.6 مجموعه Samba است.
نویسنده (AUTHOR)
نرمافزار اصلی Samba و ابزارهای مرتبط توسط Andrew Tridgell ساخته شدهاند. Samba اکنون توسط تیم Samba بهصورت یک پروژه متنباز مشابه نحوه توسعه هسته لینوکس توسعه مییابد.
| 08/16/2026 | Samba 4.24.6 |