Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


DT33

Recommended Posts

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

 

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

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

 

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

 

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

 

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

 

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

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

Надіслати
Поділитися на інших сайтах


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

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

 

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

  • +1 1
Надіслати
Поділитися на інших сайтах

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

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/
Надіслати
Поділитися на інших сайтах


Ух-ты

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
Надіслати
Поділитися на інших сайтах

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

}
?>
Надіслати
Поділитися на інших сайтах


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

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах


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

 

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

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

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

а это

$total += $product_total;

заменить на

$total = 0;
  • +1 1
Надіслати
Поділитися на інших сайтах


в 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 . ')' : ''),
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

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

 

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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.