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

Подскажите по sql. Где искать проблему?


SaSS

Recommended Posts

А в чем именно проблема?

совсем на разбираюсь в этом деле. ( но подсказали, что это время выполнения запроса, и 13 сек - это очень много

возможно глупость (

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


или миллисекунд =) тогда нормально

кто пишет-то?

это в mysql slow-query-log начало такое сыпаться (раньше небыло)

судя по тому как начал тормозить сайт, кажется что это именно в секундах

Обновился с ocsore 1.0.1 на последнюю версию и опять проблемы со скоростью. на старой версии вроде удалось скорость загрузки страниц довести в среднем до 2х секунд. сейчас опять вот приходится искать в чем проблемы

ps

не нашел где глянуть секунды это или миллисекунды

единственное вот увидел в etc/my.cnf дописано следующее

# Минимальное время запроса, которое не будет помещено в лог.
long_query_time=1
# Файл в котором будут отображаться слишком долгие запросы.
# можно использовать опцию -mysqld -log-slow-queries=file
log-slow-queries=/tmp/slow_queries.log
#log-queries-not-using-indexes
Змінено користувачем SaSS
Надіслати
Поділитися на інших сайтах


ё-моё... а я и не обратил внимание...

13 секунд на таком простом запросе по таблице в 44 записи - это дурдом... сервак похоже перегружен во весь рост... тут бежать надо без оглядки, а не оптимизировать.

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

а существует ли еще какой-то способ проверить действительно ли проблема с сервером?

такую проблему замечаю около недели. но буквально вчера сменил хостинг. (был vps, сменили на cloud-vps)

проблема не исчезла (

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


Добавь индекс

ALTER TABLE `oc_extension` ADD INDEX (`type`);

даже при отсутствии индексов - 1 секунда это слишком много, а про 13 я даже не знаю что сказать....

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

Добавь индекс

ALTER TABLE `oc_extension` ADD INDEX (`type`);

даже при отсутствии индексов - 1 секунда это слишком много, а про 13 я даже не знаю что сказать....

Добавил индекс.

пару дней понаблюдал... особо конечно не помогло

# Query_time: 2  Lock_time: 0  Rows_sent: 0  Rows_examined: 0
SELECT * FROM oc_extension WHERE `type` = 'module';

странно то, что запросы побольше быстрее работают

# Query_time: 2  Lock_time: 0  Rows_sent: 38  Rows_examined: 321561
SET timestamp=1329118440;
SELECT count(*) AS qty, cd.name, pv.value_id, ovd.name as value  from oc_product_to_value pv LEFT JOIN oc_category_option_description cd ON cd.option_id = pv.option_id  LEFT JOIN oc_category_option_value_description ovd ON  ovd.value_id = pv.value_id  LEFT JOIN oc_product p ON p.product_id = pv.product_id and p.status = '1' LEFT JOIN oc_product_discount pdis ON pdis.product_id = p.product_id AND pdis.customer_group_id = '8' AND pdis.quantity <= '1' AND (pdis.date_start <= NOW() OR pdis.date_start = '0000-00-00') AND (pdis.date_end >= NOW() OR pdis.date_end = '0000-00-00') LEFT JOIN oc_product_special ps ON ps.product_id = p.product_id AND ps.customer_group_id = '8' AND (ps.date_start <= NOW() OR ps.date_start = '0000-00-00') AND (ps.date_end >= NOW() OR ps.date_end = '0000-00-00') LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE cd.language_id = '1' AND (36 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  48 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  74 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  77 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  51 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  394 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  42 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  463 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  464 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  465 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  466 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  50 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  449 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  75 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  52 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  45 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  400 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  44 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  49 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  401 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  402 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  399 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  39 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  40 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  43 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  46 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  76 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  41 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id) OR  501 IN (SELECT category_id FROM oc_product_to_category WHERE product_id = p.product_id)) GROUP BY ovd.name ORDER BY ovd.name ASC, cd.name ASC;
Надіслати
Поділитися на інших сайтах


а из pma выборка так же долго идет?

не знаю, к сожалению, что такое pma ((

Но в логе медленных запросов, если не считать каких-то громадных

проскакивают только этот с oc_extension, и еще

# Query_time: 2  Lock_time: 0  Rows_sent: 0  Rows_examined: 0
SELECT * FROM oc_length_class mc LEFT JOIN oc_length_class_description mcd ON (mc.length_class_id = mcd.length_class_id) WHERE mcd.language_id = '1';
а тут вообще всего 2 записи
Надіслати
Поділитися на інших сайтах


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

За сегодня загрузка процессора макс 4,45

Сервер (cloud-vps)

1.0Ghz

озу 1гб

swap 1гб

чистого места 5гб

на нем 6 сайтов. но 4 из них просто статические текстовые html c посещением 3 человека в день

есть правда еще 1 магазин тестовый. но у него тоже небольшое посещение в лог с него особо ничего не сыпется

ради эксперимента перенесу его вечером на другой сервер

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


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

сделал дроп. перегрузил mysql. не помогло ((

# Query_time: 2  Lock_time: 0  Rows_sent: 0  Rows_examined: 0
SELECT * FROM oc_extension WHERE `type` = 'module';
# Query_time: 2  Lock_time: 0  Rows_sent: 0  Rows_examined: 0
SELECT * FROM oc_extension WHERE `type` = 'total';
вечером уберу все "лишние" сайты с хостинга. но надежды мало (
Надіслати
Поділитися на інших сайтах


Если сайты такие как ты описал - смысла их дёргать нет. Смотри настройки mysql

вероятно проблема в конфиге.

так как был просто взял стандартный из

/usr/share/doc/mysql-server-5.0.90/my-huge.cnf

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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