perebor Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 (змінено) Ребят привет, нужна помощь, прошу не пинаться) я пока не силен в оптимизации БД, но очень интересно было бы разобраться самому. На сервере где-то раз в месяц происходят скачки по нагрузке и кол-ву запросов. Последний был 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` Змінено 30 травня 2019 користувачем perebor Надіслати Поділитися на інших сайтах More sharing options...
perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 10 minutes ago, nikifalex said: на картинке не лог, а какая то картинна пикассо. лог в спойлере Надіслати Поділитися на інших сайтах More sharing options...
legioner26 Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 Сколько товаров ? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 Часть запросов которые вы показали - не очень шибко то поддаются оптимизации. Например вот этот... 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 Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 30 minutes ago, legioner26 said: Сколько товаров ? 6790 товаров и 96 категорий Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 32 minutes ago, snastik said: Если у вас подобные всплески происходят нерегулярно - лучше попробуйте найти что их вызывает - это могут быть паразитные боты к примеру, и попробуйте от них избавится. Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 4 minutes ago, nikifalex said: Ну а потом наседать на авторов модулей с этими вопросами. К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 (змінено) Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через 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 логи веб-сервера Змінено 30 травня 2019 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... legioner26 Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, perebor сказал: К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Ну фильтр дорогой сам по себе. Я его не юзаю. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, 100napb сказал: Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain. Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100. 2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики. что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера Вы сейчас показали себя как супер профессионал! Можно я стану в очередь за решениями? Что значит нет нужды оптимизировать запросы? Как жить человеку в ситуации, если у него паттерн трафика с 50% обращений в фильтры? Не оптимизировать? Да? Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки? Зачем давать советы в том, в чем вы не разбираетесь? 3 часа назад, perebor сказал: Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Смотрите логи! Анализируйте юзер агенты, частоту заходов. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 Часть запросов которые вы показали - не очень шибко то поддаются оптимизации. Например вот этот... 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 Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 30 minutes ago, legioner26 said: Сколько товаров ? 6790 товаров и 96 категорий Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 32 minutes ago, snastik said: Если у вас подобные всплески происходят нерегулярно - лучше попробуйте найти что их вызывает - это могут быть паразитные боты к примеру, и попробуйте от них избавится. Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 4 minutes ago, nikifalex said: Ну а потом наседать на авторов модулей с этими вопросами. К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 (змінено) Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через 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 логи веб-сервера Змінено 30 травня 2019 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... legioner26 Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, perebor сказал: К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Ну фильтр дорогой сам по себе. Я его не юзаю. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, 100napb сказал: Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain. Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100. 2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики. что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера Вы сейчас показали себя как супер профессионал! Можно я стану в очередь за решениями? Что значит нет нужды оптимизировать запросы? Как жить человеку в ситуации, если у него паттерн трафика с 50% обращений в фильтры? Не оптимизировать? Да? Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки? Зачем давать советы в том, в чем вы не разбираетесь? 3 часа назад, perebor сказал: Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Смотрите логи! Анализируйте юзер агенты, частоту заходов. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 30 minutes ago, legioner26 said: Сколько товаров ? 6790 товаров и 96 категорий Надіслати Поділитися на інших сайтах More sharing options...
perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 32 minutes ago, snastik said: Если у вас подобные всплески происходят нерегулярно - лучше попробуйте найти что их вызывает - это могут быть паразитные боты к примеру, и попробуйте от них избавится. Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Надіслати Поділитися на інших сайтах More sharing options...
perebor Опубліковано: 30 травня 2019 Автор Share Опубліковано: 30 травня 2019 4 minutes ago, nikifalex said: Ну а потом наседать на авторов модулей с этими вопросами. К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Надіслати Поділитися на інших сайтах More sharing options...
100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 (змінено) Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через 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 логи веб-сервера Змінено 30 травня 2019 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... legioner26 Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, perebor сказал: К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Ну фильтр дорогой сам по себе. Я его не юзаю. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, 100napb сказал: Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain. Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100. 2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики. что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера Вы сейчас показали себя как супер профессионал! Можно я стану в очередь за решениями? Что значит нет нужды оптимизировать запросы? Как жить человеку в ситуации, если у него паттерн трафика с 50% обращений в фильтры? Не оптимизировать? Да? Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки? Зачем давать советы в том, в чем вы не разбираетесь? 3 часа назад, perebor сказал: Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Смотрите логи! Анализируйте юзер агенты, частоту заходов. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
legioner26 Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, perebor сказал: К сожалению это в большинстве случаев не прокатит, в мегафильтре например поддержка вообще фиговая(... Ну фильтр дорогой сам по себе. Я его не юзаю. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, 100napb сказал: Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain. Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100. 2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики. что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера Вы сейчас показали себя как супер профессионал! Можно я стану в очередь за решениями? Что значит нет нужды оптимизировать запросы? Как жить человеку в ситуации, если у него паттерн трафика с 50% обращений в фильтры? Не оптимизировать? Да? Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки? Зачем давать советы в том, в чем вы не разбираетесь? 3 часа назад, perebor сказал: Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Смотрите логи! Анализируйте юзер агенты, частоту заходов. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 2 часа назад, 100napb сказал: Нет нужды оптимизировать каждый из приведенных выше запросов. Стоит сфокусировать внимание на самых "тяжелых", которые создают ту самую нагрузку, из-за которой хостер, в общем-то, и выписывает Вам ая-яй-ку. Их вроде как всего три штуки. Один из самых примитивных и одновременно эффективных способов оптимизации запросов - создание правильных индексов. Тестируйте до и после индексов профилируя запросы через explain. Запрос 1 и 3, использует одну и ту же таблицу, что нам только на руку. Можно попробовать создать индекс... блин *сморщился* по текстовому полю.. но попробовать все-равно стоит: по полю path. Можно поиграться с длиной индекса. Ради эксперимента, можно установить вплоть до 100. 2. В таблице product_image должен быть индекс по полю product_id по-умолчанию, из коробки. А есть ли такой же индекс в таблице product_image_by_option ? Это ведь, скорее всего, кастомная таблица от какого-то модуля. Значит шансы отсутствующего индекса велики. что касается периодичности всплексов нагрузки... лучше Вас Ваш же проект никто не знает... как вариант, какой-нибудь импорт товаров настроен, парсинг, или какое-нибудь задание по крону. В том же мегафильтре перестроение внутренних табличек должно срабатывать при массовом изменении товаров. Если это не внутренняя нагрузка, источником которой являетесь Вы сами, то смотрите access логи веб-сервера Вы сейчас показали себя как супер профессионал! Можно я стану в очередь за решениями? Что значит нет нужды оптимизировать запросы? Как жить человеку в ситуации, если у него паттерн трафика с 50% обращений в фильтры? Не оптимизировать? Да? Что делать если там посадочные? Забить.. пусть люди ждут 10 секунд загрузки? Зачем давать советы в том, в чем вы не разбираетесь? 3 часа назад, perebor сказал: Спасибо за совет, буду благодарен если еще подскажете какие существуют методы или алгоритмы определения того, что может вызывать подобные нагрузки, в какую сторону копать? Смотрите логи! Анализируйте юзер агенты, частоту заходов. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
100napb Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 1 hour ago, snastik said: . Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Spoiler Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. 1 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
snastik Опубліковано: 30 травня 2019 Share Опубліковано: 30 травня 2019 10 минут назад, 100napb сказал: Мы смотрим с Вами на проблему ТС с разных точек зрения, и только -> спрятал в спойлер. Скрыть контент Например, я в стартовом сообщении треда прочел о том, что человек обеспокоен письмами хостера о превышением нагрузки и пиками нагрузки на графике. Вполне себе конкретная проблема. Именно в ее ключе давал максимально доступные для ТС советы, который честно предупредил, что хочет сам покрасноглазить и разобраться. Следовал принципу Парето, если хотите: 20% усилий дадут 80% результата в задаче снижения нагрузки - очевидно же, что лишь несколько запросов из отчета хостера сильно проблемнее остальных. Вы, в свою очередь, возможно, сразу представили картину целиком: о паттернах трафика, о посадочных, о том, какие могут быть последствия и неудобства у ТС и посетителей его ресурса от этих медленных запросов, как кто-то умирает в ожидании загрузки страниц, и, наверное, о многом другом. И если смотреть глобально, как профессионал, то безусловно... Здесь нет иронии или какой-то скрытой издевки. Откровенно говоря, мне Ваши доводы кажутся более сильными. При ряде некоторых условий. Но к теме и вполне себе конкретному вопросу " Собственно вопрос в том, что бы понять что это за запросы и как это дело оптимизировать " они относятся, на мой взгляд, весьма косвенно. Простите, я не знаю, что куда у вас относится. Но. У нас здесь не форум любителей теории "а как можно сделать бы". Если бы да кабы. Во рту выросли грибы. У владельцев магазинов и разработчиков нет времени и возможности вдаваться в тонкости специфики mysql, глубоко разбираться в принципах работы оптимизатора mysql, специфике innodb etc.... Человек пришел с конкретной проблемой. Я ему указал на все возможные причины и проблемы, тупиковые ситуации и вероятные возможности решения его проблемы. Вы же как это делают 99% программистов начали разводить какую-то теоретическую теорию, которая абсолютно бесполезна! Поэтому я вас попрошу впредь не вводить людей в заблуждение подобными комментариями, так как они по своей сути абсолютно бесполезны. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Расшифровка логов медленных запросов MySQL
perebor Опубліковано: 31 травня 2019 Автор Share Опубліковано: 31 травня 2019 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 Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 31 травня 2019 Share Опубліковано: 31 травня 2019 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, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. А вот если у них много прокси - то это не поможет и необходимо применять иные методы блокировки желающих попарсить. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Image Compress with reSmush (Стискання зображень за допомогою reSmush) Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 коментарів 5 102 перегляди kirians 23 вересня 2020 Модуль Image Compress with reSmush (Стискання зображень за допомогою reSmush) [Поддержка] Автор: kirians, 23 вересня 2020 image compress compress (і ще %d) Теги: image compress compress image image convert optimization сжатие изображений конвертация изображений resmush оптимизация изображений конвертація зображень оптимізація зображень стискання зображень 0 відповідей 1 340 переглядів kirians 24 вересня 2020 YouTube lazy load & popup - вставка відео з youtube, vimeo, галерея відео, оптимізація page speed сторінок з відео Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 0 коментарів 10 463 перегляди Seriusis 12 листопада 2020 [Поддержка] 1 2 Автор: Seriusis, 12 листопада 2020 youtube lazy load (і ще %d) Теги: youtube lazy load iframe video видео на странице оптимизация pagespeed page speed галерея видео vimeo видео в карточке 44 відповіді 5 125 переглядів Seriusis 25 липня Модуль OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed [Поддержка] 1 2 3 4 60 Автор: MaxD, 15 грудня 2014 оптимизация скорость (і ще %d) Теги: оптимизация скорость ускорить тормоза кеширование много оптимизировать 1 476 відповідей 204 259 переглядів MaxD 7 листопада Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
perebor Опубліковано: 2 червня 2019 Автор Share Опубліковано: 2 червня 2019 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 можно определить парсинг это или обыкновенные заходы? Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 3 червня 2019 Share Опубліковано: 3 червня 2019 В 02.06.2019 в 11:38, perebor сказал: Вы посмотрели наш access.log, по вашему с ip 91.216.114.201 был парсинг? Я пробил этот ip - это торговая площадка, но при этом у них нет смежных с нами товаров, а точнее вообще офисной мебели нет, поэтому пока не совсем понимаем, зачем им нас парсить, хотя возможно на их сервере есть еще какие-то сайты именно с офисной мебелью для которых возможно и проводился парсинг, но пока не знаю как это проверить... И если несложно поясните пожалуйста: по каким критериям в файле access.log можно определить парсинг это или обыкновенные заходы? Завтра вам эта торговая площадка напишет - вот ваш личный кабинет, мы уже сделали - заходите, торгуйте, дайте денег! Если в логе какой-то непримечательный юзерагент последовательно перебирает товары/категории с маленьким таймингом - ну что это может быть еще? DDOS обычно выглядит по другому. Надіслати Поділитися на інших сайтах More sharing options... perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
perebor Опубліковано: 5 червня 2019 Автор Share Опубліковано: 5 червня 2019 On 6/1/2019 at 1:01 AM, snastik said: Если есть доступ к конфе nginx настройте правила zone_req_limit, которые, отобьют подобные пакости на раз, в случае если ваши гости используют один-два-двести айпи. У нас litespeed Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts