پایلوت مرجع

تغییر را روی ترافیک خودتان اثبات کنید.

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

معماری شروع

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

بار نماینده

ترکیبی مستند از ترافیک ایستا، پروکسی و پروتکل را با افزایش همزمانی پخش کنید. صحت پاسخ، خطاها، پردازنده، حافظه و تأخیر نهایی را ثبت کنید.

معیارهای کارت امتیازی

حدود موفقیت/شکست را قبل از تست تعیین کنید. شامل برابری عملکردی و رفتار عملیاتی، نه فقط حداکثر توان عملیاتی.

  • پاسخ‌ها و هدرهای صحیح در تمام مسیرهای انتخاب‌شده
  • تاخیر p95 و p99 برای درخواست‌های نماینده
  • نرخ خطا و رفتار شکست تحت بار
  • استفاده از CPU در بار هدف پایدار
  • استفاده از حافظه و پایداری در طول ترافیک پایدار

برنامه بازگردانی

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

ادامه یا عدم ادامه

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

این طرح هیچ نتیجه اندازه‌گیری‌شده‌ای برای مشتری یا صرفه‌جویی تضمین‌شده‌ای ندارد. تیم شما تصمیم نهایی در مورد حجم کار و ریسک را بر عهده دارد.

پایلوت معیار خود را برنامه‌ریزی کنید.

چک‌لیست آزمایشی خود را بسازید

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

چک‌لیست آزمایشی

  1. قبل از تغییر مسیر، یک خط مبنا روی Nginx ثبت کنید.
  2. مسیر HTTP/2 را از ابتدا تا انتها تأیید کنید.
  3. ترافیک نماینده API را بازپخش کنید.
  4. از منابع قابل مقایسه در سخت‌افزار خالص استفاده کنید.
  5. در مورد صحت، تأخیر p95/p99، خطاها، CPU و حافظه توافق کنید.
  6. یک مسیر بازگشت فوری داشته باشید و آن را تمرین کنید.

الگوی آزمایشی JSON

{
  "schema": "webship-benchmark-pilot/v1",
  "currentProxy": "nginx",
  "protocol": "h2",
  "trafficProfile": "api",
  "environment": "baremetal",
  "gates": [
    "correctness",
    "p95Latency",
    "p99Latency",
    "errorRate",
    "cpu",
    "memory"
  ],
  "rollout": [
    "baseline",
    "shadow",
    "canary",
    "review",
    "rollbackOrPromote"
  ],
  "result": "not_measured"
}

این قالب فقط انتخاب‌ها را ثبت می‌کند. این عملکرد، صرفه‌جویی یا آماده بودن برای تولید را تخمین نمی‌زند.