Ответить Новая тема Новый опрос 
 Зависание запросов
Kolek54
Новичок
Сообщений: 8
Регистрация: 11-06-2010


03-10-2011 22:19
Сайт выключен хост-провайдером, в связи с некой активностью, вот, что он мне написал:
| 891 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 16 | Copying to tmp table | SELECT p.*, pa.`id_product_attribute`, pl.`description`, pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, i.`id_image`, il.`legend`, m.`name` AS manufacturer_name, tl.`name` AS tax_name, t.`rate`, cl.`name` AS category_default, DATEDIFF(p.`date_add`, DATE_SUB(NOW(), INTERVAL 0 DAY)) > 0 AS new,
(p.`price` * ((100 + (t.`rate`))/100) - IF((DATEDIFF(`reduction_from`, CURDATE()) <= 0 AND DATEDIFF(`reduction_to`, CURDATE()) >=0) OR `reduction_from` = `reduction_to`, IF(`reduction_price` > 0, `reduction_price`, (p.`price` * ((100 + (t.`rate`))/100) * `reduction_percent` / 100)),0)) AS orderprice
FROM `ps_category_product` cp
LEFT JOIN `ps_product` p ON p.`id_product` = cp.`id_product`
LEFT JOIN `ps_product_attribute` pa ON (p.`id_product` = pa.`id_product` AND default_on = 1)
LEFT JOIN `ps_category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 4)
LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 4)
LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `ps_image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = 4)
LEFT JOIN `ps_tax` t ON t.`id_tax` = p.`id_tax`
LEFT JOIN `ps_tax_lang` tl ON (t.`id_tax` = tl.`id_tax` AND tl.`id_lang` = 4)
LEFT JOIN `ps_manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer`
WHERE cp.`id_category` = 63 AND p.`active` = 1
ORDER BY pl.`name` DESC
LIMIT 107250,50 |

Вызывают высокую нагрузку на сервер, пожалуйста примите меры, либо Ваш сайт будет заблокирован.
claus@ruweb.net Thu Sep 29 09:10:45 2011 MSD - 5 hr 21 min 36 sec Ответить
^ Re: Нагрузка на сервер запросами из базы данных сайта mmc54.ru
Был вынужден заблокировать Ваш сайт, на директорию public_html выставил права 000.

Ранее тоже были подобные проблемы, база падала от таких запросов:
^ Re: Нет доступа к базе
у Вас снова подвисли запросы. вот их список:

+--------+--------------+-----------+--------------+----------------+------+--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+--------------+-----------+--------------+----------------+------+--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 475206 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 4290 | Locked | DELETE FROM `ps_category_product` WHERE `id_product` = 301806 |
| 475529 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 4290 | Sending data | SELECT DISTINCT cp.`id_product`
FROM `ps_category_group` cg
INNER JOIN `ps_category_product` cp ON cp.`id_category` = cg.`id_category`
INNER JOIN `ps_category` c ON cp.`id_category` = c.`id_category`
INNER JOIN `ps_product` p ON cp.`id_product` = p.`id_product`
WHERE c.`active` = 1 AND p.`active` = 1
AND cg.`id_group` = 1
AND p.id_product IN (
SELECT id_product
FROM ps_search_word sw
LEFT JOIN ps_search_index si ON sw.id_word = si.id_word
WHERE sw.id_lang = 4
AND sw.word LIKE 'mr%'
) AND p.id_product IN (
SELECT id_product
FROM ps_search_word sw
LEFT JOIN ps_search_index si ON sw.id_word = si.id_word
WHERE sw.id_lang = 4
AND sw.word LIKE '980024%'
) |
| 475567 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 4283 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 475815 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 4186 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 476070 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 4095 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 476576 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3908 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 477257 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3695 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 477720 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3509 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 478065 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3324 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 478568 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3131 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 478864 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 3024 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 479073 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 2946 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 479313 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 2864 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 479585 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 2761 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |
| 479703 | mmc54ru_shop | localhost | mmc54ru_shop | Query | 2701 | Locked | SELECT t.name, COUNT(pt.id_tag) AS times
FROM `ps_product_tag` pt
LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = 4
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `ps_category_group` cg
LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` = 1
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, 10 |



Подозреваю, что это какие-то дыры в безопасности или атака и требуется обновление до текущей версии. Или могут быть иные причины?
Версия магазина 1.3.1

Также ищу спеца по престе, для администрирования и поддержки.

На данный момент нужно устранить вышеизложенные проблем и обновиться до текущей версии.Магазин типовой, было лишь две модификации:
1. Модуль для приема платежей через процессинг
2. небольшие доработки товара
3. в таблице product нарезано дополнительно поле uuid.


 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


03-10-2011 23:17
1. отключить поиск + откл. создание индекса товаров (в фронте использовать поиск от гугла или Я.)
2. очистить таблицы с тегами и поисковыми индексами
3. оптимизация.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Kolek54
Новичок
Сообщений: 8
Регистрация: 11-06-2010


03-10-2011 23:37
Цитата:( Алекс @ 03-10-2011 22:17 Смотреть сообщение )
1. отключить поиск + откл. создание индекса товаров (в фронте использовать поиск от гугла или Я.)
2. очистить таблицы с тегами и поисковыми индексами
3. оптимизация.


1. Как это сделать?
2. Очистил таблицу ps_search_index, какие еще нужно очистить?
3. Поподробнее, пожалуйста.

Алекс, писал в личку, готов к оплачивать администрирование и поддержку сайта.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


04-10-2011 11:21
Первый запрос это вообще получение товаров в категории. Уходите с этого хостинга если он даже этого выдержать не может.

Сколько у вас товаров?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Kolek54
Новичок
Сообщений: 8
Регистрация: 11-06-2010


04-10-2011 17:43
Цитата:( ors @ 04-10-2011 10:21 Смотреть сообщение )
Первый запрос это вообще получение товаров в категории. Уходите с этого хостинга если он даже этого выдержать не может.

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

Товаров много, прайс-лист около 100 тыс. и нам этого мало. Может уходить на другой магазин ? :-)

Категория у нас на самом деле одна и она содержит все позиции ((. ХОчу ее скрыть вообще, чтобы пользовались только поиском (такая у нас специфика - автозапчасти, люди в основном по артикулу ищут.)
Как убрать одну категорию, но чтобы поиск по ней осуществлялся?

ors, писал в личку, ящик переполнен.


Сообщение отредактировано Kolek54 04-10-2011 16:45 ...
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос