Jump to content
Sign in to follow this  
DT33

[Решено] Большое количество SQL-запросов. Медленно открывается сайт.

Recommended Posts

Некоторое время после создания (месяц-два) сайт функционировал безупречно. Никаких задержек при открытии или просмотре, ничего такого.

 

Недавно заметил, то сайт стал медленно загружаться. 

Грешил на хостинг, писал в саппорт - там все перепроверили, сказали - проблема в движке.

 

Начал разбрираться, нашел причину: огромное кол-во запросов к базе данных и много времени уходит на их обработку (около 80%).

 

Сайт http://deltateh.com.ua

 

Что показывает скрипт по этому поводу:

 

totalProcessTime - 3.9968659877777 sec
Queries - 293. 
Queries time - 3.5653915405273. 

Гуглил. Нормальное  кол-во запросов - 15-50. Но никак не 293.

Share this post


Link to post
Share on other sites

Это на главной?

 

Круто...

 

Надо смотреть...

Share this post


Link to post
Share on other sites

на главной и на любой другой.

 

в админке все норм

Share this post


Link to post
Share on other sites

Вот что выдало:

2013-12-25 16:13:54 - --------------------
2013-12-25 16:13:54 - 0.00015: 1: /home/e30165/public_html/store/catalog/controller/common/content_top.php(43)
2013-12-25 16:13:54 - 0.00017: 1: /home/e30165/public_html/store/catalog/controller/common/column_right.php(43)
2013-12-25 16:13:54 - 0.00018: 1: /home/e30165/public_html/store/catalog/controller/common/content_bottom.php(43)
2013-12-25 16:13:54 - 0.00021: 1: /home/e30165/public_html/store/catalog/controller/common/content_top.php(32)
2013-12-25 16:13:54 - 0.00025: 1: /home/e30165/public_html/store/catalog/controller/module/slideshow.php(23)
2013-12-25 16:13:54 - 0.00026: 1: /home/e30165/public_html/store/catalog/controller/common/column_right.php(32)
2013-12-25 16:13:54 - 0.00040: 1: /home/e30165/public_html/store/catalog/controller/module/cart.php(23)
2013-12-25 16:13:54 - 0.00041: 1: /home/e30165/public_html/store/catalog/controller/common/content_bottom.php(32)
2013-12-25 16:13:54 - 0.00042: 1: /home/e30165/public_html/store/index.php(203)
2013-12-25 16:13:54 - 0.00047: 1: /home/e30165/public_html/store/catalog/controller/common/column_left.php(43)
2013-12-25 16:13:54 - 0.00047: 1: /home/e30165/public_html/store/catalog/controller/common/column_left.php(32)
2013-12-25 16:13:54 - 0.00058: 1: /home/e30165/public_html/store/index.php(212)
2013-12-25 16:13:54 - 0.00074: 1: /home/e30165/public_html/store/index.php(209)
2013-12-25 16:13:54 - 0.00127: 1: /home/e30165/public_html/store/system/library/tax.php(62)
2013-12-25 16:13:54 - 0.00187: 1: /home/e30165/public_html/store/catalog/controller/common/footer.php(25)
2013-12-25 16:13:54 - 0.00220: 6: /home/e30165/public_html/store/catalog/controller/module/banner.php(13)
2013-12-25 16:13:54 - 0.00654: 1: /home/e30165/public_html/store/catalog/controller/module/category.php(32)
2013-12-25 16:13:54 - 0.01895: 20: /home/e30165/public_html/store/vqmod/vqcache/vq2-catalog_model_catalog_product.php(314)
2013-12-25 16:13:54 - 0.03617: 1: /home/e30165/public_html/store/catalog/controller/module/latest.php(23)
2013-12-25 16:13:54 - 0.27372: 17: /home/e30165/public_html/store/catalog/controller/module/category.php(35)
2013-12-25 16:13:54 - 1.64149: 115: /home/e30165/public_html/store/catalog/controller/common/header.php(123)
2013-12-25 16:13:54 - 1.69409: 115: /home/e30165/public_html/store/catalog/controller/module/category.php(47)
2013-12-25 16:13:54 - all_time: 3.68398; count_queries: 00293 /store/

Share this post


Link to post
Share on other sites

Ух-ты

2013-12-25 16:13:54 - 1.64149: 115: /home/e30165/public_html/store/catalog/controller/common/header.php(123)

2013-12-25 16:13:54 - 1.69409: 115: /home/e30165/public_html/store/catalog/controller/module/category.php(47)

Посмотреть бы их...

особенно header

  • +1 1

Share this post


Link to post
Share on other sites

header (начиная со 123 строки и до конца):

 

					$product_total = $this->model_catalog_product->getTotalProducts($data);
									
					$children_data[] = array(
						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	
					);						
				}
				
				// Level 1
				$this->data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'active'   => in_array($category['category_id'], $parts),
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}
		
		$this->children = array(
			'module/language',
			'module/currency',
			'module/cart'
		);
				
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
		} else {
			$this->template = 'default/template/common/header.tpl';
		}
		
    	$this->render();
	} 	
}
?>

category (начиная с 47 и до конца):

				$product_total = $this->model_catalog_product->getTotalProducts($data);

				$total += $product_total;

				$children_data[] = array(
					'category_id' => $child['category_id'],
					'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	
				);		
			}

			$this->data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $total . ')' : ''),
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
			);	
		}
		
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/category.tpl';
		} else {
			$this->template = 'default/template/module/category.tpl';
		}
		
		$this->render();
  	}

}
?>

Share this post


Link to post
Share on other sites

$product_total = $this->model_catalog_product->getTotalProducts($data);
$total += $product_total;

Вот пожалуйста)

Идёт подсчёт кол-ва товаров в категориях.

  • +1 1

Share this post


Link to post
Share on other sites

Закомментировал две строки (одну в хедере, вторую в категори) - и О, чудо!))

 

Выражаю величайшую благодарность всем, кто помог!)

Share this post


Link to post
Share on other sites

Закомментировал две строки (одну в хедере, вторую в категори) - и О, чудо!))

 

Выражаю величайшую благодарность всем, кто помог!)

вот это закомментируйте

$product_total = $this->model_catalog_product->getTotalProducts($data);

а это

$total += $product_total;

заменить на

$total = 0;
  • +1 1

Share this post


Link to post
Share on other sites

в ocstore_v1.5.5.1 отключается из админки

                    //Будем вычислять кол-во товаров в категориях только если это кол-во надо показывать                    if ($this->config->get('config_product_count')) {                        $data = array(                            'filter_category_id'  => $child['category_id'],                            'filter_sub_category' => true                        );                                                $product_total = $this->model_catalog_product->getTotalProducts($data);                    }                                                        $children_data[] = array(                        'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

Share this post


Link to post
Share on other sites

Подскажите, а вот такой лог после перехода по нескольким страницам - нормальный?)

 

2014-01-08 18:05:55 - --------------------
2014-01-08 18:05:55 - 0.07056 |    88 | /
2014-01-08 18:06:36 - --------------------
2014-01-08 18:06:37 - 0.24493 |    76 | /index.php?route=product/category&path=59
2014-01-08 18:06:40 - --------------------
2014-01-08 18:06:41 - 0.46447 |    88 | /
2014-01-08 18:06:44 - --------------------
2014-01-08 18:06:45 - 0.27953 |    75 | /index.php?route=product/category&path=62
2014-01-08 18:08:41 - --------------------
2014-01-08 18:08:42 - 0.09071 |    88 | /

или все же нужно что-то подправить?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.