Jump to content

Recommended Posts

Posted (edited)

Ребят привет, нужна помощь, прошу не пинаться) я пока не силен в оптимизации БД, но очень интересно было бы разобраться самому.
На сервере где-то раз в месяц происходят скачки по нагрузке и кол-ву запросов. Последний был 27 числа, админка при этом пару раз отдавала 503 ошибку. Хостинг шлет предупреждения.

Есть лог запросов, но все, что пока понимаю, так это то, что основную нагрузку подбрасывают запросы из мегафильтра. Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать, или может вообще стоит хостинг сменить. Буду благодарен если направите в правильное русло)

сайт: nice-office.ru
хостинг: ihc.ru

Slow log:
 

Spoiler

БД: p275984_nice
Количество: 21982
Нагрузка: 223
SELECT * FROM `df_mfilter_url_alias` WHERE ( `path` = 'SSSofisnyj-sejfSSSru/ofisnyj-sejfSSS21o-tsvet[grafit]' AND `language_id` = NNN AND `store_id` = NNN


БД: p275984_nice
Количество: 17705
Нагрузка: 338
SELECT * FROM df_product_image pi LEFT JOIN df_product_image_by_option pito ON (pi.product_image_id = pito.product_image_id) WHERE pi.product_id = NNN AND pito.option_value_id IN(XXX...XXX) GROUP BY pi.image ORDER BY pi.sort_order ASC


БД: p275984_nice
Количество: 4002
Нагрузка: 50
SELECT * FROM `df_mfilter_url_alias` WHERE `language_id` = NNN AND `store_id` = NNN AND ( `path` = 'SSSmyagkie-ofisnye-kreslaSSSru/myagkie-ofisnye-kresla' )


БД: p275984_nice
Количество: 2914
Нагрузка: 27
SELECT * FROM `df_mfilter_url_alias` WHERE `alias` = SSS AND `language_id` = NNN AND `store_id` = NNN


БД: p275984_nice
Количество: 2190
Нагрузка: 4
SELECT * FROM `df_mfilter_values` WHERE `value_id` IN(XXX...XXX)


БД: p275984_nice
Количество: 1940
Нагрузка: 44
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 1688
Нагрузка: 39
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 1355
Нагрузка: 4
SELECT value_id, mfilter_value_id FROM df_mfilter_values WHERE seo_value LIKE SSS AND value_group_id=NNN


БД: p275984_nice
Количество: 1192
Нагрузка: 4
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) )


БД: p275984_nice
Количество: 1084
Нагрузка: 11
SELECT * FROM `df_setting` WHERE store_id = NNN OR store_id = NNN ORDER BY store_id ASC


БД: p275984_nice
Количество: 698
Нагрузка: 10
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 668
Нагрузка: 6
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 618
Нагрузка: 7
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` ,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 382
Нагрузка: 17
SELECT * FROM `df_mfilter_values` WHERE `type` = SSS AND `value` IN(XXX...XXX) AND ( `language_id` IS NULL OR `language_id` = NNN )


БД: p275984_nice
Количество: 357
Нагрузка: 8
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( -NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 119
Нагрузка: 1
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( -NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 119
Нагрузка: 1
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( -NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 117
Нагрузка: 3
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 106
Нагрузка: 21
SELECT * FROM `df_mfilter_url_alias` WHERE `meta_title` IS NOT NULL AND `meta_title` != '' AND `language_id` = NNN AND `store_id` = NNN


БД: p275984_nice
Количество: 88
Нагрузка: 2
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`manufacturer_id` IN(XXX...XXX) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 87
Нагрузка: 1
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` ,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( -NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 78
Нагрузка: 1
SELECT `option_value_id`, `option_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pov`.`option_value_id`,`pov`.`option_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_option_value` AS `pov` ON `pov`.`product_id` = `p`.`product_id` INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `option_id`, `option_value_id`


БД: p275984_nice
Количество: 69
Нагрузка: 3
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 64
Нагрузка: 3
SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `text`, `attribute_id`


БД: p275984_nice
Количество: 46
Нагрузка: 1
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 39
Нагрузка: 1
SELECT COUNT(DISTINCT p.product_id) AS total FROM df_product p LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = NNN AND p.quantity = NNN


БД: p275984_nice
Количество: 36
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `manufacturer_id` FROM( SELECT `p`.`manufacturer_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `manufacturer_id`


БД: p275984_nice
Количество: 35
Нагрузка: 1
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`manufacturer_id` IN(XXX...XXX) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 32
Нагрузка: 0
SELECT * FROM `df_mfilter_url_alias` WHERE `mfp` = SSS AND `language_id` = NNN AND `store_id` = NNN AND ( `path` = 'SSS' ) LIMIT NNN


БД: p275984_nice
Количество: 30
Нагрузка: 5
SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM df_review r1 WHERE r1.product_id = ps.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating FROM df_product_special ps LEFT JOIN df_product p ON (ps.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) GROUP BY ps.product_id ORDER BY p.sort_order ASC, LCASE(pd.name) ASC LIMIT NNN,NNN


БД: p275984_nice
Количество: 30
Нагрузка: 2
SELECT COUNT(DISTINCT ps.product_id) AS total FROM df_product_special ps LEFT JOIN df_product p ON (ps.product_id = p.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW()))


БД: p275984_nice
Количество: 29
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`manufacturer_id` IN(XXX...XXX) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 29
Нагрузка: 0
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`manufacturer_id` IN(XXX...XXX) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 28
Нагрузка: 5
SELECT * FROM `df_mfilter_url_alias` WHERE `store_id` = NNN


БД: p275984_nice
Количество: 26
Нагрузка: 1
SELECT LOWER(`keyword`) as SSS, `query` FROM df_url_alias ORDER BY url_alias_id


БД: p275984_nice
Количество: 23
Нагрузка: 0
SELECT `option_value_id`, `option_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pov`.`option_value_id`,`pov`.`option_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_option_value` AS `pov` ON `pov`.`product_id` = `p`.`product_id` INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` WHERE `tmp`.`option_value_id` NOT IN(XXX...XXX) GROUP BY `option_id`, `option_value_id`


БД: p275984_nice
Количество: 23
Нагрузка: 0
SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `text`, `attribute_id`


БД: p275984_nice
Количество: 21
Нагрузка: 0
SELECT op.product_id, SUM(op.quantity) AS total FROM df_order_product op LEFT JOIN `df_order` o ON (op.order_id = o.order_id) LEFT JOIN `df_product` p ON (op.product_id = p.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN GROUP BY op.product_id ORDER BY total DESC LIMIT NNN


БД: p275984_nice
Количество: 20
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `manufacturer_id` FROM( SELECT `p`.`manufacturer_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `manufacturer_id`


БД: p275984_nice
Количество: 19
Нагрузка: 0
SELECT COUNT(*) FROM `p275984_nice`.`df_product_image_by_option`


БД: p275984_nice
Количество: 12
Нагрузка: 113
SELECT p.*, pd.name, pd.description, m.name AS manufacturer, p2c.category_id, p.price AS price, ps.price AS special, wcd.unit AS weight_unit, GROUP_CONCAT(DISTINCT CAST(pr.related_id AS CHAR) SEPARATOR SSS) AS rel FROM df_product p JOIN df_product_to_category AS p2c ON (p.product_id = p2c.product_id) LEFT JOIN df_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN df_product_special ps ON (p.product_id = ps.product_id) AND ps.customer_group_id = NNN AND ps.date_start < NOW() AND (ps.date_end = SSS OR ps.date_end > NOW()) LEFT JOIN df_weight_class_description wcd ON (p.weight_class_id = wcd.weight_class_id) AND wcd.language_id=NNN LEFT JOIN df_product_related pr ON (p.product_id = pr.product_id AND p.date_available <= NOW() AND p.status = NNN) WHERE p2s.store_id = NNN AND p2c.category_id IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN GROUP BY p.product_id


БД: p275984_nice
Количество: 10
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`height` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`height` > NNN AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 10
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`width` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`width` > NNN AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 10
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`length` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`length` > NNN AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 6
Нагрузка: 0
SELECT * FROM(SELECT p.product_id,( IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) * NNN) AS `mf_price`, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` WHERE ( `mf_price` > NNN AND `mf_price` < NNN) LIMIT NNN,NNN


БД: p275984_nice
Количество: 5
Нагрузка: 0
SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR SSS) AS name, c1.parent_id, c1.sort_order, c1.status,(select count(product_id) as product_count from df_product_to_category pc where pc.category_id = c1.category_id) as product_count FROM df_category_path cp LEFT JOIN df_category c1 ON (cp.category_id = c1.category_id) LEFT JOIN df_category c2 ON (cp.path_id = c2.category_id) LEFT JOIN df_category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN df_category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = NNN AND cd2.language_id = NNN GROUP BY cp.category_id ORDER BY name ASC


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT * FROM df_option_value ov LEFT JOIN df_option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE ov.option_id = NNN AND ovd.language_id = NNN ORDER BY ov.sort_order, ovd.name


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT * FROM df_product_image_by_option WHERE product_id = NNN AND product_image_id = NNN


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT * FROM df_zone WHERE country_id = NNN AND status = NNN ORDER BY name


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` ,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 4
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 3
Нагрузка: 0
SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR SSS) AS name, c1.parent_id, c1.sort_order, c1.status,(select count(product_id) as product_count from df_product_to_category pc where pc.category_id = c1.category_id) as product_count FROM df_category_path cp LEFT JOIN df_category c1 ON (cp.category_id = c1.category_id) LEFT JOIN df_category c2 ON (cp.path_id = c2.category_id) LEFT JOIN df_category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN df_category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = NNN AND cd2.language_id = NNN GROUP BY cp.category_id ORDER BY sort_order ASC


БД: p275984_nice
Количество: 3
Нагрузка: 0
SELECT COUNT(*) AS `c` FROM `df_mfilter_url_alias` WHERE `language_id`=NNN AND `store_id`=NNN


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) )


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 2
Нагрузка: 1
SELECT * FROM df_product p LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) WHERE pd.language_id = NNN GROUP BY p.product_id ORDER BY pd.name ASC LIMIT NNN,NNN


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id`,( IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) * NNN) AS `mf_price` FROM df_category_path cp LEFT JOIN df_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `cp`.`path_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `cp`.`path_id` IN(XXX...XXX)) AS `tmp` WHERE ( `mf_price` > NNN AND `mf_price` < NNN)


БД: p275984_nice
Количество: 2
Нагрузка: 0
DELETE FROM df_product_image_by_option WHERE product_id = NNN


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id`,( IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) * NNN) AS `mf_price` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp` WHERE ( `mf_price` > NNN AND `mf_price` < NNN)


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT `option_value_id`, `option_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pov`.`option_value_id`,`pov`.`option_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_option_value` AS `pov` ON `pov`.`product_id` = `p`.`product_id` INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` WHERE `tmp`.`option_value_id` NOT IN(XXX...XXX) GROUP BY `option_id`, `option_value_id`


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` ,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 2
Нагрузка: 0
DELETE FROM df_product_related WHERE related_id = NNN


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `manufacturer_id` FROM( SELECT `p`.`manufacturer_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `manufacturer_id`


БД: p275984_nice
Количество: 2
Нагрузка: 0
SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `text`, `attribute_id`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM(SELECT p.product_id, (SELECT AVG(rating) AS total FROM df_review r1 WHERE r1.product_id = p.product_id AND r1.status = NNN GROUP BY r1.product_id) AS rating, (SELECT price FROM df_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = NNN AND pd2.quantity = NNN AND ((pd2.date_start = SSS OR pd2.date_start < NOW()) AND (pd2.date_end = SSS OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT NNN) AS discount, (SELECT price FROM df_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = NNN AND ((ps.date_start = SSS OR ps.date_start < NOW()) AND (ps.date_end = SSS OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT NNN) AS special FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX) GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC) AS `tmp` LIMIT NNN,NNN


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `zone_id`, `country_id`, `name`, `code`, `status` FROM `p275984_nice`.`df_zone`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `url_alias_id`, `query`, `keyword` FROM `p275984_nice`.`df_url_alias`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`width` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`width` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 1
SELECT `product_id`, `language_id`, `name`, `description`, `tag`, `meta_title`, `meta_h1`, `meta_description`, `meta_keyword` FROM `p275984_nice`.`df_product_description`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`length` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`length` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `option_value_id`, `option_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pov`.`option_value_id`,`pov`.`option_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_option_value` AS `pov` ON `pov`.`product_id` = `p`.`product_id` INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`manufacturer_id` IN(XXX...XXX) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `option_id`, `option_value_id`


БД: p275984_nice
Количество: 1
Нагрузка: 1
SELECT `product_option_value_id`, `product_option_id`, `product_id`, `option_id`, `option_value_id`, `quantity`, `subtract`, `price`, `price_prefix`, `points`, `points_prefix`, `weight`, `weight_prefix`, `optsku` FROM `p275984_nice`.`df_product_option_value`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_id`, `product_image_id`, `option_value_id` FROM `p275984_nice`.`df_product_image_by_option`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `pointer_id`, `related_id`, `pointer` FROM `p275984_nice`.`df_record_related`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `mfilter_url_alias_id`, `path`, `mfp`, `alias`, `language_id`, `store_id`, `meta_title`, `meta_description`, `meta_keyword`, `description`, `h1` FROM `p275984_nice`.`df_mfilter_url_alias`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`manufacturer_id` IN(XXX...XXX) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `text`, `attribute_id`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`width` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`width` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_id`, `store_id`, `layout_id` FROM `p275984_nice`.`df_product_to_layout`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_special_id`, `product_id`, `customer_group_id`, `priority`, `price`, `date_start`, `date_end` FROM `p275984_nice`.`df_product_special`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`length` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`length` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `mfilter_value_id`, `type`, `value`, `seo_value`, `value_id`, `value_group_id`, `language_id` FROM `p275984_nice`.`df_mfilter_values`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_id`, `model`, `product_shipping`, `product_payment`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `product_stickers`, `mfilter_values`, `mfilter_tags` FROM `p275984_nice`.`df_product`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total` FROM(SELECT DISTINCT `p`.`product_id` FROM df_product_to_category p2c LEFT JOIN df_product p ON (p2c.product_id = p.product_id) LEFT JOIN df_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN df_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) AND pd.language_id = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND `p2c`.`category_id` IN(XXX...XXX)) AS `tmp`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `customer_login_id`, `email`, `ip`, `total`, `date_added`, `date_modified` FROM `p275984_nice`.`df_customer_login`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) )


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT MIN(`price`) AS `p_min`, MAX(`price`) AS `p_max` FROM( SELECT `price_tmp` AS `price` FROM( SELECT IFNULL( ( SELECT `price` FROM `df_product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = NNN AND ((`ps`.`date_start` = SSS OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = SSS OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT NNN ), IFNULL( ( SELECT `price` FROM `df_product_discount` AS `pd2` WHERE `pd2`.`product_id` = `p`.`product_id` AND `pd2`.`customer_group_id` = NNN AND `pd2`.`quantity` >= NNN AND ((`pd2`.`date_start` = SSS OR `pd2`.`date_start` < NOW()) AND (`pd2`.`date_end` = SSS OR `pd2`.`date_end` > NOW())) ORDER BY `pd2`.`priority` ASC, `pd2`.`price` ASC LIMIT NNN ), `p`.`price` ) ) AS `price_tmp` ,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` ) AS `tmp`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `option_value_id`, `option_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pov`.`option_value_id`,`pov`.`option_id`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_option_value` AS `pov` ON `pov`.`product_id` = `p`.`product_id` INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `option_id`, `option_value_id`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_id`, `category_id`, `main_category` FROM `p275984_nice`.`df_product_to_category`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`height` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`height` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_id`, `attribute_id`, `language_id`, `text` FROM `p275984_nice`.`df_product_attribute`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) ) OR `value_id` IN(XXX...XXX)


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `mfilter_tag_id`, `tag` FROM `p275984_nice`.`df_mfilter_tags`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_product_attribute` LIMIT NNN, NNN


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_image_id`, `product_id`, `image`, `sort_order` FROM `p275984_nice`.`df_product_image`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND (FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` WHERE `tmp`.`attribute_id` NOT IN(XXX...XXX) GROUP BY `text`, `attribute_id`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_mfilter_url_alias` WHERE `alias` = SSS AND `language_id` = NNN AND `path` = '' AND `store_id` = NNN


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) )


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT * FROM `df_mfilter_values` WHERE ( `value` IN(XXX...XXX) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) OR ( `seo_value` = SSS AND ( `language_id` = NNN OR `language_id` IS NULL ) ) )


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `product_option_id`, `product_id`, `option_id`, `value`, `required` FROM `p275984_nice`.`df_product_option`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT COUNT(DISTINCT `product_id`) AS `total`, `field` FROM( SELECT ROUND( `p`.`height` / ( SELECT `value` FROM `df_length_class` WHERE `length_class_id` = `p`.`length_class_id` LIMIT NNN ), NNN ) AS `field`,`p`.`product_id` FROM `df_product` AS `p` INNER JOIN `df_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p`.`height` > NNN AND (FIND_IN_SET( NNN, `p`.`mfilter_values` ) OR FIND_IN_SET( NNN, `p`.`mfilter_values` )) AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `field`


БД: p275984_nice
Количество: 1
Нагрузка: 0
SELECT `relatedoptions_id`, `product_id`, `option_id`, `option_value_id` FROM `p275984_nice`.`df_relatedoptions_option`

 

Нагрузка.jpg

Edited by perebor

Share this post


Link to post
Share on other sites

на картинке не лог, а какая то картинна пикассо.

Share this post


Link to post
Share on other sites
10 minutes ago, nikifalex said:

на картинке не лог, а какая то картинна пикассо.

лог в спойлере

Share this post


Link to post
Share on other sites

Сколько товаров ?

Share this post


Link to post
Share on other sites

Часть запросов которые вы показали - не очень шибко то поддаются оптимизации.
Например вот этот...

 

SELECT REPLACE(REPLACE(`text`, SSS, 'SSS SSS') AS `text`, `attribute_id`, COUNT( DISTINCT `tmp`.`product_id` ) AS `total` FROM( SELECT `pa`.`attribute_id`,`p`.`product_id`,`pa`.`text` FROM `df_product` AS `p` INNER JOIN `df_product_attribute` AS `pa` ON `pa`.`product_id` = `p`.`product_id` AND `pa`.`language_id` = NNN INNER JOIN `df_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = NNN INNER JOIN `df_product_to_category` AS `p2c` ON `p2c`.`product_id` = `p`.`product_id` WHERE `p`.`status` = NNN AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(XXX...XXX) ) AS `tmp` GROUP BY `text`, `attribute_id` 

Связано это с особенностями работы оптимизатора mysql с индексами на JOIN выборках, а также невозможностью быстрой работы mysql с полнотекстовыми данными. Здесь конкретно группировка по текстовому полю значений атрибутов - и это НЕ ОПТИМИЗИРУЕТСЯ простыми методами, типа индексов наставили и полетело.

Если у вас подобные всплески происходят нерегулярно - лучше попробуйте найти что их вызывает - это могут быть паразитные боты к примеру, и попробуйте от них избавится.

  • +1 1

Share this post


Link to post
Share on other sites
30 minutes ago, legioner26 said:

Сколько товаров ?

6790 товаров и 96 категорий

Share this post


Link to post
Share on other sites
32 minutes ago, snastik said:

Если у вас подобные всплески происходят нерегулярно - лучше попробуйте найти что их вызывает - это могут быть паразитные боты к примеру, и попробуйте от них избавится.


Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать?

Share this post


Link to post
Share on other sites
2 минуты назад, perebor сказал:


Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать?

поиск в исходниках файлов этих запросов. если конечно эта часть кода не зашифрована.

Если зашифрована то методы чуть другие.

Ну а потом наседать на авторов модулей с этими вопросами.

ну еще смотреть в access_log что в это время на сервере происходит.

Этими вопросами вы можете напрячь грамотного сисадмина. Ну если найдете его.

Share this post


Link to post
Share on other sites
4 minutes ago, nikifalex said:

Ну а потом наседать на авторов модулей с этими вопросами.


К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(...

Share this post


Link to post
Share on other sites
Posted (edited)

Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки.

Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain.

 

Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100.

1 hour ago, perebor said:

Количество: 21982
Нагрузка: 223
SELECT * FROM `df_mfilter_url_alias` WHERE ( `path` = 'SSSofisnyj-sejfSSSru/ofisnyj-sejfSSS21o-tsvet[grafit]' AND `language_id` = NNN AND `store_id` = NNN 

1 hour ago, perebor said:

БД: p275984_nice
Количество: 4002
Нагрузка: 50
SELECT * FROM `df_mfilter_url_alias` WHERE `language_id` = NNN AND `store_id` = NNN AND ( `path` = 'SSSmyagkie-ofisnye-kreslaSSSru/myagkie-ofisnye-kresla' )

 

2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики.

1 hour ago, perebor said:

Количество: 17705
Нагрузка: 338
SELECT * FROM df_product_image pi LEFT JOIN df_product_image_by_option pito ON (pi.product_image_id = pito.product_image_id) WHERE pi.product_id = NNN AND pito.option_value_id IN(XXX...XXX) GROUP BY pi.image ORDER BY pi.sort_order ASC

 

 

что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера

Edited by 100napb

Share this post


Link to post
Share on other sites
2 часа назад, perebor сказал:


К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(...

Ну фильтр дорогой сам по себе. Я его не юзаю.

Share this post


Link to post
Share on other sites
2 часа назад, 100napb сказал:

Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки.

Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain.

 

Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100.

 

2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики.

 

 

что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера

Вы сейчас показали себя как супер профессионал!

Можно я стану в очередь за решениями?

Что значит нет нужды оптимизировать запросы?

 

Как жить человеку  в ситуации, если у него паттерн трафика с 50% обращений в фильтры?

Не оптимизировать? Да?

 

Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки?

 

Зачем давать советы в том, в чем вы не разбираетесь?

3 часа назад, perebor сказал:


Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать?

Смотрите логи! Анализируйте юзер агенты, частоту заходов.

Share this post


Link to post
Share on other sites
1 hour ago, snastik said:

.

Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер.

Spoiler

Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных.

 

Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно...

 

Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно.

 

  • +1 1

Share this post


Link to post
Share on other sites
10 минут назад, 100napb сказал:

Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер.

  Скрыть контент

Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных.

 

Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно...

 

Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно.

 

 

Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы".
Если бы да кабы. Во рту выросли грибы.
У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc....

 

Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы.

Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна!

Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны.

 

 

Share this post


Link to post
Share on other sites
On 5/30/2019 at 3:01 PM, 100napb said:

что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера


Это не внутренняя нагрузка, 27 числа на сайте масштабных работ не проводилось, парсингом не балуемся, кроном не пользуемся...
 

 

On 5/30/2019 at 5:54 PM, snastik said:

Смотрите логи! Анализируйте юзер агенты, частоту заходов.


Ребят, заглянул я в access.log, согласно данным хостера, 27 числа повышение нагрузки было где-то в районе с 10.00 до 14.00 и исходя из логов в этот период времени сайт бомбил непонятный ip 91.216.114.201 (от него в несколько раз больше заходов чем от остальных), подскажите, что дальше предпринять?

Часть_access_log.txt

Share this post


Link to post
Share on other sites
28 минут назад, perebor сказал:


Это не внутренняя нагрузка, 27 числа на сайте масштабных работ не проводилось, парсингом не балуемся, кроном не пользуемся...
 

 


Ребят, заглянул я в access.log, согласно данным хостера, 27 числа повышение нагрузки было где-то в районе с 10.00 до 14.00 и исходя из логов в этот период времени сайт бомбил непонятный ip 91.216.114.201 (от него в несколько раз больше заходов чем от остальных), подскажите, что дальше предпринять?

Часть_access_log.txt 13 \u041c\u0411 · 1 download

 

 

Что и требовалось доказать. Вместо бессмысленных дискуссий с гениями ночного кода, достаточно было всего навсего надо было найти причину.
Судя по всему на 99% - это какой-то парсинг от конкурентов.

 

Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи.

А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить.
 

Share this post


Link to post
Share on other sites
On 6/1/2019 at 1:01 AM, snastik said:

 

 

Что и требовалось доказать. Вместо бессмысленных дискуссий с гениями ночного кода, достаточно было всего навсего надо было найти причину.
Судя по всему на 99% - это какой-то парсинг от конкурентов.

 

Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи.

А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить.
 


Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы?

Share this post


Link to post
Share on other sites
В 02.06.2019 в 11:38, perebor сказал:


Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? 

 

Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег!

Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще?

DDOS обычно выглядит по другому.

 

Share this post


Link to post
Share on other sites
On 6/1/2019 at 1:01 AM, snastik said:

Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи.


У нас litespeed

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.


  • Similar Content

    • By sitecreator
      Добавляет суперсжатие JPEG, PNG и watermark для модуля
      SEO CMS TOP 2: Блог | Новости | Отзывы | Галерея | Формы
      (разработчик markimax )
       
      Данный модуль не является самостоятельным дополнением и требует наличия установленного модуля
      Image Compressor & Watermark (Супер-сжатие картинок JPEG, PNG и "водяной знак")
      (разработчик sitecreator )
       
      Т. е. данный модуль расширяет возможности указанных выше модулей.
       
      Поскольку SEO CMS не использует (или использует ограниченно) модели image и системную библиотеку движка, то БЫЛО невозможно наложение watermark и применение суперсжатия к изображениям, создаваемым  SEO CMS.
      Теперь таких ограничений нет благодаря данному дополнению.
       
      Адаптивный ресайз, выставляемый в настройках SEO CMS работает,  данные настройки имеют более высокий приоритет чем настройка адаптивной обрезки (ресайза) в модуле "Компрессор изображений".
       
      Установка выполняется через обычный установщик дополнений ocmod в админке сайта.
       
      1.1.0
      Добавлены возможности для изображений, которые вставляются в редакторе записей (статей) прямой ссылкой, т. е. для источников:
       
      наложение watermark суперсжатие возможно скрытие оригинала (в браузере он и так не отображается) от скачивания продвинутыми парсерами (хоть роботами, хоть людьми). все изменения с исходниками обратимы (смена водяного знака, изменение уровня качества),  сам исходник никак не страдает. 1.1.1
      Используйте эту версию (файл seo_cms_mod_for_compressor_by_sitecreator_111.ocmod.zip) только если  у вас версия модуля  Image Compressor by sitecreator  1.6.*  или более новая.
      Для Image Compressor by sitecreator  1.5.* и более ранних используйте файл seo_cms_mod_for_compressor_by_sitecreator_110.ocmod.zip
       
      1.2.1
      Для seo cms 52+ используйте:
       
      sitecreator_1.2.2.seo_cms_52.ocmod.xml
      Тут максимальная поддержка, включая галереи и всплывающие изображения в записях.
      Вы просто работаете в редакторе как обычно - вставляете в ваши статьи картинки-оригиналы  и ни о чем не заботитесь.
      Суперсжатие и водяной знак будут применены автоматически к таким изображениям.
       
      Т. е. на данный момент только загруженные со сторонних сайтов изображения будут без водяного знака и без суперсжатия.
      Думаю, что понятно почему - они же не на вашем сервере.
       
      Модуль может работать с движком версии 1.5.*
      Для этого необходимо сделать изменения в коде, которые прописаны в ocmod для 2.* версии движка.  Изменения для движка 1.5.* точно такие же как и для движка 2.*.
      Немного позже сделаю vqmod для движка 1.5.* (он собственно полностью аналогичен ocmod-у ).  А пока можно сделать изменения вручную.
       
      =======================
      Господа, на новой версии SEO CMS (52) работоспособность обеспечена.
       
       
    • By sitecreator
      990.00 руб · Срок продления: 390.00 руб за 6 месяцев
      Скачать/Купить дополнение


      SEO CMS mod for Image Compressor & Watermark
      Добавляет суперсжатие JPEG, PNG и watermark для модуля
      SEO CMS TOP 2: Блог | Новости | Отзывы | Галерея | Формы
      (разработчик markimax )
       
      Данный модуль не является самостоятельным дополнением и требует наличия установленного модуля
      Image Compressor & Watermark (Супер-сжатие картинок JPEG, PNG и "водяной знак")
      (разработчик sitecreator )
       
      Т. е. данный модуль расширяет возможности указанных выше модулей.
       
      Поскольку SEO CMS не использует (или использует ограниченно) модели image и системную библиотеку движка, то БЫЛО невозможно наложение watermark и применение суперсжатия к изображениям, создаваемым  SEO CMS.
      Теперь таких ограничений нет благодаря данному дополнению.
       
      Адаптивный ресайз, выставляемый в настройках SEO CMS работает,  данные настройки имеют более высокий приоритет чем настройка адаптивной обрезки (ресайза) в модуле "Компрессор изображений".
       
      Установка выполняется через обычный установщик дополнений ocmod в админке сайта.
       
      1.1.0
      Добавлены возможности для изображений, которые вставляются в редакторе записей (статей) прямой ссылкой, т. е. для источников:
       
      наложение watermark суперсжатие возможно скрытие оригинала (в браузере он и так не отображается) от скачивания продвинутыми парсерами (хоть роботами, хоть людьми). все изменения с исходниками обратимы (смена водяного знака, изменение уровня качества),  сам исходник никак не страдает. 1.1.1
      Используйте эту версию (файл seo_cms_mod_for_compressor_by_sitecreator_111.ocmod.zip) только если  у вас версия модуля  Image Compressor by sitecreator  1.6.*  или более новая.
      Для Image Compressor by sitecreator  1.5.* и более ранних используйте файл seo_cms_mod_for_compressor_by_sitecreator_110.ocmod.zip
       
      1.2.1
      Для seo cms 52+ используйте:
       
      sitecreator_1.2.2.seo_cms_52.ocmod.xml
      Тут максимальная поддержка, включая галереи и всплывающие изображения в записях.
      Вы просто работаете в редакторе как обычно - вставляете в ваши статьи картинки-оригиналы  и ни о чем не заботитесь.
      Суперсжатие и водяной знак будут применены автоматически к таким изображениям.
       
      Т. е. на данный момент только загруженные со сторонних сайтов изображения будут без водяного знака и без суперсжатия.
      Думаю, что понятно почему - они же не на вашем сервере.
       
      Модуль может работать с движком версии 1.5.*
      Для этого необходимо сделать изменения в коде, которые прописаны в ocmod для 2.* версии движка.  Изменения для движка 1.5.* точно такие же как и для движка 2.*.
      Немного позже сделаю vqmod для движка 1.5.* (он собственно полностью аналогичен ocmod-у ).  А пока можно сделать изменения вручную.
       
      =======================
      Господа, на новой версии SEO CMS (52) работоспособность обеспечена.
       
       
      Добавил sitecreator Добавлено 18.10.2017 Категория Кэширование, сжатие, ускорение Системные требования 1) SEO CMS, 2) Image Compressor & Watermark Сайт разработчика https://sitecreator.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By sitecreator
      1 890.00 руб
      Скачать/Купить дополнение


      Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator
      WEBP работает везде просто и надежно !
      Никакой зависимости от хостера в плане создания и вывода WEBP! Работает WEBP везде без всяких условий!   Не надо спрашивать будет ли работать на вашем хостинге WEBP. Ответ простой - у вас будет WEBP! В данном решении предусмотрено практически все, включая полную совместимость с ускорителями Jet Cache, Turbo.
      WEBP (сжатый формат графики) можно теперь получить практически у любого хостера.
      Не имеет значения есть ли поддержка WEBP у вашего хостера или нет.
      Такая поддержка WEBP встроена в модуль Компрессор и работает на любой Linux и Windows.
       
      Поддерживается любой современный браузер, способный отображать WEBP.
       
      Благодаря современному формату изображений WEBP удается снизить общий вес изображений в среднем в 2-3 раза на странице, и тем самым выполнить рекомендации Гугла.
       

       
       
      Мастерам большие СКИДКИ! Оптимизация (сжатие) изображений - Гугл PageSpeed одобряет.
      Теперь настоящий комбайн для работы с изображениями.  Управление белыми полями изображений, фоном, размером, обрезкой картинок, отдельное управление изображениями для яндекс-маркета и т.д.
      Индивидуальные настройки для групп изображений ("всплывающие", "thumb-миниатюры").
      "Компрессор" (Image Compressor) обеспечит максимальное сжатие изображений Opencart на обычном хостинге (функция proc_open php нужна для работы mozjpeg, optipng; но создание WEBP в режиме "по расписанию" не требует ее наличия в php, на котором работает ваш сайт)  и всегда на VDS.   Нужные функции (proc_open) вы можете сами включать даже на обычном хостинге (некоторые это позволяют, но не все хостеры - см. ниже).
      Установка софта для сжатия изображений Опенкарт (mozjpeg и  optiPNG, WEBP) полностью автоматизирована в два клика на обычный хостинг и VDS (не требует знаний Linux).
       
      Вся магия здесь:
       

       
      Для разработчиков и веб-мастеров, устанавливающих модуль своим заказчикам действует особая (низкая) цена
       
      Демо 2 (клиентская часть): http://watermark.sitecreator.pro
      Демо 2 (админка): http://watermark.sitecreator.pro/admin/index.php?route=extension/module/watermark_by_sitecreator
       
      Демо 1.5 (клиентская часть): http://watermark15.sitecreator.pro
      Демо 1.5 (админка): http://watermark15.sitecreator.pro/admin/index.php?route=module/watermark_by_sitecreator
       
      пользователь: DEMO
      пароль: DEMO
       
      совместим со всеми сборками версий движков Opencart (ocstore, opencart.pro, русская сборка и т. д.) 1.5 и 2+ (2.0, 2.1, 2.2, 2.3)
      Файлы движка не заменяются (используется vqmod или ocmod для соответствующих веток движка)
      Для Opencart 3.0  версия здесь: https://opencartforum.com/files/file/6148-kompressor-izobrazheniy-watermark-bonusy-dlya-opencart-30/
       

       
      Модуль Сжатия Изображений Opencart по максимуму использует возможности imagick (если установлен), что уже позволяет получить лучшие по качеству и размеру изображения.  Кроме того, в отличие от дефолтного GD использование imagick позволяет уменьшить размер файла за счет очистки изображения от ненужной информации.
       
      Как избежать тормозов во время создания сжатых изображений?

      При обновлении до версии 1.12.6+ нужно проявить внимание! Внедрена защита "от дурака".
       
       
      Максимум настроек водяного знака Opencart (watermark): его позиция, поворот, прозрачность водяного знака и т. д.
      Можно настроить ограничение (запретить применять) для водяного знака как по имени файла/папок, так и по  размерам.
      Также можно добавить к имени файла nowatermark , и на данное изображение водяной знак не будет накладываться.
      Адаптивный ресайз (resize, обрезка) изображения.
       
       
      Вот так работает WEBP Lazy Load модуля Компрессор.
      Гугл одобряет!
       

       
       
      Как включить нужную для максимального сжатия функцию?
       
       
       
       
      Основной функционал модуля - это добавление водяного знака на изображения и другие настройки изображения (ресайз, белые поля и фон, и т. д. ).  Как бонус - это использование автоматического  супер-сжатия изображений. Но для многих сжатие изображений в Opencart - это самый важный функционал.
      С версии 1.1.0 получаете максимальное сжатие для JPEG, PNG благодаря еще поддержке WebP. 
      Использование WebP задумывалось как компромиссное решение когда нет возможности использовать mozjpeg.  А mozjpeg сейчас удалось установить практически везде.
       
      Проверенные хостеры, которые поддерживают mozjpeg, OptiPNG,   WebP , т. е. возможно суперсжатие в полной мере.
      Это не означает, что другие не поддерживают, просто тут устанавливали уже  модуль и мне о названии хостера  сообщил заказчик.
      В зоне RU  99.9% хостеров обеспечат максимальное сжатие, в зоне UA показатель поменьше - на уровне 90...95%
      Информация по части WEBP является устаревшей, т.к. этот формат с версии 1.16 возможно создавать практически везде в режиме "по расписанию" (cron).
       
       
      Совместим с Opencart, Ocstore, opencart.pro и сборок версии 1.5.* и 2+ (2.0, 2.1, 2.2, 2.3)
      требования: php 5.6+ (рекомендуемый минимум - это 5.6; 7.0, 7.1, 7.2)   Версию php у хостера вы можете изменить самостоятельно через панель управления. 
      Ioncube Loader  (крайне рекомендуется 10+)
      Касательно версии php.  Рекомендованный минимум (5.6) есть у любого хостера и на этой версии работает любой движок Opencart.
      Ioncube loader 10+ есть сейчас, как минимум, у 99% хостеров (у всех нормальных), и все меньше остается нерадивых хостеров, которые не могут обновить старую версию Ioncube loader 6 (2-х летней давности).
      Просьба учесть, что при минимальных требованиях модуль работать будет, но не все функции могут быть доступны.  Не вижу смысла поддерживать совместимость с допотопным серверным софтом в ущерб развитию модуля.
       
       
      Модуль совместим с ускорителями/кешерами Jet Cache и Turbo и, скорее всего, с остальными.
      Модуль не заменяет файлы , используется ocmod для движка 2.*,  аналогично в движке 1.5.* используется vqmod с 1.5.1 версии модуля. 
      Просьба обратить внимание до установки модуля на то, не изменен ли код напрямую (или за счет модификаторов) в файлах:
       
      system/image.php, catalog/tool/image.php, admin/tool/image.php.
       
      Не гарантируется нормальная работа если у вас в движке были сделаны прямые (или за счет модификаторов) изменения кода указанных выше файлов.
      Желательно чтобы эти файлы были такими же как в дистрибутиве движка.  Но даже в случае их изменения редко когда возникают проблемы, и они решаемые (обращайтесь к автору).
       
      Пожалуйста, лицензию запрашивайте, написав мне на почту или в личку.
       
      Пояснение к лицензированию.
      Лицензия предоставляется для одного домена.
      Приобретая модуль вы соглашаетесь с принципом лицензирования. 
       
      Подробно о лицензировании читайте здесь.
       
      Супер-сжатие выполняется согласно рекомендациям Гугла PageSpeed Insights и позволяет добиться снижения размера файлов изображений и, как следствие, уменьшения трафика.
      Google  PageSpeed Insights благодаря этому дает более высокую оценку вашему сайту в баллах.
       
      mozjpeg, optipng необязателен к установке, это лишь рекомендация для достижения максимального сжатия.
      Процесс установки этого софта сводится к нажатию двух кнопок в модуле.
      Это работает как на обычном хостинге, так и на VDS.
       
      Самая распространенная "ошибка" после установки.
       
       
       
       
       
      Инструкция для самостоятельной сборки серверного софта оставлена для любознательных. Не нужно ее пугаться и не нужно повторять все эти действия.
      Модуль Компрессор уже содержит средства диагностики и вывода информации.  Пользуйтесь ими (вкладка "сервис").
       
       
      Инструкция по установке дополнительного софта для WINDOWS :
      (для локальной машины разработчика, например. ).
       
       
       
      Установку модуля "Сжатие изображений плюс водяной знак" осуществляет покупатель самостоятельно или его доверенное лицо.
       

       
       

       

       
       
      Модуль умеет накладывать водяной знак и сжимать изображения, которые вставлены по прямым ссылкам в описании товара.  Данная возможность предоставлена в качестве бонуса, но не как обязательная часть, на некоторых шаблонах редко возможна несовместимость (не будет работать) с данной функцией (может потребоваться адаптация) поскольку шаблон может кардинально изменить существующий контроллер. Для SEO CMS есть отдельное решение.
       
       
      Модуль умеет оптимизировать (сжимать) все изображения ваших шаблонов и логотип сайта.  Это в дополнение к сжатию всех изображений, проходящих через движок (картинки товаров, категорий, баннеры и т. д. и т. п.)
       

       
       
       
      Для SEO CMS сделано решение, позволяющее также использовать супер-сжатие по максимуму и водяной знак в этом модуле.  Сделано как отдельное дополнение к модулям "Компрессор" (Image Compressor) и SEO CMS.  Такое решение обусловлено тем, что указанный модуль использует свою библиотеку  и модели для работы с изображениями.
      Сжаты будут даже отображаемые оригиналы, вставленные по прямым ссылкам в статьях.  И на оригиналы можно накладывать водяной знак и защищать их от кражи.
      Любые изменения с оригиналами обратимы. Например, можно менять водяной знак.
       
      Решение здесь: SEO CMS mod for Image Compressor & Watermark
       
       
       
      Решение по работе с фоном исходных изображений здесь:
      Можно обрезать, добавлять фон, делать аккуратные рамки цветом фона.
      Данное решение реализовано как плагин к модулю "Компрессор", т. е. все настройки делаются в модуле "Компрессор".
       
       
      Совместимость со специфическими модулями и модификаторами, 
      (затрагивающими системную библиотеку и модель image.php)
       
       
      ПОДДЕРЖКА от автора модуля:

       
       
      Самодиагностика и вывод полезной информации - это первое средство если у вас "ничего не работает".
       

      Если у вас "не сжимает".  Некоторые серверы (нередко хостер ukraine.com.ua ) кешируют изображения на сервере. Ищите это в настройках панели управления хостера "ускорение".  Нужно просто отключить это кеширование. Подробнее описал в поддержке модуля:
       
       
      А что это гугл пишет "изменение размера .... уменьшит"?

       
       

      Админ БАР для управления изображениями (очистка кеша только для конкретной страницы)
      и СЖАТИЕ изображений по прямым ссылкам и из CSS.
       
      Тест Тест
       
       
       
       
       
       
       


      info.php

      Добавил sitecreator Добавлено 26.08.2017 Категория Кэширование, сжатие, ускорение Системные требования php 5.6+, Ioncube Loader (обязательно версия: 10+) ) Сайт разработчика https://sitecreator.ru/ Старая цена 2000 Метод активации По запросу в ЛС
      По запросу на почту Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет
      Да  
    • By sitecreator
      WEBP работает везде просто и надежно !
      Никакой зависимости от хостера в плане создания и вывода WEBP! Работает WEBP везде без всяких условий!   Не надо спрашивать будет ли работать на вашем хостинге WEBP. Ответ простой - у вас будет WEBP! В данном решении предусмотрено практически все, включая полную совместимость с ускорителями Jet Cache, Turbo.
      WEBP (сжатый формат графики) можно теперь получить практически у любого хостера.
      Не имеет значения есть ли поддержка WEBP у вашего хостера или нет.
      Такая поддержка WEBP встроена в модуль Компрессор и работает на любой Linux и Windows.
       
      Поддерживается любой современный браузер, способный отображать WEBP.
       
      Благодаря современному формату изображений WEBP удается снизить общий вес изображений в среднем в 2-3 раза на странице, и тем самым выполнить рекомендации Гугла.
       

       
       
      Мастерам большие СКИДКИ! Оптимизация (сжатие) изображений - Гугл PageSpeed одобряет.
      Теперь настоящий комбайн для работы с изображениями.  Управление белыми полями изображений, фоном, размером, обрезкой картинок, отдельное управление изображениями для яндекс-маркета и т.д.
      Индивидуальные настройки для групп изображений ("всплывающие", "thumb-миниатюры").
      "Компрессор" (Image Compressor) обеспечит максимальное сжатие изображений Opencart на обычном хостинге (функция proc_open php нужна для работы mozjpeg, optipng; но создание WEBP в режиме "по расписанию" не требует ее наличия в php, на котором работает ваш сайт)  и всегда на VDS.   Нужные функции (proc_open) вы можете сами включать даже на обычном хостинге (некоторые это позволяют, но не все хостеры - см. ниже).
      Установка софта для сжатия изображений Опенкарт (mozjpeg и  optiPNG, WEBP) полностью автоматизирована в два клика на обычный хостинг и VDS (не требует знаний Linux).
       
      Вся магия здесь:
       

       
      Для разработчиков и веб-мастеров, устанавливающих модуль своим заказчикам действует особая (низкая) цена
       
      Демо 2 (клиентская часть): http://watermark.sitecreator.pro
      Демо 2 (админка): http://watermark.sitecreator.pro/admin/index.php?route=extension/module/watermark_by_sitecreator
       
      Демо 1.5 (клиентская часть): http://watermark15.sitecreator.pro
      Демо 1.5 (админка): http://watermark15.sitecreator.pro/admin/index.php?route=module/watermark_by_sitecreator
       
      пользователь: DEMO
      пароль: DEMO
       
      совместим со всеми сборками версий движков Opencart (ocstore, opencart.pro, русская сборка и т. д.) 1.5 и 2+ (2.0, 2.1, 2.2, 2.3)
      Файлы движка не заменяются (используется vqmod или ocmod для соответствующих веток движка)
      Для Opencart 3.0  версия здесь: https://opencartforum.com/files/file/6148-kompressor-izobrazheniy-watermark-bonusy-dlya-opencart-30/
       

       
      Модуль Сжатия Изображений Opencart по максимуму использует возможности imagick (если установлен), что уже позволяет получить лучшие по качеству и размеру изображения.  Кроме того, в отличие от дефолтного GD использование imagick позволяет уменьшить размер файла за счет очистки изображения от ненужной информации.
       
      Как избежать тормозов во время создания сжатых изображений?

      При обновлении до версии 1.12.6+ нужно проявить внимание! Внедрена защита "от дурака".
       
       
      Максимум настроек водяного знака Opencart (watermark): его позиция, поворот, прозрачность водяного знака и т. д.
      Можно настроить ограничение (запретить применять) для водяного знака как по имени файла/папок, так и по  размерам.
      Также можно добавить к имени файла nowatermark , и на данное изображение водяной знак не будет накладываться.
      Адаптивный ресайз (resize, обрезка) изображения.
       
       
      Вот так работает WEBP Lazy Load модуля Компрессор.
      Гугл одобряет!
       

       
       
      Как включить нужную для максимального сжатия функцию?
       
       
       
       
      Основной функционал модуля - это добавление водяного знака на изображения и другие настройки изображения (ресайз, белые поля и фон, и т. д. ).  Как бонус - это использование автоматического  супер-сжатия изображений. Но для многих сжатие изображений в Opencart - это самый важный функционал.
      С версии 1.1.0 получаете максимальное сжатие для JPEG, PNG благодаря еще поддержке WebP. 
      Использование WebP задумывалось как компромиссное решение когда нет возможности использовать mozjpeg.  А mozjpeg сейчас удалось установить практически везде.
       
      Проверенные хостеры, которые поддерживают mozjpeg, OptiPNG,   WebP , т. е. возможно суперсжатие в полной мере.
      Это не означает, что другие не поддерживают, просто тут устанавливали уже  модуль и мне о названии хостера  сообщил заказчик.
      В зоне RU  99.9% хостеров обеспечат максимальное сжатие, в зоне UA показатель поменьше - на уровне 90...95%
      Информация по части WEBP является устаревшей, т.к. этот формат с версии 1.16 возможно создавать практически везде в режиме "по расписанию" (cron).
       
       
      Совместим с Opencart, Ocstore, opencart.pro и сборок версии 1.5.* и 2+ (2.0, 2.1, 2.2, 2.3)
      требования: php 5.6+ (рекомендуемый минимум - это 5.6; 7.0, 7.1, 7.2)   Версию php у хостера вы можете изменить самостоятельно через панель управления. 
      Ioncube Loader  (крайне рекомендуется 10+)
      Касательно версии php.  Рекомендованный минимум (5.6) есть у любого хостера и на этой версии работает любой движок Opencart.
      Ioncube loader 10+ есть сейчас, как минимум, у 99% хостеров (у всех нормальных), и все меньше остается нерадивых хостеров, которые не могут обновить старую версию Ioncube loader 6 (2-х летней давности).
      Просьба учесть, что при минимальных требованиях модуль работать будет, но не все функции могут быть доступны.  Не вижу смысла поддерживать совместимость с допотопным серверным софтом в ущерб развитию модуля.
       
       
      Модуль совместим с ускорителями/кешерами Jet Cache и Turbo и, скорее всего, с остальными.
      Модуль не заменяет файлы , используется ocmod для движка 2.*,  аналогично в движке 1.5.* используется vqmod с 1.5.1 версии модуля. 
      Просьба обратить внимание до установки модуля на то, не изменен ли код напрямую (или за счет модификаторов) в файлах:
       
      system/image.php, catalog/tool/image.php, admin/tool/image.php.
       
      Не гарантируется нормальная работа если у вас в движке были сделаны прямые (или за счет модификаторов) изменения кода указанных выше файлов.
      Желательно чтобы эти файлы были такими же как в дистрибутиве движка.  Но даже в случае их изменения редко когда возникают проблемы, и они решаемые (обращайтесь к автору).
       
      Пожалуйста, лицензию запрашивайте, написав мне на почту или в личку.
       
      Пояснение к лицензированию.
      Лицензия предоставляется для одного домена.
      Приобретая модуль вы соглашаетесь с принципом лицензирования. 
       
      Подробно о лицензировании читайте здесь.
       
      Супер-сжатие выполняется согласно рекомендациям Гугла PageSpeed Insights и позволяет добиться снижения размера файлов изображений и, как следствие, уменьшения трафика.
      Google  PageSpeed Insights благодаря этому дает более высокую оценку вашему сайту в баллах.
       
      mozjpeg, optipng необязателен к установке, это лишь рекомендация для достижения максимального сжатия.
      Процесс установки этого софта сводится к нажатию двух кнопок в модуле.
      Это работает как на обычном хостинге, так и на VDS.
       
      Самая распространенная "ошибка" после установки.
       
       
       
       
       
      Инструкция для самостоятельной сборки серверного софта оставлена для любознательных. Не нужно ее пугаться и не нужно повторять все эти действия.
      Модуль Компрессор уже содержит средства диагностики и вывода информации.  Пользуйтесь ими (вкладка "сервис").
       
       
      Инструкция по установке дополнительного софта для WINDOWS :
      (для локальной машины разработчика, например. ).
       
       
       
      Установку модуля "Сжатие изображений плюс водяной знак" осуществляет покупатель самостоятельно или его доверенное лицо.
       

       
       

       

       
       
      Модуль умеет накладывать водяной знак и сжимать изображения, которые вставлены по прямым ссылкам в описании товара.  Данная возможность предоставлена в качестве бонуса, но не как обязательная часть, на некоторых шаблонах редко возможна несовместимость (не будет работать) с данной функцией (может потребоваться адаптация) поскольку шаблон может кардинально изменить существующий контроллер. Для SEO CMS есть отдельное решение.
       
       
      Модуль умеет оптимизировать (сжимать) все изображения ваших шаблонов и логотип сайта.  Это в дополнение к сжатию всех изображений, проходящих через движок (картинки товаров, категорий, баннеры и т. д. и т. п.)
       

       
       
       
      Для SEO CMS сделано решение, позволяющее также использовать супер-сжатие по максимуму и водяной знак в этом модуле.  Сделано как отдельное дополнение к модулям "Компрессор" (Image Compressor) и SEO CMS.  Такое решение обусловлено тем, что указанный модуль использует свою библиотеку  и модели для работы с изображениями.
      Сжаты будут даже отображаемые оригиналы, вставленные по прямым ссылкам в статьях.  И на оригиналы можно накладывать водяной знак и защищать их от кражи.
      Любые изменения с оригиналами обратимы. Например, можно менять водяной знак.
       
      Решение здесь: SEO CMS mod for Image Compressor & Watermark
       
       
       
      Решение по работе с фоном исходных изображений здесь:
      Можно обрезать, добавлять фон, делать аккуратные рамки цветом фона.
      Данное решение реализовано как плагин к модулю "Компрессор", т. е. все настройки делаются в модуле "Компрессор".
       
       
      Совместимость со специфическими модулями и модификаторами, 
      (затрагивающими системную библиотеку и модель image.php)
       
       
      ПОДДЕРЖКА от автора модуля:

       
       
      Самодиагностика и вывод полезной информации - это первое средство если у вас "ничего не работает".
       

      Если у вас "не сжимает".  Некоторые серверы (нередко хостер ukraine.com.ua ) кешируют изображения на сервере. Ищите это в настройках панели управления хостера "ускорение".  Нужно просто отключить это кеширование. Подробнее описал в поддержке модуля:
       
       
      А что это гугл пишет "изменение размера .... уменьшит"?

       
       

      Админ БАР для управления изображениями (очистка кеша только для конкретной страницы)
      и СЖАТИЕ изображений по прямым ссылкам и из CSS.
       
      Тест Тест
       
       
       
       
       
       
       


      info.php

    • By fduw
      Как подключить mysql через unix socket?
      В инете не нашел рабочей инфы
       
      Стандартная конфа

       Так не работает
      define('DB_HOSTNAME', 'unix:/tmp/mysql.sock'); define('DB_HOSTNAME', 'localhost/tmp/mysql.sock'); define('DB_HOSTNAME', 'tmp/mysql.sock');  
  • 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.