معرفی Domain Sharding

در واقع Domain sharding یک تکنیک جهت تقسیم منابع بین چند دامنه می باشد. این کار باعث می شود تا سرعت بارگذاری و نتایج موتورهای جستجوگر بهبود پیدا کنند. هنگامیکه چندین دامنه مورد استفاده قرار می گیرند، مرورگرها می توانند به صورت همزمان منابع بیشتری را بارگذاری کنند که این کار باعث بهبود سرعت بازدیدکننندگان وب سایت می شود.

به صورت پیش فرض مرورگرهای وب تعداد ارتباط های فعال برای هر دامنه را هنگام بارگذاری یک وب سایت محدود می کنند. هنگامیکه منابع مورد نیاز برای دانلود (تصاویر، CSS، JavaScript و غیره) از حد معمول بیشتر شود، بازدیدکنندگان با مشکل کندی سرعت در بارگذاری مواجه می شوند زیرا دانلودها وارد صف شده اند.

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

چه اتفاقی رخ می دهد؟

هنگامیکه یک کاربر به یک صفحه ی وب متصل می شود، مرورگر آنها اقدام به اسکن HTML جهت یافتن منابع برای دانلود می کند. معمولا این منابع تنها به وسیله یک دامنه عرضه می شوند: دامنه ارائه دهنده ی صفحه ی وب یا دامنه مختص به ارائه ی منابع٫ با استفاده از domain sharding، مرورگر کاربر به دو یا چند دامنه مختلف به صورت همزمان متصل شده و منابع مورد نیاز جهت بارگذاری صفحه را دانلود می کند.

domain-sharding

تعیین تعداد دامنه ها

تعداد shards های استفاده شده به وسیله یک وب سرویس بستگی به منابعی می باشد که می بایست توسط کاربران دانلود شوند. مرورگرهای وب مدرن به صورت میانگین تعداد ۶ دانلود همزمان از هر دامنه را پشتیبانی می کنند. این مقدار بین تمام منابعی که برای بارگذاری وب سایت مورد نیاز است تقسیم می شود. به عنوان مثال یک وب سایت ۳۰ منابع دارد و می بایست در درخواست های پی در پی ۶ تایی برای هر کاربر دانلود شود.

اضافه کردن چند دامنه می تواند اما می تواند مشکلات عملکردی نیز ایجاد کند. مرورگرهای وب می بایست یک DNS lookup به ازای هر دامنه اضافه تر انجام بدهند و ارتباط را با آن دامنه ها حفظ کنند. این عملیات خود باعث کندی در سرعت بارگذاری خواهد شد. یک مطالعه ای که توسط Yahoo! انجام شده است نشان می دهد بین ۲ تا ۴ دامنه بهینه ترین تعداد دامنه مورد استفاده برای این عملیات می باشد و هر دامنه ی بیشتری باعث کاهش عملکرد خواهد شد.

عملیات Domain sharding و SPDY

پروتکل SPDY گوگل پشتیبانی برای درخواست های همزمان بیشماری را ارائه داده است، این پروتکل مشابه domain sharding مشکل مطرح شده در این مقاله را برطرف می کند بدون اینکه نیاز به راه اندازی خاصی داشته باشد. با وجود اینکه domain sharding به وسیله کسر اندکی از وب سایت ها استفاده می شود اما به وسیله وب سایت های عظیمی مانند گوگل، Facebook، Twitter و WordPress استفاده شده است.

شایان ذکر است با ارائه نهایی HTTP/2 این نگارش جدید HTTP به صورت کامل در سال ۲۰۱۶ جایگزین SPDY و domain sharding خواهد شد و دیگر نیازی به استفاده از این تکنیک ها نخواهد بود.

مثالی از Domain Sharding

وب سایت اشتراک گذاری فایل های تصویری YouTube منابع تصویری و اسکریپت ها را در دو دامنه ی i.ytimg.com و s.ytimg.com تقسیم نموده است. i.ytimg.com حاوی آیکن ها، لوگوها، thumbnail ها، آواتارها و جلوه های بصری دیگر می باشد در حالیکه s.ytimg.com حاوی جاوا اسکریپت ها، CSS، favicon ها، sprite sheet ها و دیگر بخش های مربوط به بهینه سازی و اطلاعات تحلیلی و آماری وب سایت می باشد.

کاربران بازدیدکننده وب سایت youtube.com  به صورت خودکار اسکریپت ها و رسانه ها را که مورد نیاز برای بارگذاری وب سایت است را دانلود می کنند.

از آنجاییکه مرورگرها دامنه ها را به جای IP  بر اساس نام آنها شناسایی می کنند، عملیات domain sharding می توانند توسط یک وب سرور انجام شود. تا زماینکه سرور پهنای باند کافی جهت انجام این عملیات را داشته باشد و بتواند چندین ارتباط همزمان را پوشتیبانی کند می توانید از این تکنیک استفاده نمایید.

مزایای Domain sharding

تکنیک Domain sharding یک ابزار اثبات شده جهت بهبود عملکرد وب سایت ها می باشد.

کاربران بهبود عملکرد را به علت دانلود همزمان منابع به جای نوبتی مشاهده می کنند و شرکت ها نیز افزایش رضایت بازدیدکنندگان را نظاره خواهند نمود.

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

نتیجه گیری

به صورت میانگین ۵۰ درصد از درخواست ها بین ۳۰۰۰۰ URL بر روی یک دامنه انجام می شود. این زمانی بسیار طولانی برای دانلود اطلاعات و قرارگیری در صف می باشد، مخصوصا هنگامیکه می بایست یک دانلود به اتمام برسد تا دانلود دیگری آغاز شود. Domain sharding می تواند عملکرد یک وب سایت را بدون ایجاد پیچیدگی خاصی به میزان قابل توجهی بهبود دهد.

 

منتشر شده در بلاگ ایران هاست توسط: نصیری

ایران هاست، ارائه دهنده سرويس های ثبت دامنه، ميزباني وب، میزبانی ایمیل، میزبانی اختصاصی و سرورهای اختصاصی و مجازی مطابق با استانداردهای جهانی

شما ممکن است علاقه داشته باشید:

0 تفکر بر روی “معرفی Domain Sharding”

پاسخ دهید

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

شبکه های مجازی ما

دسته بندی ها