لیارا: چرا سایت سریع است، اما موقع خرید کند میشود؟
کندی مرحله تسویه حساب برخلاف صفحات سریع سایت، به دلیل پردازش اختصاصی دادهها، تداخل افزونهها و استثنا بودن سبد خرید از حافظه کش رخ میدهد. صفحه اصلی فروشگاه سریع باز میشود، تصاویر محصولات بدون تأخیر دیده میشوند و جابهجایی بین دستهبندیها روان است. اما وقت…
خلاصه تحلیلی خبر
کندی مرحله تسویه حساب برخلاف صفحات سریع سایت، به دلیل پردازش اختصاصی دادهها، تداخل افزونهها و استثنا بودن سبد خرید از حافظه کش رخ میدهد. صفحه اصلی فروشگاه سریع باز میشود، تصاویر محصولات بدون تأخیر دیده میشوند و جابهجایی بین دستهبندیها روان است. اما وقت…
موضوعات اصلی: پشتیبانی شبکه، کنید، سفارش، بررسی، خرید، ثبت
کندی مرحله تسویه حساب برخلاف صفحات سریع سایت، به دلیل پردازش اختصاصی دادهها، تداخل افزونهها و استثنا بودن سبد خرید از حافظه کش رخ میدهد.
صفحه اصلی فروشگاه سریع باز میشود، تصاویر محصولات بدون تأخیر دیده میشوند و جابهجایی بین دستهبندیها روان است. اما وقتی مشتری محصولی را به سبد اضافه میکند، آدرسش را تغییر میدهد یا دکمه ثبت سفارش را میزند، همهچیز کند میشود. گاهی هم علامت بارگذاری میچرخد، بدون اینکه مشخص باشد درخواست در حال پردازش است یا با خطا روبهرو شده.
این وضعیت در فروشگاههای وردپرسی میتواند دلایل متفاوتی داشته باشد؛ از تنظیمات کش و افزونهها تا محدودیت منابع و انتظار برای پاسخ سرویسهای دیگر. برای رفع مشکل، باید مسیر خرید را جداگانه بررسی کرد. سرعت مناسب صفحه اصلی، بهتنهایی نشان نمیدهد فروشگاه هنگام ثبت سفارش هم عملکرد خوبی دارد.
بخشهایی از سایت میتوانند از نسخه آماده و ذخیرهشده صفحات استفاده کنند؛ همان چیزی که به آن کش صفحه میگوییم. در این حالت، لازم نیست سرور برای هر بازدید، تمام محتوای صفحه را دوباره تولید کند.
اما سبد خرید و تسویهحساب به اطلاعات همان مشتری وابستهاند. محصولات انتخابی، کد تخفیف، آدرس، روش ارسال و مبلغ نهایی ممکن است در هر درخواست تغییر کنند. بنابراین، این بخشها معمولاً باید از کش عمومی صفحه خارج باشند. مستندات ووکامرس نیز بر مستثناکردن صفحات سبد خرید، تسویهحساب و حساب کاربری از این نوع کش تأکید میکند.
به همین دلیل، ممکن است یک فروشگاه در نمایش صفحات کششده سریع باشد، اما در پردازش درخواستهای اختصاصی مشتری ضعف داشته باشد. فعالکردن کش برای تمام صفحات هم راهحل مناسبی نیست؛ تنظیم نادرست آن میتواند اطلاعات سبد یا وضعیت نشست کاربر را بهاشتباه نمایش دهد.
عبارت «خرید کند است» برای تشخیص علت کافی نیست. باید معلوم شود تأخیر دقیقاً چه زمانی اتفاق میافتد: افزودن محصول به سبد، محاسبه هزینه ارسال، ثبت سفارش یا انتقال به درگاه؟
یک خرید آزمایشی انجام دهید و مراحل را جداگانه ثبت کنید. در ابزار توسعهدهنده مرورگر، بخش Network برای مشاهده درخواستهای کند یا ناموفق و بخش Console برای شناسایی خطاهای جاوااسکریپت مفید است. ووکامرس نیز برای بررسی بارگذاری بیپایان تسویهحساب، بررسی همین خطاها و پاسخ درخواستها را پیشنهاد میکند.
جدول زیر نقطه شروع بررسی است؛ هر نشانه میتواند بیش از یک علت داشته باشد
نشانه | چه چیزی را بررسی کنیم؟ |
تغییر آدرس باعث انتظار طولانی میشود | محاسبه هزینه ارسال و افزونههای مرتبط |
دکمه ثبت سفارش واکنش نشان نمیدهد | خطاهای جاوااسکریپت و درخواستهای ناموفق |
مشکل بیشتر در ساعات شلوغ دیده میشود | مصرف منابع، صف درخواستها و عملکرد دیتابیس |
انتقال به درگاه دیر انجام میشود | افزونه پرداخت و زمان پاسخ ارتباط با درگاه |
همچنین بین «کندی» و «خرابی» تفاوت بگذارید. درخواست کند ممکن است سرانجام پاسخ بدهد، اما درخواست ناموفق گاهی فقط یک علامت بارگذاری طولانی به کاربر نشان میدهد.
افزونههای تخفیف، حملونقل، پرداخت، پیامک و اتصال به نرمافزار حسابداری میتوانند در مسیر ثبت سفارش اجرا شوند. اگر یکی از آنها پردازش سنگینی انجام دهد یا منتظر پاسخ یک سرویس بماند، تأخیر ممکن است در تسویهحساب دیده شود.
تعداد افزونهها بهتنهایی معیار مناسبی نیست. یک افزونه با عملکرد نامناسب میتواند بیشتر از چند افزونه سبک روی زمان پاسخ اثر بگذارد. تغییرات اخیر را هم مرور کنید؛ آیا مشکل بعد از نصب افزونه، تغییر قالب یا بهروزرسانی آغاز شده است؟
بررسی را روی نسخه آزمایشی سایت و پس از تهیه بکاپ انجام دهید. افزونههای مرتبط را مرحلهای غیرفعال کنید و همان سناریوی خرید را دوباره اجرا کنید. اگر با حذف یک عامل مشکل برطرف شد، سازگاری و تنظیمات آن را دقیقتر بررسی کنید. این روش با فرایند پیشنهادی ووکامرس برای تشخیص تداخل افزونه و قالب همراستاست.
هنگام ثبت سفارش، بعضی عملیات باید همان لحظه انجام شوند؛ مانند اعتبارسنجی سفارش و دریافت نتیجه موردنیاز از درگاه. در مقابل، بعضی کارهای جانبی را میتوان با طراحی مناسب به پردازش پسزمینه سپرد.
برای مثال، اگر ارسال پیامک یا همگامسازی با یک ابزار جانبی در مسیر اصلی درخواست اجرا شود، کندی آن سرویس ممکن است زمان انتظار مشتری را افزایش دهد. لازم است توسعهدهنده مشخص کند کدام عملیات ضروریاند و کدام را میتوان بعداً، با امکان ثبت خطا و تلاش مجدد، انجام داد.
این تغییر نباید وضعیت پرداخت یا سفارش را مبهم کند. کاربر باید بداند سفارش ثبت شده، پرداخت موفق بوده یا هنوز اقدامی لازم است. سرعت بیشتر زمانی ارزش دارد که نتیجه نهایی هم درست و قابل پیگیری باشد.
اگر پس از بررسی افزونهها و درخواستهای خارجی، کندی همچنان هنگام افزایش خریدهای همزمان تکرار میشود، منابع میزبانی را بررسی کنید. مصرف پردازنده و حافظه، ظرفیت پردازش همزمان PHP و زمان اجرای پرسوجوهای دیتابیس میتوانند به تشخیص مشکل کمک کنند.
از پشتیبانی سرویس بخواهید وضعیت منابع را در ساعت وقوع کندی بررسی کند. میانگین مصرف روزانه ممکن است فشار کوتاهمدت زمان ثبت سفارشها را نشان ندهد. همچنین کندی دیتابیس همیشه با افزایش رم حل نمیشود؛ گاهی یک پرسوجوی نامناسب یا پردازش افزونه عامل اصلی است.
هنگامخرید هاست وردپرسعلاوه بر فضای ذخیرهسازی، درباره محدودیت منابع، سازگاری با ووکامرس، دسترسی به گزارش خطا و محدوده پشتیبانی سؤال کنید. ارزیابی سرویس باید با نیاز واقعی فروشگاه و رفتار آن هنگام خرید انجام شود. راهنمای رسمی ووکامرس نیز میزبانی، حافظه، افزونهها و قالب را از عوامل قابل بررسی در کندی سایت میداند.
سرور مجازی زمانی میتواند انتخاب مناسبی باشد که به کنترل بیشتر روی تنظیمات، نصب سرویسهای موردنیاز یا تخصیص منابع متناسب با پروژه نیاز دارید. اما انتقال همان فروشگاه، با همان مشکلات نرمافزاری، به سروری جدید الزاماً نتیجه مطلوبی ندارد.
پیش ازخرید vpsمشخص کنید محدودیت فعلی چیست و سرور جدید چگونه آن را برطرف میکند. اگر مشکل از انتظار برای پاسخ یک سرویس خارجی باشد، افزایش پردازنده احتمالاً تأثیر محدودی خواهد داشت.
مسئولیت مدیریت را هم در نظر بگیرید. در سرویس مدیریتنشده، تنظیم وبسرور، بهروزرسانی، امنیت، بکاپ و پایش عملکرد بر عهده شما یا تیم فنی است. برای فروشگاهی که چنین تواناییای ندارد، میزبانی مدیریتشده مناسب میتواند انتخاب عملیتری باشد.
در فرایند خرید، چند ارتباط متفاوت برقرار میشود: مرورگر مشتری با فروشگاه، فروشگاه با درگاه پرداخت و گاهی فروشگاه با سامانه ارسال یا سرویسهای دیگر. کیفیت هرکدام میتواند روی تجربه نهایی اثر بگذارد.
اگر بیشتر مشتریان داخل کشور هستند، هنگام بررسیخرید سرور مجازی ایرانکیفیت دسترسی از شبکههای مختلف داخلی را بسنجید. همزمان، ارتباط سرور با سرویسهای خارجی موردنیاز فروشگاه را نیز آزمایش کنید.
نزدیکی جغرافیایی میتواند تأخیر شبکه را کاهش دهد، اما تضمینکننده سرعت تسویهحساب نیست. پردازش برنامه و کیفیت مسیر ارتباطی هم اهمیت دارند؛ بنابراین، تصمیم را بر اساس آزمایش مسیر کامل خرید بگیرید.
پس از اصلاح تنظیمات یا ارتقای میزبانی، فقط صفحه اصلی را باز نکنید. افزودن محصول، اعمال تخفیف، تغییر آدرس، انتخاب روش ارسال و ثبت سفارش را آزمایش کنید. خرید مهمان و کاربر واردشده را هم جداگانه بررسی کنید.
آزمون پرداخت را در محیط آزمایشی یا با روش کنترلشده انجام دهید تا سفارش و تراکنش ناخواسته ایجاد نشود. علاوه بر زمان پاسخ، درستی مبلغ، موجودی، وضعیت سفارش و پیام نهایی را کنترل کنید.
کندی هنگام خرید را باید در همان مرحلهای بررسی کرد که مشتری منتظر میماند. تنظیمات کش، افزونهها، ارتباط با سرویسهای بیرونی و منابع میزبانی هرکدام میتوانند بخشی از مسئله باشند. ابتدا علت را با آزمایش و گزارشها مشخص کنید و سپس درباره بهینهسازی یا ارتقا تصمیم بگیرید. معیار موفقیت، خریدی روان و درست از انتخاب محصول تا تأیید نهایی سفارش است.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.