صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از شماره 11 تا 15 , از مجموع 15

موضوع: چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

  1. #11
    عضو انجمن se7en-host آواتار ها
    تاریخ عضویت
    Nov 2012
    محل سکونت
    Root
    نوشته ها
    331
    تشکر تشکر کرده 
    175
    تشکر تشکر شده 
    650
    تشکر شده در
    536 پست

    پیش فرض پاسخ : چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

    نقل قول نوشته اصلی توسط pejman_view نمایش پست ها
    سلام

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

    بحث ها بسیار طولانی و فنی بودن با توجه به وقتی که داشتم شاید 4 5 پست اول را خواندم و از بقیه پوزش می طلبمم ممکن است مطالبمم توسط دوستان گفته شده باشد.اما باتوجه به اینکه من پیش زمینه ای در بازی های اجتماعی آنلاین تحت وب دارم مایل دونستم که با شما به این مطلب را به اشتراک بذارم. این گونه بازی ها به دو عنوان خوانده می شوند (MMO) یا (Social Games). این دو عنوان تفاوت آنچنانی ندارند فقط Social Games ها در پلتفرمهایی مانند فیس بوک، تویتر و .. اجرا می شود. بازی های MMO مانند تراوین و جنگ خان ها و Social Games ها مانند Zynga Poker بازی هایی در سایت های اجتماعی. هر دوی این بازی ها دارای کاربران زیادی هستند که همزمان با هم آنلاین هستند و بصورت RealTime در حال کار هستند. در اینگونه بازی ها تحلیلگران و برنامه نویسان سعی می کنند بهینه ترین روش های برنامه نویسی، کوئری ها و ساختار دیتابیس را در نظر بگیرند.
    اما مسئله مهم این است آیا با روش های بهینه می شود با یک سرور معمولی بازی راه اندازی کرد؟
    با توجه به نظر کارشناسان متخصص و تجربه شخصی بنده خیر. چون هر چقدر هم سیستم بهینه و قوی باشد فشار روی سرورها نبایستی از حدی بیشتر شود. و بازی های امروزی پارامترهای بسیاری را سنجش و پردازش می کنند که همه آن وابسته به دیتابیس هستند بنابراین فشار روی دیتابیس سرور زیاد هستند. بنده با تجربه ای که داشتم متوجه شدم نبایستی سرورها بیش از 60% منابع آن پر شود چون باعث افزایش زمان پردازش می شود.
    مثلاً ما در بازی که تست کردیم با 150 کاربر آنلاین سروری با مشخصات قوی ذیل:
    CPU: Dual E5-2680v2
    RAM: 64GB DDR3
    HDD: 120 SSD
    سرعت پردازش کلی یک فرآیند بازی از 0.01 ثانیه برای یک بازیکن به 1.9 ثانیه افزایش یافت. این یعنی اینکه کاربری که مثلاً می خواست عملیاتی در بازی انجام دهد بایستی 1.9 ثانیه صبر می کرد این یعنی اگر شما سایت خبری دارید و هر صفحه زیر یک ثانیه بازمی شد حالا بالای 2 یا 3 ثانیه طول می کشد تا باز شود. این یعنی اینکه بازی شما بسیار کند و خسته کننده برای بازیکن ها می شود و مرگ زود رسی برای بازی خود بایستی در نظر بگیرید.

    حال دیدم یکی از دوستان گفتند سرورهای 10 12 میلیونی را با سرورها و دیتاسنتر فیس بوک مقایسه می کنید؟ این سوال و مقایسه درست نیست چون در نظر بگیرید اگر بازی های آنلاین به اندازه فیسبوک آنلاین کاربر آنلاین داشته باشند شاید دیتاسنتری چند برابر قوی تر از دیتاسنتر موجود فیس بوک نیازمند بود. چه بسا سیستمی که من در بالا ذکر کردم قیمتی معادل 40 میلیون تومان در ایران دارد و جزء قویترین سیستم های موجود در بازار است.
    بگذارید قبل از اینکه به بحث بازی برگردم توضیحاتی در مورد اقدامات فیس بوک در زمینه دیتابیس و وب سرور بپردازیم تا پیش زمینه ای مناسب داشته باشیم. ترجیح می دهم در زمینه فیسبوک با سند بجای حدس و گمان صحبت کنم طبق گفته سخنگوی فیسبوک که در کنفرانسی که چند وقت پیش داشت اعدادی فاش کرد که جای بسی تامل است:
    - فیسبوک 800 میلیون یوزر دارد که 500 میلیون آن روزانه فیسبوک خود را چک می کنند.
    - 300 میلیون کاربر موبایلی دارند که دائماً در حال دریافت و ارسال اطلاعات است.
    - 7 میلیون اپلیکیشن دارد
    فیس بوک در هر ثانیه 60 میلیون کوئری را انجام می دهد، 4 میلیون row در هر ثانیه تغییر می کند. اما فیسبوک چگونه این کار را انجام می دهد!!!
    دیتابیس فیسبوک چیزی نیست جزء همین MySQL که ما استفاده می کنیم. اما Scale Up شده. Scaling در واژه یعنی بزرگ کردن مقیاس. با دیتابیس بر روی کامپیوتر های مختلف تقسیم شده است.
    دیتابیس فیسبوک از 3 لایه: کش ، مدیران دیتابیس ، ذخیره سازها تشکیل شده است. طبق گفته فیسبوک بیش از 90% کوئری ها در لایه کش انجام می شود یعنی اینکه این کوئری ها به لایه استفاده از ذخیره سازها نمی رسند.

    فیسبوک از پلاگین نام آشنا Memcache استفاده می کند که سیستم متن-باز برای کش کردن در MySQL استفاده می شود و در کنار آن از ماژول خود ساخته ای با نام FlashCache استفاده می کند تا روی هاردهای SSD کش شوند. که این پلاگین هم فیسبوک بصورت رایگان در github منتشر کرده است.

    در مورد لایه های ذخیره ساز هم اگر بخوام توضیح بدهم لایه های ذخیره ساز به دو صورت عمودی و افقی هستند. لایه های عمودی شامل کامپیوترهایی هستند که اطلاعات مشابه به هم در آن ذخیره می شود تا با نابودی هر لایه عمودی ، لایه عمودی دیگر کمک رسانی کند و از دست رفتن اطلاعات جلوگیری شود. چون دیتابیس فیس بوک اینقدر بزرگ است که یک کامپیوتر بعنوان Data Node در زیر مجموعه لایه عمودی توانایی ذخیره این حجم اطلاعات را نداشته باشد. آن ها را با تکنیک Sharding تقسیم می کنند (البته این تکنیک در خود MySQL موجود است فقط بایستی از آن بهره جست). و در هر کامپیوتر مقداری از دیتابیس ذخیره می شود که این روش Horizontal Scaling یا بزرگ کردن افقی دیتابیس گفته می شود.

    در کل چند کپی از دیتابیس ذخیره شده و هر کپی هم بخاطر بزرگی آن روی چندین کامپیوتر دیگر ذخیره می شود. با این سبک می توان مطمئن بود که اگر شما کامپیوتری را از مدار خارج کردید سایت شما بدون هیچ مشکل به کار خود ادامه می دهد.

    و لایه مدیران هم که توضیح دادم کار آن رسیدگی و پردازش Data Node هاست.

    وب سرور فیسبوک هم Tornado نام دارد که در کنار nginx نصب می شود. که توانایی nginx را تا چند برابر افزایش می دهد. ساز و کار وب سرور nginx هم مانند دیتابیس است و قابلیت scaling دارد بگونه ای که 10 ها کامپیوتر بعنوان webserver به کاربران پاسخ می دهند و فشار آن ها را روی هم تقسیم می کنند.

    خوب حالا رسیدیم به بحث شیرین بازی. من خودم تا اینجا ذهنم خسته شده اما می خواستم توی یک پست جمعش کنم.
    برای یک بازی تحت وب - به وب سرور نیاز دارید و بایستی بدانید یک وب سرور برای فرضاً 3000 بازیکن پاسخگو نخواهد بود.
    برای یک بازی تحت وب - به دیتابیس نیاز دارید که شما برای دیتابیس توجه داشته باشید لاگ ها ، جداول و ... همه در آن ذخیره می شوند. و با هر بار لود صفحه چند صد کوئری به سمت دیتابیس سرازیر می شود که اگر می خواهید سرعت پردازش شما که در اول به آن اشاره کردم بالا نرود نیاز به لایه های کش ، مدیریت و ذخیره ساز دارید. البته این لایه ها همگی می توانند روی یک کامپیوتر باشند اما تجربه ما ثابت کرده یک کامپیوتر نمی تواند همه این ها را ساپورت کند. بعد جالبی قضیه این است که دیگر تراوین لازم ندارد برای سرورهای خود سرورهای جداگانه راه اندازی کند فقط کافی است تمامی دنیاهای خود را روی یک دیتابیس با این آرشیتکت نگه دارد. هم تا حتی 40% سیستم کمتر نیاز دارد یعنی فرضاً اگر برای هر دنیا نیاز به 5 تا سرور داشته باشد. حال اگر 3 دنیا را در کنار هم روی یک دیتابیس نصب کند ممکن است بجای 15 سرور بتواند از 12 سرور استفاده کند.

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

    ببخشید سرتان را درد آوردم مطلب خیلی گسترده بود سعی کردم خلاصه اش کنم.


    در مقاله بالا فکر نکنم به این دو مورد اشاره کرده باشم:
    1- هر لایه مانند وب سرور ، کش سرور ، دیتا استور و ... بصورت Cluster کار می کند. یعنی دخیره اطلاعات و پردازش ها از طریق چند صد رایانه انجام می شود.
    چینش آرایه ای این نوع کامپیوترها به دو گونه است افقی و عمودی. افقی ها بصورت موازی کار میکنند و عمودی ها برای لایه هاست. موازی ها پردازش یک لایه را بصورت موازی انجام می دهند.
    2- Failover این یعنی اینکه هر کامپیوتری از شما از رده لایه های افقی خارج شود کامپیوترهای موجود دیگر فشار این کامپیوتر را به دوش می گیرند. این یعنی اینکه شما هر وقت خواستی برو چندتا کامپیوتر رو از شبکه خارج کنید و باز سایت شما هیچ خدشه ای در عملکردش نداشته باشد.

    متاسفانه این بحثی که ارائه دادم همه ساز کار را ارائه نمی دهد و گراف های زیادی نیاز دارد که در دسترس نداشتم. البته اگر این مطلب را خیلی دقیق پیگیری کنید می توانید پایان نامه ای برای ارشد خود ارائه دهید. مطلب بسیار جالب و خیلی خوبی است.

    لینک مقاله:
    چگونگی پیاده سازی بازی های استراتژیک تحت وب - برگه 2

    با تشکر از توجهتون
    پژمان
    ممنون بابت توضیح مفید بود
    فقط یک سوال
    الان تقسیم بندی برای وب سرور ها چطوره ؟
    مثلا من که سایتشون باز کنم روی کدوم وب سرور میرم ؟
    دتابیس که هر جا اطلاعات باشه باید از اونجا بخونه اما وب سرور چطور عمل می کنم
    ممنون میشم در مورد ان توضیح کوتاهی بدید
    پیشگامان آریانت داده پرداز خاورمیانه شماره ثبت 43713 ( شاپینگ سرور ) با 6 سال سابقه،دارای نماد اعتماد
    ارسال تیکت به بخش فروش|شماره تماس:42869221-061

  2. # ADS




     

  3. #12
    عضو جدید
    تاریخ عضویت
    Aug 2012
    نوشته ها
    18
    تشکر تشکر کرده 
    40
    تشکر تشکر شده 
    9
    تشکر شده در
    8 پست

    پیش فرض پاسخ : چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

    داشتم توی ویکیپدیا میخوندم بعد از اعلام خبر مرگ مایکل جکسون جوری به سرورهای گوگل فشار اومده بود که باعث کندی سرورهاش شد که در تاریخ بیسابقه بود و مدیران گوگل فکر کرده بودن که مورد حمله هکرها قرار گرفتن. توئیتر که کلا از کار افتاده بود و کلا اینترنت در بسیاری از کشورها قفل شد. شرکتهای قدرتمند موبایل در آمریکا (دقت کنید در آمریکا) به خاطر انبود اس ام اس ها از کار افتاده بودن. فشار روی سرورها به قدری بود که حتی در 11 سپتامبر همچین فشاری نبوده.
    اینجا بخونید:
    http://fa.wikipedia.org/wiki/%D9%85%...A7.D9.86.D9.87

  4. #13
    عضو انجمن !MihanIt! آواتار ها
    تاریخ عضویت
    Nov 2014
    محل سکونت
    Cd /Root/zainabiun
    نوشته ها
    516
    تشکر تشکر کرده 
    797
    تشکر تشکر شده 
    1,064
    تشکر شده در
    811 پست

    پیش فرض پاسخ : چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

    دوستان با یک سرچ ببینید آزمایشگاه فیسبوک رو ...
    و اون رو 4 برابر کنید میشه گوگل


    دوستان صد در صد اینگونه شرکت ها فقط یک ساختمان رو مخصوص سرور و.. می کنند که حجم را اینگونه کشش می کنند ..
    |تبلیغ در کانال های +400 هزار تلگرام
    | شماره : 08337279040
    |سانی سرور تضمین پشتیبانی و کیفیت / Saniserver.com

  5. #14
    عضو انجمن
    تاریخ عضویت
    Dec 2012
    محل سکونت
    mashhad
    نوشته ها
    357
    تشکر تشکر کرده 
    121
    تشکر تشکر شده 
    283
    تشکر شده در
    206 پست

    پیش فرض پاسخ : چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

    احتمالا ریسلر داره!!!

  6. تعداد تشکر ها از chatsaz به دلیل پست مفید


  7. #15
    عضو انجمن !MihanIt! آواتار ها
    تاریخ عضویت
    Nov 2014
    محل سکونت
    Cd /Root/zainabiun
    نوشته ها
    516
    تشکر تشکر کرده 
    797
    تشکر تشکر شده 
    1,064
    تشکر شده در
    811 پست

    پیش فرض پاسخ : چطور گوگل و یوتیوب توانایی پردازش این حجم پهنای باید رو دارن؟

    نقل قول نوشته اصلی توسط chatsaz نمایش پست ها
    احتمالا ریسلر داره!!!
    نه من چک کردم آلفا گرفته i-)
    |تبلیغ در کانال های +400 هزار تلگرام
    | شماره : 08337279040
    |سانی سرور تضمین پشتیبانی و کیفیت / Saniserver.com

  8. تعداد تشکر ها از !MihanIt! به دلیل پست مفید


صفحه 2 از 2 نخستنخست 12

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. درخواست راهنمایی برای فعالیت در یوتیوب
    توسط mehrania در انجمن مباحث دیگر
    پاسخ ها: 1
    آخرين نوشته: September 30th, 2017, 14:52
  2. سایت دانلود از یوتیوب ، طریقه دانلود از یوتیوب
    توسط 30SecondToMars در انجمن مباحث دیگر
    پاسخ ها: 1
    آخرين نوشته: September 10th, 2013, 20:09
  3. پاسخ ها: 18
    آخرين نوشته: January 27th, 2013, 20:36
  4. پاسخ ها: 4
    آخرين نوشته: May 22nd, 2012, 09:40

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •