نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: حل مشکل مصرف بالای cpu در سایتهای وردپرسی

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن آگونیس آواتار ها
    تاریخ عضویت
    Dec 2011
    محل سکونت
    Network
    نوشته ها
    741
    تشکر تشکر کرده 
    112
    تشکر تشکر شده 
    2,136
    تشکر شده در
    853 پست

    پیش فرض حل مشکل مصرف بالای cpu در سایتهای وردپرسی

    احتمالا برای بسیاری از دوستان عزیزی که از ورد پرس برای مدیریت سایت خود استفاده می کنند ، مشکل مصرف بالای cpu پیش امده است .


    دلیل اول
    مشکلات ناسازگاری افزونه ها که با حذف افزونه مشکل طرف می شود. اگر مشکل سی پی یو دارید افزونه های خود را چک کنیدتا مطمئن شوید مشکل از کدام افزونه است.
    دلیل دوم
    دستکاری درون پوسته ها که با برگرداندن پوسته به حالت پیش فرض مشکل حل می شود. اگر کد ها و حلقه ها به صورت اصولی فراخوانی نشوند یک حلقه بی نهایت پدید می آید که کاملا سی پی رو را میخورد ! پی اگر فردی مبتدی هستید از دستکاری پوسته ها پرهیز کنید.
    دلیل سوم
    وجود ایراد دریکی از جدول های دیتا بیس ( post ) می باشد که وردپرس در هر بار خواندن آن جدول فشار زیادی به سی پی یو می آورد. این مشکل را از داخل PHPMyAdmin توسط repair کردن کلیه جدول ها بر طرف نمایید. در اکثر موارد توسط همین روش مشکل حل می شود و اگر حل نشود تقریبا باید تمامی جدول ها را بررسی نمایید.
    دلیل چهارم
    اشکال در فایل های اصلی وردپرس مانند index.php و … همیشه از آخرین نسخه وردپرس استفاده نمایید و اگر با فایل های اصلی مشکلی داریدبا جایگزین کردن آن فایل مشکل را حل کنید.
    دلیل پنجم
    استفاده از پیوند یکتا در ورد پرس است و شاید تا کنون اصلا به ذهنتان هم خطور نکرده باشد که احتمال دارد پیوند یکتا مشکل ساز شود اما میشود و دلیل آن نیز ایجاد چند خط کد در فایل htaccess. وردپرس است که توسط اکثر هاست ها پشتیبانی نمی شود.
    # BEGIN WordPress
    rewrite.c>
    RewriteEngine On RewriteBase /
    RewriteCond %{REQUEST
    FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . / index.php [L]
    END WordPress
    در خط دوم این کد ماژول IfModule mod_rewrite.c فراخوانی میشود که این ماژول ظاهرا به دلیل داشتن مشکلات زیاد بر روی سرور نصب نمی شود پس htaccess. حاوی فرامینی است که باعث کراش کردن سرور و مصرف سی پی یو میشود.
    حال چاره چیست ؟
    پاسخ ساده است ، شما باید از پیوند یکتا یا همان permalink پیش فرض وردپرس استفاده کنید و اگر در فایل htaccess. خود این کد ها را دارید آنها را حذف کنید.
    اما میرسیم به یک دلیل اصلی که بالاترین مصرف سی پی یو را شامل می شود …
    دلیل ششم
    استفاده نا مناسب از برچسب ها یا همان Tag ها می باشد.
    استفاده از برچسب ها به مقدار زیاد وردپرس را تبدیل به یک سی پی یو خور حسابی میکند ! باور نمیکنید ؟ امتحان کنید ! روی لوکال به یک نوشته ۵۰ تا برچسب بزنید و آن را ببینید. آن نوشته خیلی دیر لود می شود و اگر در این هنگام مصرف سی پی یو توسط mysql را در task manager مشاهده کنید خواهید دید که cpu usage تا ۵۰ % بالا می رود.
    پس به اندازه کافی به نوشته های خود برچسب بزنید طوری که تعداد آن ها از ۱۵ تجاوز نکند و از درج برچسب های تکراری خود داری کنید.
    در نهایت به اینجا رسیدم که قبل از هر اقدامی باید ابتدا از هاست خود تقاضای یک log فایل بنمایید (همانگونه که در بالا اشاره شد) تا مشخص کند که واقعا اشکال از کجاست.
    اگر اشکال از یک پست خاص بود که بعید بنظر می رسد ؛ به احتمال قوی شما روی تعدادی از پلاگینهای خود مشکل دارید . مثلا پلاگین Rating اغلب مشکل لود روی CPU را در زمانیکه تعداد بازدید از یک پست زیاد شود را ایجاد می نماید .پس بهتر است که از پلاگینهای دردسر ساز صرف نظر نمایید .
    اما اگر گزارش حاکی از وجود مصرف بالای CPU بر روی فایل wp-cron.php قرار داشت؛ اینجاست که داستان چیز دیگری است و لازم است که کمی بیشتر توضیح دهم:
    زمانیکه شما یک پست جدید ایجاد می نمایید ، موتور وردپرس با استفاده از قابلیت autosave, revisions اقدام به ذخیره خودکار مطلب وارد شده می نماید.
    حال اگر ببینید که در پست ایجاد شده غلط یا اشتباهی وجود دارد و اقدام به اصلاح مطلب ذخیره شده نمایید ؛ wp-cron.php که در بار نخست اقدام به ارسال ۲ تقاضا برای ذخیره مطلب به سرور نموده بود ، اینک ۸ تقاضا ارسال می کند و اگر خدای ناکرده شما متوجه شوید که باز باید مطلب یاد شده را اصلاح نمایید ؛ تعداد تقاضاهای شما به بیش از ۲۰ تقاضا می رسد که موجب بالا رفتن لود بیش از حد روی CPU می گردد و البته این باگی است که هنوز در نسخه ۲٫۷٫۱ وردپرس وجود دارد.
    و اما راه چاره:
    بهترین راه حلی که من یافتم ؛ غیر فعال نمودن عمل autosave, revisions در هنگام ایجاد پست می باشد . برای اینکار ، بهترین روش استفاده از پلاگین : WP-CMS Post Control است .
    این پلاگین را نصب نموده و قابلیتهای autosave, revisions را غیر فعال نمایید تا مانع از بار گذاری خودکار روی سرور شوید.

    موفق باشید

  2. تعداد تشکر ها از آگونیس به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. بررسی ضعف های گوگل و الگوریتم ها
    توسط tegra در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: July 19th, 2016, 17:28
  2. مطمئن ترین روش انتقال سایتها از سی پنلی به دایرکت ادمین
    توسط hegza در انجمن دايرکت ادمين DirectAdmin
    پاسخ ها: 4
    آخرين نوشته: March 9th, 2016, 19:22
  3. چیکار کنیم گوگل دوباره سایتمان را بررسی کند؟
    توسط updates در انجمن مباحث دیگر
    پاسخ ها: 3
    آخرين نوشته: October 20th, 2013, 04:22
  4. مشکل در سایتم با متنای فارسی
    توسط xnjx در انجمن سوالات و مشکلات
    پاسخ ها: 0
    آخرين نوشته: July 27th, 2013, 20:58
  5. پاسخ ها: 1
    آخرين نوشته: November 11th, 2011, 17:41

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •