زیرساخت خصوصی فراساحلی
مهندسی شبکهپیشرفته · 4 دقیقه مطالعه

برنامه‌ریزی یک مبدأ 40، 100 یا 200 Gbps به‌عنوان یک سیستم کامل

کلاس‌های پورت بزرگ را به پرسش‌های ذخیره‌سازی، CPU، همزمانی و عملیاتی ترجمه کنید پیش از انتخاب یک پیکربندی توزیع با حجم بالا.

نوشته SwissOctet Editorial
پاسخ مستقیم

یک پورت بزرگ تنها زمانی ارزشمند است که برنامه، ذخیره‌سازی، پردازنده، مسیر شبکه و گیرنده‌ها بتوانند از آن استفاده کنند. مجموعه کاری و همزمانی را برنامه‌ریزی کنید، هر مرحله محدودکننده را محک بزنید و مرزهای عملیاتی را تعریف کنید. برچسب‌های فهرست 40، 100 و 200 Gbps کلاس‌های پورت هستند، نه تضمین‌های جهانی انتقال یا دسترس‌پذیری.

01

پورت را به مقیاس داده ترجمه کنید

با واحدهای ده‌دهی، 40، 100 و 200 Gbps با محاسبه نرخ خطی 5، 12.5 و 25 GB در ثانیه متناظرند. این‌ها تبدیل‌های مرجع پیش از اثرات پروتکل و پیاده‌سازی هستند. آن‌ها مقیاس طراحی پیرامونی را توصیف می‌کنند، نه نرخ اندازه‌گیری‌شده یا وعده‌ای که یک مبدأ آن مقدار محتوای برنامه را تحویل می‌دهد.

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

کلاس پورت فهرست‌شدهتبدیل ده‌دهی خامپیامد برنامه‌ریزی
40 Gbps5 GB/s پیش از سربارمحتوا و مسیر برنامه را اندازه بگیرید
100 Gbps12.5 GB/s پیش از سربارذخیره‌سازی، همزمانی و پردازش را بررسی کنید
200 Gbps25 GB/s پیش از سربارهر مرحله و ظرفیت دریافت را اعتبارسنجی کنید
02

مجموعه کاری و رفتار حافظه نهان را مدل کنید

مشخص کنید کدام محتوا مکرراً درخواست می‌شود و کدام باید بر حسب تقاضا از ذخیره‌سازی خوانده شود. یک حافظه نهان گرم می‌تواند نتیجه‌ای تولید کند که یک شروع سرد نمی‌تواند آن را پایدار نگه دارد. هر دو شرایط را زمانی که برای پروژه اهمیت دارند آزمایش کنید. مجموعه داده را به‌قدر کافی بزرگ و واقع‌گرایانه نگه دارید تا اندازه‌گیری به پرسشی که واقعاً باید حل کنید پاسخ دهد.

یک مبدأ قانونی دانلود نرم‌افزار با نسخه‌های محبوب و آرشیو قدیمی‌تر را تصور کنید. پنجره پرترافیک انتشار را با دسترسی عادی به آرشیو مقایسه کنید. برای انتشار، تولید checksum و ترافیک پشتیبان‌گیری در جایی که این عملیات همپوشانی دارند ظرفیت رزرو کنید. این سناریوی اصلی یک چارچوب برنامه‌ریزی فراهم می‌کند؛ هیچ سخت‌افزار یا سرویس حافظه نهان خاصی را به‌عنوان بخشی از SwissOctet اثبات نمی‌کند.

03

ذخیره‌سازی را مستقل اندازه بگیرید

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

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

04

محدودیت‌های پردازنده و صف را مشاهده کنید

در نرخ‌های انتقال بالا، پردازش و مدیریت وقفه می‌توانند در کنار استفاده برنامه از CPU اهمیت داشته باشند. Linux مقیاس‌بندی سمت دریافت و مکانیزم‌های مرتبط برای توزیع کار شبکه میان صف‌ها و پردازنده‌ها را مستند می‌کند. حضور و رفتار آن‌ها به سخت‌افزار و پیکربندی بستگی دارد. از آن مستندات برای تفسیر اندازه‌گیری‌ها استفاده کنید، نه اینکه یک دستور تنظیم عمومی را به هر سروری اعمال کنید.

مراقب باشید آیا یک CPU، کارگر یا صف دریافت پیش از کل سیستم اشباع می‌شود. رمزنگاری، فشرده‌سازی و مدیریت درخواست را زمانی که سرویس تولیدی از آن‌ها استفاده می‌کند در آزمون بگنجانید. یک عدد میانگین بیکار CPU می‌تواند یک جزء اشباع‌شده را پنهان کند. هر بار یک عامل را تغییر دهید و خط پایه را نگه دارید تا اثر قابل درک باشد.

05

برنامه سرویس‌دهنده را اعتبارسنجی کنید

سرور باید بیش از جابه‌جایی بایت‌ها در یک محک شبکه انجام دهد. اتصالات، تجزیه درخواست، مجوزدهی، خواندن محتوا و تکمیل پاسخ را با نرم‌افزار مورد نظر خود اعتبارسنجی کنید. Nginx کنترل‌های انتقال فایل و اتصال را برای پیاده‌سازی خود مستند می‌کند؛ نرم‌افزارهای دیگر تنظیمات متفاوتی دارند. مستندات نسخه واقعی‌ای را که اجرا خواهید کرد بخوانید.

همزمانی واقع‌گرایانه را آزمایش کنید و زمان‌های تکمیل دنباله و همچنین خروجی کل را مشاهده کنید. یک عدد کل بزرگ می‌تواند همراه با درخواست‌های فردی‌ای باشد که مهلتشان تمام می‌شود. محدودیتی تعیین کنید که سرویس در آن هنوز به‌طور قابل قبول رفتار می‌کند، سپس حاشیه عملیاتی باقی بگذارید، نه اینکه هدف این باشد هر جزء را تمام روز در حداکثر نظری‌اش اجرا کنید.

06

مشخصات واقعی Transit را مقایسه کنید

خانواده‌های Transit SwissOctet کشور را سوئیسی نگه می‌دارند در حالی که پایه‌های متفاوت پردازنده، حافظه و ذخیره‌سازی را فهرست می‌کنند. طرح دقیق را بخوانید: Transit 100 ذخیره‌سازی SSD را فهرست می‌کند، در حالی که سایر مشخصات پایه Transit NVMe را فهرست می‌کنند. گزینه‌های دیسک اضافی برچسب‌های خود را دارند. اجازه ندهید کلاس پورت جایگزین بررسی بقیه پیکربندی شود.

همچنین دسترس‌پذیری، شرایط ترافیک، مسئولیت‌های مدیریتی و فرآیند بازیابی را با سرویس واقعی تأیید کنید. ترافیک نامحدود یک مدل ترافیک را توصیف می‌کند، نه اجازه فعالیت خودسرانه یا تعهد زمان کارکرد. بارهای کاری پرحجم مانند بارهای کوچک‌تر به شرایط عملیاتی روشن و حقوق توزیع محتوا نیاز دارند.

07

پیش از باز کردن ترافیک، عملیات را آماده کنید

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

یک تمرین مرحله‌ای با گیرنده‌های مجاز و محدودیت‌های توافق‌شده اجرا کنید، سپس به‌سمت بار کاری برنامه‌ریزی‌شده افزایش دهید. نتایج، پرسش‌های بی‌پاسخ و فضای منابع را در سابقه استقرار نگه دارید. تنها زمانی پورت بزرگ‌تری انتخاب کنید که این شواهد از آن پشتیبانی کنند؛ یک طراحی کامل و اندازه‌گیری‌شده مفیدتر از بزرگ‌ترین عدد موجود در فهرست است.

آن را به عمل تبدیل کنید

چک‌لیست عملی شما.

  • کلاس پورت را تبدیل کنید بدون اینکه آن را تحویل بار مفید در نظر بگیرید.
  • برخوردهای حافظه نهان، خواندن‌های سرد و درخواست‌های همزمان را مدل کنید.
  • ذخیره‌سازی را با داده‌های آزمون بی‌خطر محک بزنید.
  • CPU، کارگران و صف‌های شبکه را مشاهده کنید.
  • برنامه سرویس‌دهنده و ظرفیت گیرنده را آزمایش کنید.
  • ترافیک را مرحله‌ای کنید و یک رویه بازگردانی نگه دارید.
پرسش‌های رایج

جزئیاتی که اهمیت دارند.

آیا بزرگ‌ترین پورت همیشه امن‌ترین انتخاب است؟+

خیر. بر اساس تقاضای اندازه‌گیری‌شده و محدودیت‌های سیستم کامل انتخاب کنید. یک پورت بزرگ‌تر ظرفیت ناکافی ذخیره‌سازی، پردازنده یا برنامه را برطرف نمی‌کند.

آیا هر خانواده Transit از NVMe استفاده می‌کند؟+

خیر. طرح واقعی را بخوانید. مشخصات پایه Transit 100 SSD را فهرست می‌کند؛ سایر طرح‌های پایه و گزینه‌های درایو اضافی توصیف‌های خود را دارند.

چرا با داده سرد و همچنین داده حافظه نهان آزمایش کنیم؟+

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

منابع اصلی

به منبع بروید.

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

  1. هسته Linux: مقیاس‌بندی در پشته شبکه docs.kernel.org
  2. fio: مستندات بار کاری و اندازه‌گیری fio.readthedocs.io
  3. Nginx: ماژول هسته HTTP nginx.org

راهنمایی تحریریه توسط SwissOctet. مثال‌ها نمایشی هستند. مشخصات خدمات، گزینه‌های موجود و شرایط قراردادی باید جداگانه تأیید شوند.

دانش را متصل کنید

زیرساخت مرتبط.

رشته را نگه دارید

یادداشت‌های میدانی بعدی شما.

کاوش همه راهنماها
یادداشت میدانی / 02
مهندسی شبکهپیشرفته

اندازه‌گذاری انتقال با اندازه‌گیری‌های تأخیر، همزمانی و توان عبور

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

4 دقیقه مطالعهراهنما را بخوانید