سیاه و سفید روزهای قطعی اینترنت؛

گزارش «سروش پلاس» از رشد چشمگیر آن پیام‌رسان بومی در شرایط قطع اینترنت

تاریخ انتشار: ۱۱ آذر ۱۳۹۸
پیام رسان بومی سروش پلاس از شرایط خود در زمان قطع اینترنت گزارش داد.
به گزارش وبنا متن گزارش سروش پلاس به شرح زیر است:

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

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

برای تشریح و توضیح وضع پیش آمده و اقداماتی که برای عبور از این بحران انجام شد، ارائه‌ی یک سری توضیحات را لازم و ضروری می‌دانیم:


از قطع شدن چه سرویسی سخن میگوییم؟

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

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

بنابراین قطعی در چنین اپلیکیشن‌هایی به معنای ایجاد اختلال در خدمات متعدد و بهم پیوسته‌ای است که ذیل عنوان کلی پیام‌رسانی عرضه می‌شده است.

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

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

تعداد کاربران جدید

پهنای باند مصرفی تماس صوتی

تعداد تماس‌های صوتی

مقیاسپذیری خطی

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

ما برای افزایش ظرفیت سرویس تماس، به راحتی ماشین‌های سیگنالینگ (که وظیفه‌ی اتصال دو طرف یک تماس به یکدیگر را دارد) را به چهار برابر و ماشین‌های انتقال دیتا (که وظیفه تبادل صوت و تصویر بین دو طرف تماس را برعهده دارد) را به هشت برابر رساندیم. البته پهنای باند مصرفی در هر ماشین هم بین ۲۰ تا ۳۰ برابر افزایش یافته بود که در مجموع حدود ۱۶۰ برابر افزایش استفاده از سرویس، هم به لحاظ تعداد و هم پهنای باند مصرف شده را داشتیم.

افزایش ۶۰۰ برابری مصرف پهنای باند پخش زنده

اختلال در ذخیرهسازی پیامها و ارسال فایل

پس از شروع موج ثبت‌نام و افزایش فعالیت کاربران پیشین، ازصبح روز دوشنبه ۲۷ آبان، سروش‌پلاس به پایداری نسبی رسید. از میان تقریبا پنجاه سرویسی که در پیام‌رسان سروش پلاس وجود دارد، تنها با دو مشکل اساسی روبرو بودیم که عملاً آن را از یک پیام‌رسان مطلوب در نظر ما دور می‌کرد: یکی ذخیره‌سازی پیام‌ها در پایگاه داده و دیگری آپلود و دانلود فایل. ذخیره‌سازی پیام‌ها به این معناست که اگر پیامی در گفتگوی شخصی یا گروهی فرستاده شود که مخاطبش آنلاین نیست، با آنلاین شدن مخاطب، سرویس مربوطه پیام را از پایگاه داده بخواند و در گوشی مخاطب نمایش دهد. سرویس دوم هم ناظر بر این است که چه تعداد کاربر به‌صورت همزمان می‌توانند اقدام به آپلود و دانلود فایل روی سرورهای پیام‌رسان کنند. طراحی تیم فنی سروش‌پلاس در هر دوی این موارد نیز مقیاس‌پذیر است اما منابع سخت‌افزاری که هر ماشین پایگاه داده یا هر ماشین ذخیره سازی فایل نیاز دارد، به نسبت بسیاری از میکروسرویس‌های ما، زیاد است. با فاصله‌ی کوتاهی از آغاز اختلال سراسری یعنی تا نیم‌روز دوشنبه، ما توانستیم ظرفیت این بخش را به نسبت گذشته بین ۲۰ تا ۳۰ درصد افزایش دهیم. به بیان دیگر ما با منابع محدود سخت‌افزاری، آماده شدیم بین شش تا هشت برابر گذشته، فعالیت کاربران را در سرویس ذخیره‌سازی پشتیبانی کنیم، اما در روز سه‌شنبه ۲۸ آبان، فعالیت کاربران بیش از ۲۰ برابر گذشته شد. این موضوع باعث ایجاد صف در ثبت پیام‌ها در پایگاه داده و تاخیر در آپلود و دانلود فایل‌ها و نارضایتی بسیاری از کاربران در استفاده از پیام‌رسان شد. اگرچه در همین زمان‌ها، استفاده از سروش‌پلاس چندین برابر پیام‌رسان‌های دیگر بود، اما عدم ارائه سرویس باکیفیت به همه کاربران، آن هم بیشتر به دلیل کمبود منابع سخت‌افزاری ما را به تلاش بیشتر وامی‌داشت.

حجم فایلهای آپلود و دانلود شده به ترابایت

اما دلیل اصلی بروز این اختلال‌ها چه بود؟ محاسبات ما و اطلاعاتی که از زیرساخت و امکانات سخت‌افزاری پیام‌رسان‌ها، شبکه‌های اجتماعی و یا سامانه‌های اشتراک محتوا در دنیا وجود دارد، فاصله‌ی معناداری را با واقعیات و وضعیت فعلی پیام‌رسان‌ها نشان می‌دهد. امروزه در سطح جهان بخش‌های کلان ارائه‌ی این سرویس از یکدیگر تفکیک شده و شرکت‌های مختلفی هرکدام روی یک بخش خاص متمرکز می شوند. به‌عنوان مثال مساله خدمات زیرساخت و پردازش ابری در مقیاسی که یک پیام‌رسان به آن نیاز دارد، موضوعی نیست که توسط شرکت تامین‌کننده خدمات پیام‌رسانی انجام ‌شود. پس وقتی یک پیام‌رسان زیر بار مهاجرت کاربران قرار می‌گیرد (همچون تلگرام در سال ۹۴)، بسیار سریع زیرساخت خود را که روی شرکت بین‌المللی قرار دارد، افزایش می‌دهد و با تمرکز روی سرویس خود که پیام‌رسانی است، می‌تواند بعد از دو یا سه ماه سرویس خود را به پایداری برساند. اما پیام‌رسان‌های ایرانی نه امکان استفاده از زیرساخت‌های ابری بین‌المللی را دارند و نه توسعه کافی برای یک زیرساخت ابری ایرانی صورت گرفته است تا علاوه بر پیام‌رسان‌ها، تکنولوژی‌های دیگر نیز از مزایای آن بهره‌مند شوند.

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

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

درباره این مطلب دیدگاهی بنویسید...

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *