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

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

  1. #1
    عضو دائم
    تاریخ عضویت
    Jan 2009
    محل سکونت
    یزد
    نوشته ها
    2,773
    تشکر تشکر کرده 
    914
    تشکر تشکر شده 
    2,780
    تشکر شده در
    1,757 پست

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

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

    تمامی مشکلات سی پی یو و گزارش کامل آن در فایل log موجود در پوشه cpu exceed قرار میگیرد که خود این پوشه درون پوشه tmp در ریشه اصلی می باشد.(البته نه همه سايتها - خصوسا سايتهايي كه روي share قرار دارند) پس یادتان باشد هر وقت مشکل سی پی یو داشتید ابتدا این فایل را چک کنید.( و اگر نبود از هاست مستر خود تقاضا نماييد كه آنرا براي شما ارسال نمايد) درون این فایل اکثرا علت مصرف بالای سی پی یو را میتوانید پیدا کنید.
    این که چه صفحاتی و چه فایل هایی باعث exceed شدن ( تجاوز از حد استاندارد ) می شوند.

    »» شش دلیل اصلی مصرف بالای سی پی یو توسط ورد پرس :

    دلیل اول
    مشکلات ناسازگاری افزونه ها که با حذف افزونه مشکل طرف می شود. اگر مشکل سی پی یو دارید افزونه های خود را چک کنیدتا مطمئن شوید مشکل از کدام افزونه است.
    دلیل دوم
    دستکاری درون پوسته ها که با برگرداندن پوسته به حالت پیش فرض مشکل حل می شود. اگر کد ها و حلقه ها به صورت اصولی فراخوانی نشوند یک حلقه بی نهایت پدید می آید که کاملا سی پی رو را میخورد ! پی اگر فردی مبتدی هستید از دستکاری پوسته ها پرهیز کنید.
    دلیل سوم
    وجود ایراد دریکی از جدول های دیتا بیس ( post ) می باشد که وردپرس در هر بار خواندن آن جدول فشار زیادی به سی پی یو می آورد. این مشکل را از داخل PHPMyAdmin توسط repair کردن کلیه جدول ها بر طرف نمایید. در اکثر موارد توسط همین روش مشکل حل می شود و اگر حل نشود تقریبا باید تمامی جدول ها را بررسی نمایید.
    دلیل چهارم
    اشکال در فایل های اصلی وردپرس مانند index.php و … همیشه از آخرین نسخه وردپرس استفاده نمایید و اگر با فایل های اصلی مشکلی داریدبا جایگزین کردن آن فایل مشکل را حل کنید.
    دلیل پنجم
    استفاده از پیوند یکتا در ورد پرس است و شاید تا کنون اصلا به ذهنتان هم خطور نکرده باشد که احتمال دارد پیوند یکتا مشکل ساز شود اما میشود و دلیل آن نیز ایجاد چند خط کد در فایل htaccess. وردپرس است که توسط اکثر هاست ها پشتیبانی نمی شود.

    # BEGIN WordPress
    <IfModule modrewrite.c>
    RewriteEngine On RewriteBase /
    RewriteCond %{REQUEST
    FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . / index.php [L]
    </ IfModule>

    END WordPress


    در خط دوم این کد ماژول IfModule mod_rewrite.c فراخوانی میشود که این ماژول ظاهرا به دلیل داشتن مشکلات زیاد بر روی سرور نصب نمی شود پس htaccess. حاوی فرامینی است که باعث کراش کردن سرور و مصرف سی پی یو میشود.
    حال چاره چیست ؟
    پاسخ ساده است ، شما باید از پیوند یکتا یا همان permalink پیش فرض وردپرس استفاده کنید و اگر در فایل htaccess. خود این کد ها را دارید آنها را حذف کنید.
    اما میرسیم به یک دلیل اصلی که بالاترین مصرف سی پی یو را شامل می شود …
    دلیل ششم
    استفاده نا مناسب از برچسب ها یا همان Tag ها می باشد.
    استفاده از برچسب ها به مقدار زیاد وردپرس را تبدیل به یک سی پی یو خور حسابی میکند ! باور نمیکنید ؟ امتحان کنید ! روی لوکال به یک نوشته 50 تا برچسب بزنید و آن را ببینید. آن نوشته خیلی دیر لود می شود و اگر در این هنگام مصرف سی پی یو توسط mysql را در task manager مشاهده کنید خواهید دید که cpu usage تا 50 % بالا می رود.
    پس به اندازه کافی به نوشته های خود برچسب بزنید طوری که تعداد آن ها از 15 تجاوز نکند و از درج برچسب های تکراری خود داری کنید.

    در نهايت به اينجا رسيدم كه قبل از هر اقدامي بايد ابتدا از هاست خود تقاضاي يك log فايل بنماييد (همانگونه كه در بالا اشاره شد) تا مشخص كند كه واقعا اشكال از كجاست.
    اگر اشكال از يك پست خاص بود كه بعيد بنظر مي رسد ؛ به احتمال قوي شما روي تعدادي از پلاگينهاي خود مشكل داريد . مثلا پلاگين Rating اغلب مشكل لود روي CPU را در زمانيكه تعداد بازديد از يك پست زياد شود را ايجاد مي نمايد .پس بهتر است كه از پلاگينهاي دردسر ساز صرف نظر نماييد .
    اما اگر گزارش حاكي از وجود مصرف بالاي CPU بر روي فايل wp-cron.php قرار داشت؛ اينجاست كه داستان چيز ديگري است و لازم است كه كمي بيشتر توضيح دهم:
    زمانيكه شما يك پست جديد ايجاد مي نماييد ، موتور وردپرس با استفاده از قابليت autosave, revisions اقدام به ذخيره خودكار مطلب وارد شده مي نمايد.
    حال اگر ببينيد كه در پست ايجاد شده غلط يا اشتباهي وجود دارد و اقدام به اصلاح مطلب ذخيره شده نماييد ؛ wp-cron.php كه در بار نخست اقدام به ارسال 2 تقاضا براي ذخيره مطلب به سرور نموده بود ، اينك 8 تقاضا ارسال مي كند و اگر خداي ناكرده شما متوجه شويد كه باز بايد مطلب ياد شده را اصلاح نماييد ؛ تعداد تقاضاهاي شما به بيش از 20 تقاضا مي رسد كه موجب بالا رفتن لود بيش از حد روي CPU مي گردد و البته اين باگي است كه هنوز در نسخه 2.7.1 وردپرس وجود دارد.
    و اما راه چاره:
    بهترين راه حلي كه من يافتم ؛ غير فعال نمودن عمل autosave, revisions در هنگام ايجاد پست مي باشد . براي اينكار ، بهترين روش استفاده از پلاگين : WP-CMS Post Control است .
    اين پلاگين را نصب نموده و قابليتهاي autosave, revisions را غير فعال نماييد تا مانع از بار گذاري خودكار روي سرور شويد.

    موفق باشيد


  2. تعداد تشکر ها ازSajad به دلیل پست مفید


  3. # ADS




     

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

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

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

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

  1. درگاه براي تمام سايتها و مشتريان
    توسط asuma در انجمن مباحث دیگر
    پاسخ ها: 16
    آخرين نوشته: August 15th, 2014, 18:28
  2. فارسي ساز و قالب فارسي بخش مديريت
    توسط mparsa در انجمن WHMCS
    پاسخ ها: 0
    آخرين نوشته: October 27th, 2013, 15:33
  3. پاسخ ها: 7
    آخرين نوشته: May 5th, 2013, 22:07
  4. سايتم بن شده ؟
    توسط shazo در انجمن vBulletin
    پاسخ ها: 3
    آخرين نوشته: February 15th, 2012, 11:04

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

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