افزایش فوق العاده سرعت سایت با فعال سازی opcache در وردپرس
مطمئنم که همه شما با انواع افزونههای کش وردپرس آشنایی دارید. اما آیا تا بهحال چیزی به نام opcache در وردپرس که برای پیاده سازی کش سایت است به گوشتان خورده؟
تکنولوژیهای مختلفی برای پیاده سازی کش و همچنین افزایش سرعت در سایت وجود دارد که opcache نیز یکی از آنها است. اما در وب فارسی تقریبا اشارهای به استفاده از این ویژگی برای بالا بردن سرعت وردپرس نشده است.
opcache چیست و چه کاربردی دارد؟
برای دانستن اینکه opcache چیست باید ابتدا نگاهی به ساختار وردپرس و زبان برنامه نویسی php داشته باشیم. با توجه به اینکه وردپرس با این زبان برنامهنویسی ساخته شده، کدهای ما در این زبان چه در هسته وردپرس و چه کدهای مربوط به قالب و افزونهها، در زمان اجرای کد لازم است که به bytecode کامپایل شده و در نهایت اسکریپت ما اجرا شود.
مشکلی که در این پروسه وجود دارد این است که در هر بار اجرای این درخواستها برای هر بازدیدکننده، کدهایی که تکراری هستند باید اجرا شوند که همین اجرا و کامپایل شدن خود باعث مصرف بالای منابع هاست میشود و روی سرعت نیز تاثیر میگذارد. حالا به همه اینها شرایطی را اضافه کنید که چندین افزونه در سایت دارید و سایت شما هم فروشگاهی باشد.
از ورژن ۵.۵ زبان PHP ساختار opcache به این زبان افزوده شد که نوعی Bytecode Caching Engine است. حالا کاری که opcache برای وردپرس انجام میدهد این است که به محض کامپایل کردن و اجرای کدها ما، آن را در حافظه موقت RAM یا روی فایل دیسک (هارد سرور یا همان مسیر file manager هاست) ذخیره خواهد کرد که به صورت کش شده هستند.
و درست در این مرحله است که سرعت سایت ما افزایش خواهد یافت. دیگر لزومی ندارد که تکتک درخواستهایی که به دیتابیس اجرا میشود جداگانه بررسی و کامپایل شوند. بلکه بر اساس همان کدهای کامپایل شده که به صورت کش در هاست ذخیره شدهاند، دستورات در هر بخشی اجرا خواهد شد و تعداد درخواستها را تا میزان ۵۰ درصد کاهش خواهد داد.
راهنمای فعال سازی opcache در وردپرس
برای فعال سازی opcache در وردپرس افزونههای مختلفی این امکان را فراهم کردهاند. اما از آنجا که خود این افزونهها نیز بار اضافی برای کامپایل و اجرا هستند، چرا از روش سادهتر استفاده نکنیم؟
قبل از هر چیزی به این نکته دقت کنید که برای استفاده از opcache در وردپرس، ضروری است که هاست شما از آن پشتیبانی کند. تا جایی که اطلاع دارم بسیاری از شرکتهای هاستینگ بر روی هاست اشتراکی دسترسی به آن را غیرفعال کردهاند یا حتی اگر برای فعالسازی هم در دسترس باشد، قابل استفاده نیست. اما میتوانید با خرید هاست وردپرس از سون هاست امکان استفاده از آن را داشته باشید.
برای فعال سازی op کش در وردپرس کافی است ۲ مرحله زیر را طی کنید:
مرحله اول: دانلود فایل php از گیت هاب و آپلود در سایت
ابتدا روی دکمه زیر کلیک کرده و از صفحه گیت هاب پروژه، مشابه تصویر بالا روی دکمه دانلود فایل object-cache.php کلیک کنید.
بعد از دانلود، باید این فایل را در مسیر wp-content آپلود کنید. برای این منظور پس از اینکه وارد هاست سی پنل شدید، مشابه تصویر زیر روی گزینه File Manager کلیک کنید.
سپس مشابه تصویر زیر به مسیری که وردپرس نصب شده مراجعه کرده و وارد پوشه wp-content شوید. در تصویر زیر فرض بر این است که وردپرس روی دامنه اصلی نصب شده و درون سابفولدر یا ساب دامنه نصب نشده است که در این صورت باید فایل در مسیر public_html/wp-content آپلود شود.
برای آپلود نیز کافی است روی گزینه آپلود در همین مسیر کلیک کرده و فایل را به صورت Drag & Drop یا انتخاب دکمه Select که در تب جدید برای آپلود فایل باز میشود انتخاب کنید تا در این مسیر قرار گیرد.
مرحله دوم: فعال سازی opcache در هاست سی پنل
بعد از آپلود فایل مورد نظر، باید دو کار زیر را انجام دهید که اولی فعال کردن تیک گزینه opcache هاست و دومی قرار دادن یک سری کد در فایل php.ini است. لذا برای این منظور وارد صفحه اصلی هاست خود شده و مشابه تصویر زیر روی گزینه Select PHP Version کلیک کنید.
در مرحله بعد در صفحه تغییر نسخه php هاست قبل از هرچیزی به این نکته دقت کنید که برای استفاده از opcache حتما باید از ورژن بالاتر ۵.۵ وردپرس استفاده کنید. حال روی تب Extensions کلیک کرده و از لیست موجود، مشابه تصویر زیر یک بار روی گزینه opcache کلیک کنید تا تیک آن فعال گردد.
با فعال کردن این گزینه پیغام سبز رنگ به شما نمایش داده خواهد شد. حالا باید به صفحه اصلی سی پنل برگردید و مجددا از بخش Software این بار روی گزینه MultiPHP INI Editor کلیک کنید.
در این مرحله وارد صفحهای مشابه تصویر زیر خواهید شد.
- ابتدا روی تب Editor Mode کلیک کنید تا حالت ویرایشگر به شما نمایش داده شود.
- سپس از لیست انتخابی دامنه مورد نظر خود را انتخاب کنید. در صورتی از ساب دامنه استفاده کنید، در این لیست نمایش داده میشود که در این مرحله باید مسیری که میخواهید این تنظیمات برای فایل php.ini اعمال گردد را باید تعیین کنید.
- در مرحله بعد کدهای زیر را به فایل اضافه کنید.
opcache.enable=1
opcache.memory_consumption=4096
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=32500
opcache.validate_timestamps=1
opcache.save_comments=1
opcache.revalidate_freq=1000
opcache.fast_shutdown=1
opcache.enable_cli=1
- در پایان روی دکمه Save کلیک کنید.
با انجام این کار امکان استفاده از کش opcache در وردپرس برای شما فراهم خواهد شد و اگر همین حالا سایت خود را در صفحات مختلفی مثل برگه اصلی، نوشتهها، دستهبندی و… باز کنید خواهید دید که افزایش بسیار محسوسی در سرعت سایت خود داشتهاید.
نحوه پاک کردن کش opcache در وردپرس
آنطور که در ابتدا گفتم، این روش با کش کردن کدهای کامپایل شده php بر روی دیسک یا حافظه RAM به افزایش سرعت سایت کمک میکند. بنابراین، برای حذف فایلهای کش شده کافی است به ترتیب زیر عمل کنید.
مشابه تصویر بالا اگر به مسیر وارد شده دقت کنید، کلیه فایلهایی که توسط این روش برای کش کدها ایجاد میشوند در مسیر public_html/wp-content/cache قرار میگیرد که شامل بخشهای مختلف وردپرس است.
افزونههایی که استفاده میکنید، پست تایپها، دسته و برچسب، دیدگاهها و به طور کلی هر ساختار اضافی که در سایت شما وجود داشته باشد، هر یک از فایلهای مورد نیاز آن در پوشه مربوطه قرار میگیرد.
برای خالی کردن کش کافی است مثل تصویر بالا در این مسیر یک بار روی گزینه Select All کلیک کرده و سپس روی دکمه Delete کلیک کنید. با پاک کردن کلیه پوشهها و فایلهای داخلی آنها از مسیر public_html/wp-content/cache میتوانید کش سایت خود را خالی کنید.