
افزایش ناگهانی بازدید سایت؛ چه زمانی ارتقای منابع کافی نیست و به کش یا شبکه توزیع محتوا نیاز داریم؟
دغدغه مدیران سایتها در زمان اجرای کمپینهای فروش در زمان افزایش ناگهانی بازدید سایت یک مسئله عادی است. اولین واکنش آنها هم اضافه کردن چشم بسته منابع سختافزاری است. اما در کمال تعجب گاهی میبینیم که با پرداخت هزینههای سنگین برای استفاده از پردازنده قدرتمند، سایت همچنان زیر بار ترافیک ناگهانی کند میشود یا حتی از دسترس خارج میشود.
واقعیت این است که سختافزار تنها یک بخش داستان است. مهمترین بخش قضیه این است که با یک معماری و کدنویسی درست سایت خود را پیادهسازی کنید. در این مقاله سون هاست قصد داریم به این پرسش پاسخ دهیم که «چه زمانی ارتقا مناب هاست دیگر پاسخگو نیست و چگونه میتوان با ترکیب هاست ابری در کنار ابزارهای کش و CDN، سایت را برای سنگینترین ترافیک لحظهای هم بهینه کرد؟»
باور غلط؛ چرا ارتقای CPU و RAM همیشه جوابگو نیست؟
بزرگترین باور غلط مدیران سایتها این است که اگر سایت کند شود، فقط با افزودن رم و CPU میتوان مسئله را برطرف کرد؛ اما به نظر شما این مسئله تا کجا میتواند پیش برود؟ آیا به هزینههایی که این افزایش مناب درپی دارد نیز فکر کردهاید؟
این مسئله مثل این است که در بزرگراهی با ترافیک سنگین منتظر هستید تا از گیت عوارضی عبور کنید. در این حالت اضافه کردن باند بیشتر به بزرگراه (ارتقای منابع سیپییو) مشکل را حل نمیکند؛ چرا که گلوگاه اصلی گیت عوارضی است.
وقتی کدهای افزونه بهینه نباشند یا دیتابیس برای جستجوی ساده مجبور باشد بین هزاران رکورد بگردد، ارتقای رم هم صرفا این نوع درخواستها را در حافظه موقت انباشتهتر میکند. در حالی که CPU فقط سرعت رسیدن پر کردن این فضای رم را بیشتر میکند.
به همین دلیل است که صرفا متکی شدن به ارتقای سختافزاری راهکاری موقت و پرهزینه است. برای کاهش بار سرور بهترین راه این است که درخواستها را مدیریت کنیم. موارد تکراری و غیرضروری را به جای اینکه هربار از CPU درخواست کنیم، در حافظه موقت رم قرار دهیم.
کش سرور؛ کاری که قبلا انجام شده را تکرار نکنید!
وقتی از شما بپرسند حاصلضرب ۴۵۶ در ۱۵ چند میشود، چند ثانیهای روی محاسبه آن وقت میگذارید. اما اگر ۵ دقیقه بعد دوباره همان سوال را بپرسند، دیگر محاسبه نمیکنید؛ بلکه پاسخی که در حافظه دارید را فورا به زبان میآورید. سیستم کش (Cache) دقیقا همین نقش را بازی میکند.
فرض کنید در یک ساعت ۱۰۰۰ کاربر وارد صفحه اصلی سایت شما شوند که در این صفحه اطلاعات مختلفی اعم از نمایش چندین محصول، نوشته، فیلتر دستهبندی و… قرار دارد. سرور مجبور است ۱۰۰۰ بار تمامی کدهای PHP را اجرا کرده و دیتابیس را برای فراخوانی مطالب، محصولات و فیلترها صدا بزند.
اما اگر از یک سیستم کش بهینه مثل لایت اسپید کش (LSCache) استفاده کنید، سرور تنها یکبار این صفحه را میسازد، سپس یک نسخه HTML از آن تهیه میکند و برای ۹۹۹ کاربر بعدی، همان نسخه کپی آماده را در کسری از ثانیه نمایش میدهد. نتیجه این فرآیند افت چشمگیر مصرف CPU و افزایش سرعت سایت است. حالا تصور کنید اگر چنین چیزی در تمامی صفحات اجرا شود چه خواهد شد؟

شبکه توزیع محتوا؛ دفاعی در برابر هجوم کاربران!
در هر سایتی از دهها فایل ثابت مثل تصاویر، کدهای استایل (CSS)، فونت و فونت آیکون، کدهای جاوااسکریپت (JS) و… استفاده شده است. زمانی که با افزایش بازدید سایت مواجه میشوید، صدها هزار و شاید میلیونها درخواست فقط برای اجرای این فایلهای ثابت روانه هاست میشود که پهنای باند و سرعت خواندن دیسک (I/O) را به شدت مختل میکند.
شبکه توزیع محتوا یا همان CDN اینجا به شما کمک میکند. این سیستم به گونهای مانند شعبات مختلف یک فروشگاه در سرتاسر جهان عمل میکند. به عبارتی به جای اینکه همه مشتریان به یک شعبه مراجعه کنند، هر کدام میتوانند به نزدیکترین شعبه رفته و علاوه بر نزدیکی، به دلیل شلوغ نبودن سریعتر به درخواست خود برسند.
پس در یک چنین سیستمی ما با یک نسخه کپی از تمامی فایلهای ثابت سایت مواجه هستیم که هر کدام روی سرورهایی در نقاط مختلف جهان (Edge Servers) قرار دارند. حالا اگر کاربری سایت شما را از کشوری دیگر باز کند، این فایلهای ثابت از نزدیکترین سرور دریافت میشود؛ نه اینکه از هاست اصلی شما درخواست شود.
در سرویس CDN نهتنها سرعت لود به دلیل نزدیکی و خلوت بودن به شدت افزایش پیدا میکند، بلکه مانند یک سپر دفاعی عمل میکند که از رسیدن ترافیکهای مخرب و رباتها به سرور اصلی جلوگیری میکند. همین مدیریت ترافیک باعث میشود منابع پردازشی CPU و RAM نیز بهبود یافته و سایت شما با سرعت بهتری کار کند.
بهترین فرمول میزبانی؛ هاست ابری + کش و CDN
فروشگاههای اینترنتی بزرگ در روزهای پرترافیک از یک معماری سه لایه استفاده میکنند تا پاسخگوی نیاز زیرساخت هاست آنها باشد. این سه بازو عبارتند از:
نقش CDN در مدیریت ترافیک
در این فرمول، CDN نقش بسیار پررنگی دارد و به نوعی وظیفه هدایت و مدیریت کلی را برعهده دارد. حدود ۶۰ تا ۷۰ درصد از حجم کلی ترافیک سایت پیش از آنکه به سرور اصلی برسند، از شبکه CDN دریافت میشوند.
این یعنی پهنای باند هاست شما مصرف نمیشود و درایوهای سرور به جای اینکه درگیر خواندن فایلها برای کاربران مختلف باشند، صرفا زمانی که دادهای اضافه یا کاسته میشود، روی شبکه CDN همگامسازی میشوند.

نقش کش در کاهش مصرف CPU
در لایه دوم درخواستهایی که باید از دیتابیس دریافت شوند، به سرور میرسند. در اینجا لایه کش وارد عمل میشود و با ایجاد نسخه کش شده از اجرای تکراری و درگیر کردن مفسر کدهای PHP جلوگیری خواهد کرد.
به جای درگیری پردازنده، این اطلاعات از حافظه موقت رم به کاربر تحویل داده میشوند. با این کار، بار سرور به شدت کاهش پیدا میکند و به جای اینکه در ترافیک بالا سیپییو تا سقف ۱۰۰ درصد درگیر باشد، بیش از ۷۰ درصد بهینه خواهد شد.
میزبانی ابری برای پاسخگویی مناسب
حالا که CDN و لایه کش سرور تمام بار ترافیکی پردازشی را به دوش کشیده است، باقیمانده منابع هاست شامل پردازنده و رم به طور کامل در اختیار شماست. این منابع حالا فقط روی صفحات پویا متمرکز میشوند؛ یعنی صفحاتی که قابلیت کش شدن ندارند.
برای مثال سبد خرید، عضویت و ورود پیامکی، درگاه پرداخت، جستجوی زنده و آجاکسی محصولات. در نتیجه هیچ تراکنش مالی و فرآیند خرید با کندی در سایت شما پیش نرفته یا با خطا مواجه نخواهد شد. پس با خیالی آسوده میتوانید فقط روی اجرای کمپین خود تمرکز کنید.
جمعبندی؛ هاست خود را هوشمندانه انتخاب کنید!
یک کسبوکار اینترنتی روبهرشد نیاز به ارتقای منابع هاست دارد؛ اما اگر در کنار ارتقای منابع از معماری درستی استفاده نشود، نهتنها بالا بردن اعداد پردازنده و رم کمکی نمیکند، بلکه هدررفت هزینه زیادی است. معماری سایت باید متناسب با منابعی که در اختیار دارید پیادهسازی شود. از پیادهسازی سیستم کش قدرتمند برای تمام صفحات گرفته تا استفاده از CDN برای کاهش بار ترافیکی سایت و در نهایت اینکه استفاده بهینه از افزونههایی به کدنویسی استاندارد را نباید فراموش کنید.
پیشنهاد میکنیم با خرید هاست ابری سون هاست که امکان انتخاب منابع سفارشی به مقدار دلخواه فراهم است، بر اساس نیاز و میزان مصرف فعلی سایت خود هزینه کنید. این محصول بر روی بستر کلاسترهای پرسرعت و وبسرور لایتاسپید بنا شده است که امکان استفاده از لایه کش قدرتمند را به شما خواهد داد. همچنین با اتصال به CDN های معتبر نظیر کلودفلر، دیواری نفوذناپذیر در برابر ترافیک ناگهانی بسازید و با خیالی آسوده کمپینهای خود را اجرا کنید.



