DT33

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

Рекомендуемые сообщения

DT33    0

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

 

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

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

 

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

 

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

 

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    933

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

 

Круто...

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DT33    0

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    933

попробуйте вот это

https://opencartforum.com/files/file/786-db-log/

 

Помочь не поможет, но, возможно, проблему покажет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DT33    0

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

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/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    933

Ух-ты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DT33    0

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();
  	}

}
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
krumax    181

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
DT33    0

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
krumax    181

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

 

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

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

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

а это

$total += $product_total;

заменить на

$total = 0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 411

в 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 . ')' : ''),

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Serj1992    0

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

 

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 | /

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу