OpenVPN به چند هسته نیاز دارد؟ بستگی به مسیر دارد
یک جریان میتواند یک هسته را اشغال کند در حالی که سرور بیکار به نظر میرسد. مسیر فضای کاربر را با بارزدایی در هسته مقایسه کنید، سپس همزمانیای را که واقعاً سرو میکنید اندازه بگیرید.
دو سرور با تعداد پردازنده یکسان میتوانند توانعبوری بسیار متفاوتی داشته باشند، زیرا عدد مهم این است که مسیر داده فعال واقعاً از چند هسته میتواند استفاده کند۔ یک دیمن واحد در فضای کاربر که بستههای یک کارخواه را پردازش میکند به یک هسته محدود است، در حالی که مسیر هستهای بارزداییشده میتواند آن کار را پخش کند۔ هیچیک از این دو گزاره نمیگوید یک ماشین مشخص با ترافیک شما چه خواهد کرد، به همین دلیل اندازهگیری پیش از شمردن هستهها میآید۔
مقایسه زیر درباره این است که بستهها کجا پردازش میشوند، نه اینکه کدام محصول در حالت انتزاعی سریعتر است۔ اینها دو پرسش متفاوت با دو پاسخ متفاوت هستند۔
یک هسته به ازای هر جریان در مسیر فضای کاربر
در یک نمونه OpenVPN Community سنتی، کانال داده در فضای کاربر پردازش میشود، و یک اتصال پرکار میتواند یک پردازنده را اشغال کند در حالی که بهرهگیری کلی ماشین نامحسوس میماند۔ به همین دلیل افزودن هسته به میزبانی که پیشتر روی یک جریان اشباع شده چیزی را تغییر نمیدهد: زمانبند هیچ راهی برای تقسیم آن کار ندارد۔ ساختار یک فرایند به ازای هر کارخواه، انتقال یک کارخواه را به ظرفیت یک هسته محدود میکند، هر تعداد کل هسته که باشد۔ در هنگام آزمون بهرهگیری هر هسته را جداگانه بخوانید نه رقم کلی، وگرنه گلوگاه مانند ظرفیت آزاد به نظر میرسد۔
اجرای چند نمونه سرور روی یک میزبان، کارخواهان جداگانه را میان فرایندها توزیع میکند۔ این کار یک اتصال موجود را موازی نمیکند و مخزنها، شنوندهها و تصمیمهای مسیریابی جداگانه هزینه دارد۔
مسیر دیگر: بستهها در هسته
بارزدایی کانال داده پردازش بستههای پشتیبانیشده و رمزنگاری را به هسته منتقل میکند، جایی که کار میتواند از چند هسته استفاده کند۔ این پرسش ظرفیت را از یک هسته به ماشین تغییر میدهد، اما تنها برای پیکربندیهایی که پیادهسازی پشتیبانی میکند: یک ماژول هسته سازگار، یک رمز داده واجد شرایط، و پیکربندیای بدون ویژگیهایی که بارزدایی آنها را کنار میگذارد۔ نصب یک ماژول همان استفاده از آن نیست، پس حالت فعال را از گزارش خود اتصال یا از خروجی وضعیت تأیید کنید۔ بنر نسخه اثبات میکند چه چیزی موجود است، نه چه چیزی در حال اجرا است۔
بارزدایی نه احراز هویت و نه کانال کنترل را حذف نمیکند، و هر استقرار را چندهستهای نمیکند۔ این شتاب محلی یک مسیر داده سازگار است، و الزامات بر پایه سکو و نسخه تفاوت میکند۔
مقایسه در واقع چه چیزی را تعیین میکند
انتخاب واقعی میان پذیرش یک سقف به ازای جریان، پخش کارخواهان میان نمونهها، و رفتن به یک پیکربندی بارزدایی پشتیبانیشده است۔ هر یک مشکل متفاوتی را حل میکند، و انتخاب گزینه نادرست پول هزینه میکند بیآنکه رقم را تکان دهد۔ آزمونی که اهمیت دارد آن است که به شکل شیوه استفاده از سرویس باشد۔
سه شکل را اندازه بگیرید: یک کارخواه با یک انتقال، یک کارخواه با چند جریان، و چند کارخواه با هم۔ مجموع بالا در شکل سوم اثبات نمیکند که یک دانلود میتواند به آن برسد، و انتقال کند یکتایی اثبات نمیکند که ظرفیت کلی سرور تمام شده است۔ نتایج به پرسشهای متفاوت پاسخ میدهند و هر دو ارزش داشتن را دارند۔
تنها شکل میانی به شما میگوید آیا همزمانی درون یک کارخواه کمک میکند، که معمولاً ویژگی انتقال و مسیر است نه سرور۔ تنها شکل اول سقفی را میگوید که یک برنامه خواهد دید۔ بار کاری را میان اجراها یکسان نگه دارید تا مقایسه معنا داشته باشد۔
اندازهگیری تا رقم معنا داشته باشد
نسخههای سرور و کارخواه، مسیر داده فعال، رمز داده توافقشده، جهت انتقال، اندازه بستهها، شمار جریانها و مدت را ثبت کنید۔ فعالیت هر هسته و افت بسته و صف را در دو طرف بپایید، زیرا رابط خود کارخواه، شبکه ارائهدهنده یا سرویس مقصد میتواند نخست به حد تبدیل شود۔ هر بار یک متغیر را تغییر دهید، چون اجرایی که رمز، فشردهسازی، MTU و بارزدایی را با هم عوض میکند نمیتواند بگوید کدام مهم بود۔ سیاست دسترسیای را که واقعاً قصد استقرارش را دارید در طول آزمون نگه دارید، زیرا ترتیبی آزمایشگاهی که هیچکس اجرا نمیکند چیز کمی را اثبات میکند۔
سپس برای کانال کنترل، برای بازمذاکره و برای هر چیز دیگری که روی میزبان اجرا میشود جا بگذارید۔
گزارش کنید که پیکربندی تحت همزمانی موردنظر چه چیزی را حفظ کرد، نه آهنگی که از سختافزار دیگری برونیابی شده باشد۔ رقمی که شرایط آزمونش پیوست است سودمند است؛ وعدهای بدون آنها گمانی است که بعداً به شما بازگو میشود۔