6 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام

کار اصلی سایت من با دیتابیس هست ، یعنی تقریبا هر دقیقه یه query به دیتابیس ارسال میشه.

به جزء query هایی که مطالب جدید رو fetch میکنند ، تقریبا میشه گفت بقیه query ها فقط برای چک کردن هستند.

خب تعداد زیاد query ها به دیتابیس ، باعث فشار به سرور میشود.

حالا سوال من این هست که :

1 - از کش دیتابیس استفاده کنم یا نه ؟

2 - تاثیری داره یا مشکل برام درست میکنه ؟

3 - همه query ها رو کش کنم یا فقط بعضی از query ها ؟

4 - اگر میتونه مفید باشه ، شما چه اسکریپت php برای این کار پیشنهاد میدید ؟

پیشاپیش ممنون

ویرایش شده در توسط Ghasem Paran
0

به اشتراک گذاری این پست


لینک به پست

هر دقیقه 1 کوئری فشار زیادی به سرور وارد نمیکنه

بهینه کردن کوئریها هم تاثیر زیادی داره و از فشاری که به سرور وارد میشه کم میکنه

1 - از کش دیتابیس استفاده کنم یا نه ؟

استفاده ازش خوبه

2 - تاثیری داره یا مشکل برام درست میکنه ؟

تاثیر داره

3 - همه query ها رو کش کنم یا فقط بعضی از query ها ؟

اونهایی که معمولا ثابت هستن و تغییری نمیکنند

4 - اگر میتونه مفید باشه ، شما چه اسکریپت php برای این کار پیشنهاد میدید ؟ پیشاپیش ممنون

phpfastcache اسکریپت خوبی هست

البته همه اینها به این بستگی داره که کدوم کوئری ها نتیجشون متغییره و کدومها ثابته

طبعا کوئری هایی که نتیجه ثابتی ندارن نباید کش بشن و هر چه تعداد کوئری های ثابت بیشتر باشه کش شدنشون تو سرعت تاثیر بیشتری میزاره

https://ellislab.com/codeigniter/user-guide/database/caching.html

https://github.com/khoaofgod/phpfastcache

4

به اشتراک گذاری این پست


لینک به پست

هر دقیقه 1 کوئری فشار زیادی به سرور وارد نمیکنه

ببخشید ، هر 1 ثانیه

اونهایی که معمولا ثابت هستن و تغییری نمیکنند

البته همه اینها به این بستگی داره که کدوم کوئری ها نتیجشون متغییره و کدومها ثابته

طبعا کوئری هایی که نتیجه ثابتی ندارن نباید کش بشن و هر چه تعداد کوئری های ثابت بیشتر باشه کش شدنشون تو سرعت تاثیر بیشتری میزاره

میشه بیشتر توضیح بدید ؟

phpfastcache اسکریپت خوبی هست

آموزش خوبی برای استفاده از اون سراغ دارید ؟

آموزشهای سایت خودش پیچیده بود

0

به اشتراک گذاری این پست


لینک به پست

ببینین مثلا شما چند تنظیم دارید که معمولا ثابتن

مثلا نوع نمایش تاریخ و ساعت

خب برای به دست اوردن اینها نیازی به ارتباط با دیتابیس نیست

میتونین انها رو کش کنید

(در ضمن اگه حجم اطلاعات زیاد باشه سلکت زدن به دیتابیس سرعت بیشتری نسبت به کش کردن و خواندن از فایل داره)

(حدث میزنم پشتیبانی سرور شما ضعیف هست)

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

ببینین مثلا شما چند تنظیم دارید که معمولا ثابتن

مثلا نوع نمایش تاریخ و ساعت

خب برای به دست اوردن اینها نیازی به ارتباط با دیتابیس نیست

میتونین انها رو کش کنید

(در ضمن اگه حجم اطلاعات زیاد باشه سلکت زدن به دیتابیس سرعت بیشتری نسبت به کش کردن و خواندن از فایل داره)

(حدث میزنم پشتیبانی سرور شما ضعیف هست)

کامل متوجه نشدم ، اما ممنون

من میخوام تعداد درخواست ها به دیتابس رو کمتر کنم.

مثلا تو صفحه اول ، 6 تا query بارها اجرا میشن و از طریق ajax ، مطالب جدید اضاف میشه.

ویرایش شده در توسط Ghasem Paran
0

به اشتراک گذاری این پست


لینک به پست

خب میتونین این 1 ثانیه رو به 10 ثانیه تغییر بدین و کدهای ajax رو طوری تنظیم کنید که وقتی اسکرول به انتهای صفحه رسید این عملیات انجام بشه

اینجوری سربار کمتری ایجاد میکنه

