کش در فروشگاه اینترنتی: کجا کار میکند و کجا نه
کش سریعترین راه بهبود زمان پاسخ است، به شرطی که در جای درست استفاده شود. در فروشگاه اینترنتی، جای درست محدودتر از سایت محتوایی است.
انواع کش
| نوع کش | چه چیزی را نگه میدارد | در فروشگاه |
|---|---|---|
| کش صفحه | خروجی کامل HTML یک صفحه | برای صفحات محصول و دستهبندی مؤثر؛ برای سبد و تسویه باید غیرفعال باشد. |
| کش شیء | نتیجهٔ کوئریها و محاسبات تکراری | برای صفحات پویا هم کار میکند و فشار دیتابیس را کم میکند. |
| کش مرورگر | فایلهای ثابت روی دستگاه کاربر | برای تصاویر و اسکریپتها؛ روی بازدید دوم اثر میگذارد. |
| شبکهٔ توزیع محتوا | فایلهای ثابت در نقاط نزدیکتر به کاربر | برای تصاویر محصول مفید است؛ منطق فروشگاه را تغییر نمیدهد. |
خطاهای رایج
- کشکردن صفحهٔ سبد خرید — نتیجهاش نمایش سبد یک کاربر به کاربر دیگر است.
- کشکردن قیمتهای شخصیسازیشده بدون در نظر گرفتن گروه کاربری.
- عمر کش خیلی طولانی برای صفحاتی که موجودی محصول در آنها نمایش داده میشود.
- اتکا به کش برای پنهانکردن کوئریهای بد؛ مشکل فقط به تعویق میافتد.
سختترین بخش: کِی کش را پاک کنیم؟
ساختن کش آسان است؛ تصمیم دربارهٔ باطلکردنش سخت است. در فروشگاه، اشتباه در این تصمیم مستقیم به مشتری میرسد: قیمت قدیمی، موجودی غلط، یا محصولی که حذف شده و هنوز دیده میشود.
| رویداد | چه چیزی باید پاک شود |
|---|---|
| تغییر قیمت یا موجودی یک محصول | صفحهٔ همان محصول، و هر صفحهٔ دستهبندی و جستوجویی که آن را نشان میدهد. |
| ثبت سفارش | اگر موجودی روی صفحه نمایش داده میشود، صفحهٔ محصول باید تازه شود. |
| انتشار کد جدید | کش صفحه و کش شیء هر دو — ساختار خروجی ممکن است عوض شده باشد. |
| تغییر منو یا بنر | همهٔ صفحاتی که آن قطعه در آنها تکرار میشود، که معمولاً یعنی کل سایت. |
کش سرد، درست قبل از شلوغی
یک حالت خطرناک که کم دربارهٔاش گفته میشود: بلافاصله بعد از پاککردن کامل کش یا انتشار کد، هیچ صفحهای در کش نیست. اگر این لحظه با پیک ترافیک همزمان شود، همهٔ آن درخواستها با هم به PHP و دیتابیس میرسند — همان چیزی که کش برای جلوگیری از آن بود.
- انتشار کد را به ساعت کمترافیک ببر، نه ساعت پیک.
- بعد از پاککردن کش، پرترددترین صفحات را از قبل یک بار باز کن تا کششان ساخته شود.
- در هفتهٔ کمپین کش کامل را پاک نکن مگر مجبور باشی.
از کجا بفهمی کش واقعاً کار میکند؟
کش فعالبودن با کش مؤثربودن یکی نیست. سه چیز ارزش دیدن دارد:
- نسبت اصابت کش — چند درصد درخواستها از کش جواب میگیرند. اگر این عدد پایین است، یعنی چیزی مدام کش را باطل میکند یا صفحات قابل کش نیستند.
- زمان پاسخ یک صفحهٔ کششده در برابر همان صفحه با کش غیرفعال. تفاوت، سود واقعی کش است.
- مصرف پردازنده در ساعت پیک. اگر کش کار میکند، این عدد باید بهطور محسوسی پایینتر از قبل باشد.
مطالب مرتبط
این مطلب بخشی از راهنمای زیرساخت فروشگاه اینترنتی است.
