حدود یک سال پیش کار بر روی سیستم دانلود به نوبت آغاز شد و ما با اجرای آن به دنبال حذف برخی از محدودیت های سیستم بودیم. این امر در فاز اول تا حدی میسر شد.
قسمت دانلود به نوبت علاوه بر اینکه امکانات زیادی را در اختیار کاربران قرار می دهد،به ما هم این اجازه را می داد تا کاستی های سرور را بتوانیم تحت نظر داشته باشیم و مدیریت قوی تری در تقسیم بندی سرورها و سرویس ها داشته باشیم.
تنها یک نقیصه این قسمت از خدمات ما دارد و آن هم فشار بالایی که روی سرور هاب می آورد یعنی یک سرور مستقل برای هر درخواست ایجاد می شود و این سرور تا زمانی که این درخواست به نتیجه نرسد در حافظه می ماند. خوشحال هستیم که به اطلاع کاربران برسانیم که این نقیصه با تغییرات جدید و نقل انتقالی که به بانک اطلاعاتی جدید داشتیم تا حد زیادی رفع شده و سرویس ها بسیار مطمئن تر از قبل هستند.
آمار چگونگی پردازش درخواست ها و مدیریت صف انتقال
با انجام ارتقا بانک اطلاعاتی ما فرصتی یافتیم تا امکانات جدیدی که خیلی به آن اتکا داشتند را دوباره مورد آزمایش قرار داده و به مشترکین ارائه دهیم. یکی از این امکانات که در اینجا آن را معرفی می کنیم امکان مشاهده وضعیت سرویس دهی سرورها و صف انتقال می باشد.
این قابلیت به کاربران مخصوصا کاربران پر مصرف این امکان را می دهد که بتوانند به راحتی زمان بندی پردازش درخواست های خود را تحت نظر داشته باشند. با دسترسی به این آمار در صورتیکه سرور خیلی صف طولانی ای داشته باشد کاربر می تواند درخواست های خود را به زمان دیگری موکول کند و یا جهت تحویل درخواست ها در زمان خاصی مثلا ۲ دقیقه بعد مراجعه کند.
قابلیت دیگری که خیلی هم درخواست شده بود، انجام عملیات گروهی بر روی لیست صف انتقال است. با ۳ دکمه ای که در این قسمت قرار داده شده است کاربران لیست معنی دار تری را در اختیار دارند و تجربه ای خوب می توانند در ادامه داشته باشند.
یک قابلیت دیگر که برگرفته از نظرات و پیشنهادات شما کاربران است قابلیت تعیین منوی پیش فرض درخواست می باشد. خیلی از کاربران شاید فقط بخواهند فقط از امکان انتقال تورنت یا دانلود گروهی استفاده کنند و اینکه مجبور باشند برای رفتن به این قسمت پس از هر بار مراجعه کلیک کنند شاید کار پسندیده ای برای سیستم پیشرفته ای چون رپیدباز باشد. این امکان نیز در کنار سایر گزینه های شخصی سازی در قسمت تنظیمات کاربری قرار گرفته شده است.
در پایان امیدواریم مقداری از خواسته های شما را توانسته باشیم پاسخگو باشیم و امیدواریم ما را از نظرات خود بی نصیب نگذارید.
دوستان حتما از قسمت آخرین تغییر و تحولات در سمت راست وبلاگ داستان انتقال سرور ما را دنبال می کردند. لازم دانستیم گزارشی مفصل تر جهت اطلاع بیشتر مشترکین از وضعیت سرویس دهی رپیدباز تهیه کنیم.
چرا پروژه انتقال اهمیت پیدا کرد؟
ما برنامه های بزرگی برای رپیدباز در نظر داریم و امیدواریم با اجرایی شدن این طرح ها بتوانیم سرویس بهتری را ارائه دهیم اما پیش زمینه همه این طرح ها بستر قوی و مطمئنی نیاز دارد. ما خوشبختانه با تمهیداتی که دیده بودیم توانستیم سیستم لینکدانی با تمام استقبالی که از آن شده بود را بدون هیچ مشکلی به اجرا بگذاریم. خودتان حتما جزئیاتی که این سیستم در اختیارتان می گذارد را دیده اید و می دانید چه فشاری را بر سیستم بالاخص بانک اطلاعاتی وارد می کند.
ما سعی کردیم در تمام سیستم از سیستم های پخش (distributed) استفاده کنیم که به ما اجازه می دهد از چند سرور در پشت استفاده کنیم در صورتیکه کاربر همه آنها را به صورت یک وجود واحد می بیند. بانک اطلاعاتی یکی از تنگناهایی است که ما قادر به پخش کردن آن تا بحال نشدیم برای همین همواره آن را تحت نظارت داشتیم. در هفته های اخیر با بالا رفتن ترافیک شاهد آن بودیم که این سرور در برخی از لحظات با تاخیر پاسخگو بود. بعد از بررسی هایی که از لاگ های سرور کردیم به این نتیجه رسیدیم که هارد دیسک فعالیت این سرور را محدود کرده است و با وجود قدرت پردازش بالا خواندن از دیسک کار آن را کند کرده است.
خریداری سرور با هارد دیسک SSD
از آنجا که اکثر فعالیت ما خواندن اطلاعات است این نوع هارد دیسک پرفورمانسی غیرقابل مقایسه می دهد با هارد دیسک های موتوری. من زیاد در این وادی وارد نمی شوم و شما را به این صفحه که گزارشی از آزمایش های شرکت Sun و Oracle است ارجاع می کنم (http://www.sun.com/storage/flash/performance.jsp). سروری که ما خریداری کردیم با ۲ هارد SSD شرکت اینتل برای گرفتن بهترین عملکرد بصورت RaidZ نصب شد و مورد آزمایش قرار گرفت. نتیجه های ابتدایی که گرفتیم بسیار خوب بود و تصمیم نهایی برای انتقال گرفته شد.
انتقال اطلاعات و ارتقا نرم افزاری – مشکل بعد از مشکل
در این نقل و انتقال منطقی بود که در فرصت پیش آمده ارتقا نرم افزار بانک اطلاعاتی را هم در دستور کار خود بگذاریم. چند نسخه از بانک اطلاعاتی را آزمایش کردیم و حتی Engine را نیز تغییر دادیم و به یک ترکیب مطمئن رسیدیم و با چند ابزار تصمیم به انتقال گرفتیم. در اولین سعی یک نسخه قدیمی از بانک اطلاعاتی را گذاشتیم و بخوبی جواب داد. بعد که سعی بر انتقال کامل بانک اطلاعاتی جدید گرفتیم برای اینکه اطلاعات دوباره کاری نشوند، سرور قبلی را باید می بستیم.
سرور را بستیم و انتقال را آغاز کردیم. بعد از انتقال، آزمایش ها همه چیز را سالم نشان می دادند و بعد از اجرای بانک اطلاعاتی متوجه شدیم که Event ها و Procedure ها که نقشی حیاتی دارند انتقال پیدا نکردند و تمام اطلاعات ناقص ثبت می شوند. مجبور شدیم سرور قبلی را فعال کرده و انتقال را برای روز بعد موکول کنیم. بعد از چند آزمایش متوجه شدیم که جداول Event ها و فرمتشان بین نسخه جدید و قدیمی فرق می کنند. بعد از مطالعه و بررسی مشکل با چند نفر از همکاران موفق به حل این مساله شدیم. تصمیم برای انتقال نهایی شد و انتقال شروع شد. اینباره انتقال باز هم موفقیت آمیز بود و حتی Event ها هم اجرا می شدند که متوجه شدیم اطلاعات جداول قدیمی با collation بودند که نسخه جدید بانک اطلاعاتی از آن پشتیبانی نمی کند و در نتیجه کلمات انگلیسی با علامت هایی در صفحه ظاهر می شدند. متاسفانه چون تمام تست های ما در محیط Shell بودند ما متوجه آن در وقتش نشدیم. خلاصه با تکنینک های خاصی این موارد را هم بر طرف کردیم و توانستیم سرور جدید را جایگزین سرور قبلی کنیم.
خداحافظی با سروری با وفا
ما همواره در سال اخیر با توجه به استقبال بالا با تنگنایی به نام بانک اطلاعاتی مواجه بودیم. خوشبختانه با آمدن سرور نیویورک به نسخه و تنظیمات ایده آل خود رسیدیم. این سرور با کارآیی و پایایی بالایی که در اختیار ما قرار داد، فرصتی را به ما داد که سرویس های جدید و مطمئن تری را بتوانیم به کاربران ارائه دهیم. شاید خیلی ها از بیرون این امر را کم اهمیت ببینند ولی نگرانی هایی که زیربنای نامناسب برای برنامه نویس دارد موجب می شود بنابر ضرورت یک سری قابلیت های سیستم را که وقت و هزینه زیادی روی آنها شده را بطور موقت یا دائم غیرفعال کند. این امر در دراز مدت دلسردی می آورد و برنامه ها را بطور جد با مشکل روبرو می کند.
امیدواریم در ادامه و با بالا آمدن سرور جدید بتوانیم سرویس های جدیدمان را با برنامه ریزی مناسب تری در اختیار کاربران قرار دهیم. در پایان جا دارد از طولانی شدن این نقل و انتقال و مشکلاتی که برای شما ایجاد کرده عذرخواهی کنیم.
با توجه به استقبال بسیار خوب هم وطنان عزیز در هفته های اخیر ما کم و بیش در حال ایجاد تغییر و بروز رسانی سرور بانک اطلاعاتی و راه های اتصالی به آن بودیم. خالی از لطف نیست که یک مرور کوتاهی بر طریقه عملکرد رپیدباز و سامانه ای که از آن استفاده می کنیم داشته باشیم.
رپیدباز در حال حاضر از ۲ بانک اطلاعاتی کاملا مجزا استفاده می کند. سرور یک که سرور اصلی است در کنار سرور کنترولر قرار دارد و اطلاعات اصلی همچون جزئیات فایل ها و تمام اطلاعات اصلی که در سیستم در اختیار کاربران قرار می گیرد در آن قرار دارد. این سرور که از قدرت دوال اینتل زئون ۵۵۰۴ بهره می برد با بیش از ۱۶ گیگابایت رم قویترین سرور رپیدباز در حال حاضر است.
با توجه به اینکه سرویس لینکدانی هم به زودی راه اندازی می شود و این سرویس هم خیلی به بانک اطلاعاتی وابسته است باید در قویتر کردن و سبک کردن آن می اندیشیدیم. در حال حاضر ما در پاره ای از زمان شاهد آن هستیم که تعداد درخواست های همزمان به ۱۰۰۰ اتصال نیز می رسد. این درخواست ها شامل درخواست جستجو (پیدا کردن فایل ها با توجه به پارامتر ها از بین بیش از ۳ میلیون و ۵۰۰ هزار رکورد ثبت شده در بانک اطلاعاتی) و حذف و اضافه شدن فایل ها و ثبت دانلود ها و درخواست ها می باشد.
این حجم کاری ما را در چند روز اخیر سخت مشغول کرده بود و مجبور به تغییر ساختار هایی در بانک اطلاعاتی شدیم که خوشبختانه امروز با آزمایش از آن جواب مثبت گرفتیم و آن را در مدار قرار دادیم. امیدواریم در یکی دو روز آینده این سرور ثبات خود را نشان دهد و ما براحتی بتوانیم سایر سرویس های تهیه شده را در آن بارگزاری کنیم.
سرور دوم که در اروپا قرار دارد، با پینگ خیلی کم به سرور های انتقال دهنده اروپایی وظیفه رابط بین آنها را بر عهده دارد. این سرور از قدرت پردازش دوال زئون ۵۴۱۰ (۸ پروسسور) و بیش از ۸ گیگابایت رم استفاده می کند و فعالیت آن شامل ثبت اطلاعات لاگ و اطلاعات موقت انتقال می باشد. مثلا چگونگی روند انتقال تورنت ها یا کنترل تعداد اتصال های فعال برای کاربران عضو و کاربران رایگان از جمله فعالیت های این سرور است. سروری که ما الان در مدار داریم با بیش از ۷۰ روز آپتایم از جمله سرور های با ثبات رپیدباز بوده و با وجود افزایش تعداد سرورها و فایلها بخوب از پس وظایف خود برآمده است.
ایراد این توضیحات بیشتر برای این بود که کاربران و همراهان رپیدباز از فعالیت هایی که در جهت سرویس دهی هر چه بهتر در رپیدباز انجام می گیرند با خبر باشند و اگر نظراتی پیشنهاداتی تخصصی یا عمومی دارند ما را بی بهره نگذارند.
ما در ماه های اول فعالیت یک سری آمار از محل های مختلف جمع می کردیم و از طریق همین وبلاگ به کاربران ارائه می دادیم. متاسفانه در سال اخیر هر وقت که قصد داشتم بشینم گزارشی جدید بنویسم مشکلی پیش می آمد که مانع آن می شد.
اولین شاخصی که ما استفاده کردیم در وبلاگ، نمودار الکسا (alexa.com) بود که نشان می دهد که کاربران هر کشور به چه سایت هایی بیشتر سر می زنند وبا استفاده از آن روند پیشرفت و عملکرد هر یک را می توان با دیگران مقایسه کرد. همینطور که در نمودار بالا مشاهده می کنید ما در ۳ ماه اخیر روند متعادل و یکنواختی داشتیم و با وجود مشکلات زیادی که من از آنها اطلاع دارم باز هم توانستیم با توجه به استقبال بسیار کاربران مانع از افت شویم.
در آخر ماه یک افت داشتیم که بخاطر از دست رفتن دامنه بود. این افت با جهش دامنه های rapidbaz.net و rapidbaz.ir جبران شد و دوباره دامنه ما به حالت قبل برگشته و امیدواریم روند مثبتی را در پیش داشته باشد. این روند را در خلاصه آماری که تصویری از آن در سمت چپ آمده نمایان است.
در پایان لازم به ذکر است که با درست شدن دامنه rapidbaz.com کاربران گرامی تا جای ممکن از این دامنه استفاده کنند چراکه سرویس های ما برای این دامنه طراحی شده اند. در صورت استفاده از سایر دامنه ها در برخی مواقع شاید با مشکلاتی غیر قابل پیش بینی مواجه شوید.
از ابتدا، همواره نظرات و پیشنهادات کاربران و مخاطبان سامانه مهمترین نقش را در تصمیمات مان برای افزایش و بهبود خدمات داشته است و سعی کردیم آنچه را که کاربران از ما می خواهند اجرا کنیم.خداوند بزرگ را شاکریم که توفیق خدمتگزاری به هموطنان عزیز را نصیبمان کرده و سپاسگزاریم از تمام بزرگوارانی که با حمایت های خود یار و یاور ما بوده اند.
همانطور که می دانید از ابتدای سال ۸۸ نظرسنجی با این عنوان در وبلاگ رپیدباز گذاشته شد:
به نظر شما کدام گزینه های زیر در اولویت کاری رپیدباز در سال جدید قرار بگیرند بهتر است؟
افزایش ماندگاری فایلها
امکانات بیشتر در کنترل پنل
پشتیبانی سایت های بیشتر
ایجاد پشتیبانی زنده
فروش اکانت سایر سایت ها
که نتیجه به این صورت درآمد که در نمودار مشاهده می فرمایید :
ضمن تشکر مجدد از شرکت کنندگان در این نظرسنجی، در اینجا گزارشی از اقدامات انجام شده پس از این نظرسنجی را به اطلاعتان میرسانیم:
۱٫با اضافه کردن سرورهای قوی دوال زئون کواد کور و آزمایش موفقیت آمیز آنها زمان نگهداری فایل ها از ۲۱ روز ابتدا به ۲۳ روز و سپس به ۲۶ روز افزایش پیدا کرد و سعی داریم بزودی آن را به ۳۰ روز ارتقا دهیم که با توجه به بالا رفتن حجم درخواست ،نیاز به سرمایه گذاری قابل ملاحظه ای داشت که با موفقیت به اجرا گذاشته شد.
۲٫پیرو درخواست کاربران محترم برای پشتیبانی سایت های بیشتر با کمپانی های مختلف فایل شرینگ مذاکره کردیم و موفق شدیم با ۳سامانه دیگر نیز به توافق برسیم و طبق درخواست های شما Uploadbox.com ، Badongo.com و Letitbit.net را نیز به سایت های قبلی اضافه کنیم و مجموع سامانه های پشتیبانی شده را به ۱۵ برسانیم تا تقریبا اکثر سامانه های پرطرفدار فایل شرینگ را در رپیدباز داشته باشیم.
باز هم امیدواریم با پیشنهادات شما بتوانیم مجموعه ای کامل و هدفدار داشته باشیم پس اگر سرویسی است که فکر می کنید در حیطه کاری رپیدباز بتوانیم اضافه کنیم خوشحال می شویم بشنویم.
۳٫پشتیبانی زنده رپیدباز نیز طرح دیگری بود که در فروردین ۸۸ به اجرا رسید. چندین اپراتور جدید جهت اینکار به سامانه اضافه کردیم تا بتوانیم خدمات کامل تر و بهتری به کاربران ارائه دهیم.
بعد از ایجاد پشتیبانی زنده،مشکلات کاربران به حداقل رسیده است به این دلیل که کاربران می توانند در کمترین زمان ممکن بهترین پاسخ ها را برای سوال هایشان و بهترین روش جهت رفع مشکلشان را از اپراتورهای پشتیبانی دریافت کنند.
بار دیگر تشکر می کنیم از تمام بزرگوارانی که به ما پیشنهاد همکاری دادند و سعی خواهیم کرد در آینده حتما از همکاری ایشان استفاده ببریم.
۴٫ درخواست دیگر، افزایش امکانات کنترل پنل بود که درحال انجام بررسی ها برای ایجاد امکانات مفیدی هستیم که بیشترین کارآیی را داشته باشند لذا از شما عزیزان تقاضا داریم در اینکار نیز با نظرات و پیشنهادات خود ما را یاری نمایید.
در چند هفته اخیر پس از اتمام ارتقا، سخت افزاری و پهنای باند، سعی بر رفع مشکلات سیستم داشتیم که پس از آزمایشات متوالی خرسندیم که آخرین تغییرات را به اطلاع شما برسانیم.
بزرگترین مشکلی که داشتیم در دانلود گروهی بود. قسمت دانلود گروهی با اضافه شدن سرویسهای مختلف خیلی پیچیده شده بود و عیب یابی آن تقریبا غیر ممکن شده بود. بعد از مشکلات اخیر که پیرامون این بخش از سرویس داشتیم تصمیم به طراحی مجدد آن گرفتیم. در حین انجام این کار نظرات و پیشنهاداتی داشتیم که توانستیم در طراحی جدی آنها را پیاده سازی کنیم.
بازیابی لینکها از سایت خارجی
در صورتیکه لینکهای فایل مورد نظر خود را از سایت خاصی دریافت می کنید از این پس دیگر نیازی به کپی کردن لینکها و انجام درخواست برای تک تک فایلها یا استفاده از دانلود گروهی برای آنها ندارید. با راه اندازی این قسمت شما می توانید لینک سایت مربوطه را مستقیما به سیستم داده و سیستم بطور خودکار لینکهای داخل آن را بازیابی کرده و آنها را پردازش می کند.
سیستم هم لینک های قابل کلیک را جداسازی کرده و هم لینکهایی که بصورت متن در داخل سایت های مختلف آمده است و برایش مهم نیست که لینک شما در کامنت وبلاگ باشد یا در نقطه دیگری در صفحه؛ پس از آنکه لینک ها از صفحه مورد نظر دریافت شدند سیستم لینک های معتبری که پشتیبانی می شوند را پردازش کرده و اقدام به دانلود آنها می کند.
نمایش لیست فایل ها قبل از دانلود
خیلی از دوستان از نبود امکان شخصی سازی و تغییر نام فایل ها در دانلود گروهی از ما انتقاد می کردند که با طراحی جدید این نکته نیز در برنامه قرار داده شد و با برنامه نویسی در سیستم گنجانده شد. مشترکین با مراجعه به «تنظیمات پیشرفته» در قسمت «دانلود گروهی» می توانند «نمایش لیست فایلهای معتبر» را انتخاب کنند. با انتخاب این گزینه که هم در قسمت «بازیابی لینکها از سایت خارجی» و هم در «وارد کردن دستی لینک ها» پس از انجام درخواست، لیستی همانند تصویر روبرو برای استفاده کاربران قرار گرفت.
در این لیست شما علاوه بر مشاهده لیست فایلهایی معتبر و قابل دانلود و سایز آنها می توانید انتخاب کنید کدام فایل انتقال پیدا کند و آیا این فایل باید شخصی سازی شود یا خیر. با کلیک بر روی علامت تیک سبز رنگ، شما مشخص می کنید کدام فایل باید انتقال پیدا کند و با کلیک بر روی علامت شخص آبی رنگ، می توانید مشخص کنید که آیا این فایل شخصی سازی شود یا خیر (فایلهای شخصی سازی شده در لیست فایلهای عمومی قرار نگرفته و فقط برای خود شما قابل رویت هستند).
علاوه بر این قابلیت شما می توانید نام فایل ها را قبل از درخواست به دلخواه تغییر دهید. با کلیک کردن بر روی دکمه آخر که تصویر مداد می باشد منویی باز می شود که از شما نام جدید فایل را می خواهد و در صورتیکه تغییر نام با موفقیت انجام گیرد رنگ نمایانگر تغییر کرده و به حالت فعال در می آید.
تنظیمات پیش فرض درخواستهای جدید
در قسمت تنظیمات کاربری جهت سهولت کار مشترکین چند گزینه تحت عنوان تنظیمات پیش فرض درخواستهای جدید اضافه شده است. با ایجاد تغییرات در این بخش شما می توانید مشخص کنید که زمانیکه گزینه دانلود گروهی را انتخاب می کنید، کدام قسمت برایتان به نمایش در آید. به این صورت شما با یک کلیک کمتر به منوی مورد علاقه خود می رسید.
گزینه «نمایش لیست در دانلود گروهی» به شما امکان تعیین تنظیماتی را می دهد که در قسمت «تنظیمات پیشرفته» دانلود گروهی قرار دارد. شما با مشخص کردن این گزینه دیگر نیازی به مراجعه به تنظیمات پیشرفته هر بارکه قصد دانلود گروهی را دارید نخواهید داشت.
آخرین گزینه اضافه شده امکان شخصی سازی فایل یا فایل ها می باشد. این قابلیت هم در دانلود انفرادی فایل ها و هم در دانلود گروهی به کار می آید و دیگر نیازی به مراجعه به قسمت «تنظیمات پیشرفته» هر بار قبل از انجام درخواست نخواهید داشت.
امیدواریم امکانات جدید طراحی شده پاسخگوی نیازهای شما باشد و کار با سیستم را برای کاربران و مشترکین ساده تر و پر بار تر نماید. تغییرات جدید انجام شده محصول پیشنهادات شما کاربران گرامی بوده و امیدواریم هر چه جلوتر می رویم با استفاده بیشتر از آنها بتوانیم سیستم کامل تری را در اختیار شما قرار دهیم.
مقدمه
ابتدای کار، رپیدباز با یک سرور آپاچی بر روی یک سرور پنتیوم ۴ کارش رو آغاز کرد و همانطور که شاهد بودید با استقبال بالای کاربران همواره در تلاش برای بالا بردن ظرفیت ها بودیم. در این راستا با تهیه سرورهای متعدد- از سرورهای زئون کواد کور (۴ هسته ای) گرفته تا سرورهایی با دو سی پی یو و هاردهای ۱۵ هزار دور- به این تصور بودیم که با بالا بردن ظرفیت های سخت افزاری قادر به تامین زیر ساخت های متناسب با درخواست ها خواهیم بود.
تعریف مسئله
متاسفانه تجارب تلخی در هفته های اخیر داشتیم و در زمانهایی از شب و یا حتی روز سرورها هر چند قدرتمند قادر به پاسخگویی به درخواست ها نبودند. در طول این مدت با متخصصین مختلف در زمینه انتخاب backend و وب سرورمشورت هایی داشتیم و به نتایج خوبی رسیدیم ولی این مشکل را حل نکرد. مثلا ما اسکریپت ها را کمپایل کردیم و از آنها به عنوان برنامه native استفاده کردیم که سرعت بالا آمدن سایت را بالا برد اما در دانلود ها لود را کم نکرد و سرور ها باز هم روی ترافیک بالا به مشکل می خوردند.
با وجود آنکه ما اقدام به اضافه کردن تعداد زیادی سرور (۱۰ سرور در حال حاضر) کردیم نسبت به قبل خیلی ها انتظار داشتند که مشکلاتی اینچنین نداشته باشیم ولی بدلیل آنکه ما با بالا رفتن ظرفیت های دانلود،ظرفیت های حجمی و در نتیجه زمان حفظ و نگهداری فایلها را نیز بالا بردیم لود سرورها بصورت تصاعدی بالا رفت.در حال حاضر ما فایلهای درخواستی کاربران را ۱۶ روز بر روی سرورها حفظ می کنیم که این به نوبه خود رکوردی منحصر به فرد است. از طرف دیگر راه اندازی سرویس تورنت نیز فشار بر روی سرورها را افزایش داد طوری که درخواست های تورنت برخی مواقع مدت ها و روزها حافظه سرورها را اشغال می کردند.
در این مرحله از فعالیت تصمیم گرفتیم که از تجارب سایر سرویس دهنده های موفق استفاده کنیم و به این نتیجه رسیدیم که باید چاره ای برای وب سرور خود بیندیشم. ما در طول مدت فعالیت از سرور NginX گرفته تا آپاچی و لایتی، تمام سرورهای تراز اول دنیا که سایتهای تراز اول دنیا را میزبانی می کنند را امتحان کرده و به نتیجه نرسیدیم. گزینه آخری که با مشورت با متخصصین نتلود به آن رسیدیم استفاده از سرورهای دست ساز و مخصوص به کار خودمان بود…
مزایا و معایب سیستم های بررسی شده
سرورهای استاندارد یک سری مزایا و یک سری معایب دارند. اولا که این سرورها در همه محیط ها و پلتفرم ها قابل استفاده هستند و تنظیمات آنها استاندارد شده هستند. مثلا اگر شما سایتی بر روی ویندوز و آپاچی دارید، براحتی و با کمترین تغییر در تنظیمات می توانید آنرا در یونیکس یا لینوکس داشته باشید یا اگر بخواهید سرویس دهنده خود را عوض کنید احتمال آنکه آنها هم سرور آپاچی داشته باشند بسیار بالاست پس مشکلی در تغییر آن نخواهید داشت. اما در کاربردهای اختصاصی بدلیل آنکه چند کاربردی هستند، یعنی اینکه نیاز کسی را که از این سرور برای دانلود فایل استفاده می کند و هم کسی که برای آنالیز و اجرای برنامه های پیچیده استفاده می کند را در طراحی سرور مد نظر داشته باشند، هم حجم سرور بالا می رود (حافظه و قدرت پردازش بالا نیاز دارد) و هم قدرت مانور پایین می آید (در زمینه کاری شما قابلیت های محدودی در نظر گرفته شده است).
با هماهنگی های انجام شده و استخدام برنامه نویسان با سابقه موفق شدیم سرور اختصاصی برای کار خودمان طراحی و اجرا کنیم. از جمله امکاناتی که این سرور در اختیار ما قرار می دهد و برای کار ما اهمیت دارد بصورت زیر می باشد:
۱ – قدرت مانور بالا (امکان اضافه کردن امکانات با توجه به روند رو به رشد سیستم)
۲ – امکان تفکیک بین کاربران عضو و مهمان ها (کاربران رایگان) بر روی سرور
۳ – ایجاد لینک های پرمیوم که به پروسه دانلودر ارجاع می کند.
۴ – ناحیه ای کردن و متمایز کردن پروسه های دانلودر
۵ – امکان کنترل تعداد اتصال ها و بیشینه کردن آنها در مورد لینک های پرمیوم
۶ – ایجاد تنظیمات دقیق تر جهت سازگار سازی دانلودها با کاربران
۷ – استفاده از قابلیت های منحصر بفرد سیستم عامل زیرساخت
توضیحات تکمیلی
بازگویی چند مورد لازم است. مورد اول اینکه اکثر سرورها، تعریفی که برای دانلود دارند به آنصورت که لازمه کاربران ایرانی است قابلیت دانلود همزمان را ندارد. با اکثر کارشناسان آنلاین که در این زمینه بحث می کردیم اکثرا از سوی آنها با این سوال مواجه می شدیم که چه نیازی برای بیش از ۴ اتصال همزمان جهت دانلود یک فایل است! متاسفانه با وضعیت موجود و اینترنت های شبانه نامحدود (از محدودیت حجم کاربران کسر نمی کند) اکثر کاربران سعی می کنند تا با حداکثر تعداد اتصالهای همزمان اقدام به دانلود کنند. سرور به ازای هر درخواست یک درخواست خواندن به دیسک سخت می دهد و پاسخ آنرا در بافر می نویسد تا به سوکت مورد نظر به قولی بنویسد. این امر هم استفاده از حافظه را خیلی سریع بالا می برد و هم تعداد فایل دسکریپتور ها را بالا می برد (۳ دسکریپتور برای کنترل، خواندن و نوشتن).
ما پیش از این با ایجاد محدودیت در تعداد دانلود های همزمان هر IP بطور دست و پا شکسته اقدام به ایجاد محدودیت در دانلود ها با ساختار موجود بر روی آپاچی کردیم ولی با بالا رفتن تعداد درخواست ها با محدودیت های فیزیکی روبرو شده و اقدامات دیگر همچون ایجاد محدودیت های بیشتر برای کاربران غیر ایرانی نیز کارساز نشد از این باب با درخواست راهنمایی از همکاران مجرب در این زمینه به سیستم جدید و وب سرورهای جدید رسیده و در هفته های اخیر وقت و سرمایه خود را بر روی آزمایش و اجرای آن گذاشتیم.
با توجه به اینکه در سیستم پیشین ما با ۱۲۸۰ اتصال همزمان با مشکل محدودیت حافظه با وجود حداقل ۴ گیگابایت حافظه در هر سرور مواجه می شدیم، سرور مخصوص انتقال ما نیز به دلیل آنکه تعداد اتصال بالایی برای انتقال تورنت ها نیاز داشت تحت تاثیر قرار می گرفت. این امر در برخی مواقع پروسه های آپاچی را به سواپ (حافظه مجازی روی دیسک) می فرستاد که موجب کند شدن دانلود ها می شد و در بعضی مواقع اتصال های تورنت را می کشت. امیدواریم با این سیستم جدید که حافظه استفاده شده به حداقل رسیده است با این محدودیت ها مواجه نشویم.
وب سرورهای جدید که مختص کار ما برنامه نویسی شده اند از قابلیت های سیستم عامل FreeBSD همچون ایونت اسکدجولر قدرتمند kqread و SMPng استفاده می کند که بالا رفتن کارآیی آن بطور مشهودی در آزمایش هایی که در کاربرد ما در نظر گرفته شده است لمس می شود. این امر به نوبه خود ما را به آینده سیستم امیدوار کرده است چراکه FreeBSD نسخه ۷ امکاناتی را فراهم کرده است که خیال ما را از بابت رید هم راحت کرده است. توضیحات بیشتر پیرامون این موضوع در حیطه این مقاله نیست و امیدوارم بتوانیم در این مورد نیز در آینده بنویسیم.
روش کارکرد سیستم از دید کاربر
سیستم در حال حاضر طوری تنظیم شده است که کاربر لینک خود را در سیستم وارد می کند و پروسه کنترل در صورتیکه بتواند عضویت مشترک را تایید کند، لینک پرمیوم ایجاد کرده و به کاربر می دهد که این لینک مدت زمان محدودی اعتبار دارد و کاربر می تواند از آن در دانلود منیجر خود استفاده کند. اما اگر درخواست توسط غیر مشترک ارسال شود، به سروری آپاچی با محدودیت تعداد دانلود همزمان و اسلات برای کاربران رایگان ارسال می شود. به این ترتیب درخواست های دانلود کاربران رایگان تاثیری بر روی درخواستهای مشترکین نمی گذارد.
لینک ها همه با پسوند html هستند تا در صورتیکه دانلود منیجر شما تنظیم شده باشد که پسوندهای خاص را از مرورگر به دانلود منیجر انتقال دهد، منتظر بماند تا لینک پرمیوم و یا لینک رایگان، هر کدام که سیستم با توجه به ورود یا عدم ورود کاربر تشخیص می دهد ایجاد شده (این لینک ها بدون پسوند html هستند) سپس آنها را انتقال دهد. این عملیات بصورت خودکار توسط پلاگین هایی که بر روی مرورگر ها اکثر دانلود منیجر ها نصب می کنند انجام می گیرد.
درخواست کاربران مهمان (غیر مشترکین) گرچه محدود ولی با قابلیت رزیوم و استفاده از بیش از یک دانلود همزمان پیش بینی شده است اما این مهم است که این کاربران بدانند که اولویت اول ما مشترکینی هستند که با پشتیبانی های خود سرویس را زنده نگه داشته اند.
محدودیت اعتبار لینک های پرمیوم در حال حاضر ۱۰ ساعت است ولی امید داریم با توجه به کارکرد کاربران و بررسی لود سرور ها این زمان را افزایش دهیم. مشترکین هر زمان می توانند اقدام به ایجاد این لینکها کرده و دانلود خود را ادامه داده و یا اقدام به دانلود مجدد کنند. این لینک ها توسط پروسه دانلودر که در ناحیه (zone) خاصی قرار دارد پردازش می شود که سبک است و تنها اقدام به خواندن از دیسک و نوشتن به سوکت می کند که هم سرعت دریافت مشترکین را افزایش می دهد و هم قابلیت کمینه کردن محدودیت ها در دانلود.
در پایان جا دارد از صبر و همکاری تمام مشترکین که در طول این مدت با نظرات خود ما را در بهبود سیستم یاری کرده اید تشکر و قدردانی کنیم و با نوید آینده ای روشن تر، امید داریم با پشتیبانی مستمر شما بهترین سرویس ممکن را بتوانیم ارائه دهیم.
در طول مدت راه اندازی وبلاگ ما ۲ نظرسنجی در مورد سرویس بعدی که کاربران دوست دارند در رپیدباز ببینند داشتیم. نظرسنجی دوم هم بسته شد و فرصت مناسبی برای بررسی این نظرسنجی ها پیش آمده است.
در نظرسنجی اول فورشرد رتبه اول را آورد و ما وارد مذاکره با مدیران این سایت شدیم اما به دلیل هزینه بالایی که آنها درخواست کرده اند. اگر دوستان در مورد فورشرد خوانده باشند، این سایت اکثر توان خود را در قسمت آپلود و در اختیار گذاشتن فضا برای ذخیره فایل گذاشته است تا دانلود و فروش حجمی یا زمانی پهنای باند برای همین هزینه های در نظر گرفته برای دانلود آن بالاتر از سیستم های دیگر است. باز هم در تماس با مدیران این سایت هستیم و امیدواریم بزودی بتوانیم با خبرهای خوشی در این زمینه در خدمت مشترکین باشیم.
بعد از راه اندازی نظرسنجی اول، درخواست هایی برای اضافه کردن سرویسهای دیگر که در لیست نبودند دریافت کردیم. تعدادی از این سایتها آمارشان پایین تر از آن بودند که قابل پوشش باشند. اما دو سرویس جدید اضافه شدند که البته یکی از آنها جزو ۲ سرویس برتر بودند. طبق تماسهایی که در هفته های اخیر گرفته شد، پشتیبانی ایزی شر خیلی سریع پاسخ داده و ما موفق به اضافه کردن سرویسهای این سایت شدیم. همچنان تماس هایی با مگاشرز داریم و پس از نهایی شدن مذاکرات حتما شما را در جریان می گذاریم.
باز هم جا دارد از همکاری و شرکت شما در نظرسنجی ها تشکر کنیم و امیدواریم در آینده بتوانیم با سرویسها متنوع دیگری در خدمت شما باشیم.
در این ماه نیز شاهد استقبال بی وصف کاربران بودیم. در روزهای آخر ماه هم با اضافه شدن سرورهای جدید امیدواریم بتوانیم رضایت بیش از پیش کاربران را فراهم کنیم.
در اوایل ماهی که گذشت متاسفانه بدلیل عدم حضور مستمر من و یکی از همکاران و مشکلات عدیده سرور ۳۱ که خیلی پیرامون آن در وبلاگ بحث داشتیم، سرویس دچار مشکل بود که در اینجا لازم می دانم از تمام مشترکین صبور عذر خواهی کنم.
در ضمن از میزان استفاده هر یک از سایتهای میزبانی نموداری تهیه شده که دیدنش خالی از لطف نیست. با توجه به حجم بالای درخواستهای رپیدشر، برای دانلودهای سایر سرویسها امتیاز در نظر گرفتیم تا تکیه سرویسها به یک سرویس و یک سایت نباشد. امیدواریم این ترفند و عدم وابستگی کامل به یک سایت در آینده مفید واقع شود.
مذاکراتی با سایر سرویس دهنده ها مطابق با نظرسنجی ای که در وبلاگ صورت پذیرفت، انجام شده که به زودی خبر آنها را از همین طریق خواهید به اطلاع می رسانیم. نکته جالب نزدیک بودن نتایج نظرسنجی برای دو سایت ایزیشر و مگاشرز بود.
لازم به ذکر است تعدادی از مشترکین هم درخواست پشتیبانی و ذخیره فایل های تورنت شدند که آن را هم مطالعه خواهیم کرد. مشکل ما با تورنت بیشتر مقدار فشاری است که بر روی سرورها می آورد که با بالا رفتن ظرفیت ها امیدواریم بتوانیم با تورنت هم در خدمات کاربران باشیم.
در ماههای اخیر با استقبال بسیار بالای کاربران گرامی، بیشتر وقت خود را برای بهبود کیفیت خدمات برای شما کاربران بوده ایم و حال با اضافه شدن سرورهای جدید و قدرت مانور پذیری جدید زمان بیشتری را جهت کار بر روی امنیت سامانه و اضافه کردن ماجول های سرور ساید جدید می توانیم بگذاریم.
در هفته اخیر ما ۲ تا ماجول امنیتی به سیستم اضافه کردیم و کلاس مختص ورود کاربران و استفاده آنها را با نسخه ای امن تر کلا جایگزین کردیم. از این پس اطلاعات این قسمت بصورت انکریپشن ۲۵۶ بیت انتقال می یابد. کاربران سامانه جهت بارگذاری لایه امنیتی جدید نیاز است دوباره به سیستم وارد شوند. در حین انجام این پروسه ما مجاب شدیم اطلاعات کاربری را تبدیل و انتقال دهیم که در پاره ای موارد اطلاعات کاربران دچار مشکل شدند. در چند روز اخیر مشغول بررسی موارد و حل این مشکلات نیز بودیم.
در ضمن برای دوستانی که اطلاع ندارند تمام سرورهای رپیدباز FreeBSD هستند و از این لحاظ پلتفرم بسیار مطمئن و امنی جهت ارائه سرویس فراهم شده است.
متاسفانه این هفته با ای میلی مواجه شدم که اصلا انتظار دیدن آنرا نداشتم. در این نامه یکی از کاربران ایرانی با لحنی بسیار ناخوشایند، تهدید به اقدام علیه منافع سرویس کرده بود. لازم دانستم این مورد را همینجا با تمام کاربران سیستم در میان بگذارم که این سرویس تا امروز هزینه هایش بیشتر از درآمدش بوده. مقصود و هدف راه اندازی این سرویس یک آغاز بود. من بعد از بازگشت از مسابقات المپیاد در ژاپن (به عنوان کارشناس) با مشاوره و راهنمایی چند تا از دوستان اقدام به راه اندازی این سرویس برای ارائه سامانه ای منحصر به فرد به کاربران ایرانی بودم. در طول این مدت چند پروژه را از دست دادم ولی خوب با کمکهای دوستان و علاقه ای که به این کار داشتم و با لطف الهی توانستم سامانه را به اینجا برسانم. من با راه اندازی این سامانه دوست داشتم کاربران و دوستانی که علاقه به همکاری دارند، خود را معرفی کنند و به طور غیر مستقیم و مستقیم ما را یاری کنند ولی استفاده از این لحن و تهدید را از هیچکس چه برسد به کاربران هموطنم نداشتم. این را هم بگویم که اکثر کاربران با ما همراه بودند و واقعا چه به طور مستقیم و چه غیر مستقیم در ارائه سرویس بهتر کمک کردند. اما از این پس به همکاری بیش از پیش همه نیاز داریم. هرچه جلوتر می رویم مشکلات بیشتری خودشان را نشان می دهند. از دیشب یکی از سرورهای کانادا حمله DDoS شد و با مشکل مواجه شد. مهندسین شرکت میزبات توانستند بسیار سریع مشکل را حل کرده و شبکه را به حال عادی خود بازگردانند ولی باز هم زمان دانتایم داشتیم. روی هم رفته من این نکته را اینجا گفتم که یک گلایه از برخی کاربران که می توانند کمک کنند کنم و یک تشکر از دوستانی که در طول این مدت من را حمایت کرده اند. برنامه های بزرگی برای آینده سیستم دارم که امیدوارم میسر بشود.
Recent Comments