3

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط masoudmosleh267
      سلام دوستان. من یه سایتی رو از بکاپ گرفتم و از یه هاست و دامنه به یه هاست و دامنه جدید انتقال دادم. حالا چه سایت رو که باز میکنم چه وارد پیشخوان وردپرس میشم یه ارور میاد یکی از خطلی functions.php قالب رو نشون میده.
      Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /public_html/wp-content/themes/khadamator/functions.php on line 1132
      مشکل چیه؟
    • توسط nazanin123
      سلام
       یک سایت خبری که روزانه صد پست میزنه خب بعد از مدتی تعداد پست ها بسیار بالا میره.
      میشه کاری کرد که بعد از مثلا 20 هزار پست یک جدول جدید در دیتابیس ایجاد بشه؟
       
    • توسط amirsa
      سلام
      من محصولات متغیر رو در ووکامرس که وارد میکنم،(محصول ممکنه 2 یا 3 صفت داره که باید انتخاب بشه)
       توی فروشگاه ووکامرس بصورت حد اقل و حداکثر قیمت ها نشون داده میشه
      مثلا کالا دونوع 10 و  20 تومانی هست.صفت آ 15 تومن برای مشتری هایی که بخوان.تو فروشگاه قیمت رو بصورت 10-35 نشون میده که بیشتر از قیمت اصلی است.من میخوام همون 10 و 20 رو نشون بده
      این مشکل انرژی زیادی ازم گرفته ممنون میشم راهنماییم کنید 
    • توسط arianemun
      سلام عرض ادب به کاربران وردپرس پارسی ، من یک مشکلی دارم در افزونه ای ، افزونه woocomerce product finder یک افزونه ای است طبق تنظیمات و چیز هایی که برای محصول ووکامرسی تعریف میکنیم با انتخواب گزینه ها توسط کاربر محصول مورد نظر خودش رو پیدا میکنه، تنها مشکلی که این افزونه یا میشه گفت ضعفی که داره تفاوت محصول برجسته رو با محصول ساده متوجه نمیشه یعنی اگر تو اون دسته یک محصول برجسته باشه و یک محصول ساده اون ها رو از هم تفکیک نمیکنه من میخواستم این قابلیت رو به این افزونه اضافه کنم که کاربر وقتی محصولش رو پیدا کرد هم محصول ساده ها رو ببینه و محصول برجسته شده ! ممنون میشم کمک کنید .
       
      لینک افزونه استفاده شده
    • توسط صالح طالبی
      باسلام خدمت شما عزیزان
      بنده این تکه کد رو که در اصل افزونه نمایش آخرین های انجمن بود برای وردپرس به صورت کد در خود فانکشن قالب دراوردم:
      function ipslatest_main($query) { if ( is_home() && $query->is_main_query() ) { $db_user = 'root'; $db_name = 'ipsdb'; $db_pass = ''; $db_host = 'localhost'; $prefix = get_option('ipslatest_db_prefix'); $url = 'http://localhost/IPS'; $limit = '5'; $title = ''; $width = '300'; $direction = 'rtl'; $translations = array('عنوان','بازدید','پاسخ ها','ارسال شده به وسیله'); $db = new wpdb( $db_user, $db_pass, $db_name,$db_host ); $q = $db->get_results( 'SELECT topic_id,author_name FROM '.$prefix.'forums_posts ORDER BY pid DESC LIMIT '.$limit ); echo '<div id="ipslatest-mainTitle" style="width:'.$width.'">'.$title.$position.'</div>'; echo '<table id="ipslatestTopics" border=0 style="padding:10px;width:'.$width.'">'; echo '<tr><td class="ipslatest-row-views">'.$translations[2].'</td><td class="ipslatest-row-answers">'.$translations[1].'</td><td class="ipslatest-row-sender">'.$translations[3].'</td><td class="ipslatest-row-title">'.$translations[0].'</td> </tr>'; if (is_array($q) || is_object($q)) { foreach ($q as $key => $row) { $topicDetails = $db->get_row('SELECT title,tid,views,posts FROM '.$prefix.'forums_topics WHERE tid='.$row->topic_id); $userMemberID = $db->get_row('SELECT member_group_id FROM '.$prefix."core_members WHERE name='".$row->author_name."'"); $userShowingData = $db->get_row('SELECT prefix,suffix FROM core_groups WHERE g_id='.$userMemberID->member_group_id); echo '<tr id="ipstopic"> <td class="ipslatest-row-views-content"> <span>'.$topicDetails->views.' </span></td> <td class="ipslatest-row-answers-content"><span>'.$topicDetails->posts.'</span></td> <td id="ipslatest-row-sender-content">'.$userShowingData->prefix.$row->author_name.$userShowingData->suffix.'</td> <td class="ipsTitle"> <a rel="follow" href="'.$url.'topic/'.$topicDetails->tid.'-'.strtolower(str_replace(" ","-",$topicDetails->title)).'">'. strip_tags($topicDetails->title) .' </a> </td> </tr>'; } /*}*/ } echo '</table>'; } } به صورت خودکار خود افزونه از کد زیر برای نمایش اون در اول پست های سایت و یا در آخر پست های سایت استفاده میکنه کد ها هم به این شکله:
      add_action( 'wp', 'ipslatestMain' ); function ipslatestMain( $query ) { $position = "bottom"; if($position === "bottom") $acton = "loop_end"; elseif ($position === "top") $acton = "loop_start"; add_action($acton,"ipslatest_main"); } الان بدون هیچ مشکلی نمایش میده در پایین پست ها ولی من میخام این نمایش رو در یه قسمت دیگه از قالب انجام بدم و چجوری میتونم این فانکشن و تابع رو نمایش بدم؟؟؟
      نام افزونه هم در ضمن ipsuite-latest-topics هست و من از حالت افزونه فقط خارجش کردم و در خود قالب و فانکشن اون اوکی کردم.
      فقط مشکل اینه که نمیخام در بالای پست یا پایین پست ها نمایش بدم و میخام در جایی که خودم تعیین میکنم تابع رو نمایش بدم؟!!!
      ممنون میشم راهنمایی بفرمایید.