Производительность: cache_set много разных, и довольно долго при редактировании (или создании) нод (и др)

Главные вкладки

Аватар пользователя Valeratal Valeratal 23 октября 2010 в 12:02

В общем такая проблема
долго идет запись и редактирование нод и камментов
хостер посоветлова глянуть devel-ом

гляну

вижу, куча cache_set , такое впечатление что вообще весь кэш перезагружается (то есть попадаются записи вплоть до отправки уведомления о регистрации)
вот отловил даже 5000 млс (обновлялся кэш панелей)
по этому cache set

Вот пример один запрос

UPDATE cache SET data = 'a:1333:{i:53798;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53798\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:29:\"Таргет кроссинг\";s:7:\"created\";s:10:\"1287742728\";}i:53297;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53297\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:119:\"Сколько этапов собеседований проходит кандидат в Вашей компании\";s:7:\"created\";s:10:\"1285516027\";}i:53295;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53295\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:122:\"Как нанять Леброна Джеймса: кейс по рекрутингу выдающегося игрока \";s:7:\"created\";s:10:\"1285505784\";}i:53132;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53132\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:116:\"Ситуация на рынке труда Украины. Актуальные тенденции, осень 2010\";s:7:\"created\";s:10:\"1285227046\";}i:53008;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53008\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"\"Дорогие\" соискатели :))\";s:7:\"created\";s:10:\"1284554527\";}i:52999;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52999\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:43:\"Case-интервью: за и против\";s:7:\"created\";s:10:\"1284489494\";}i:52647;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52647\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:98:\"Поиск персонала в музыкальных стилях: Попса, Рок, Джаз\";s:7:\"created\";s:10:\"1283709553\";}i:52639;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52639\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:64:\"Quinyx WorkForce: Портал подбора персонала\";s:7:\"created\";s:10:\"1283694518\";}i:52377;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52377\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"Где найти иностранцев?\";s:7:\"created\";s:10:\"1281093405\";}i:52376;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52376\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"Где взять иностранцев?\";s:7:\"created\";s:10:\"1281093311\";}i:52105;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52105\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:53:\"Как провести стресс-интервью\";s:7:\"created\";s:10:\"1279822142\";}i:52093;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:
и тд

Следующий запрос, то же

NSERT INTO cache (cid, data, created, expire, headers, serialized) VALUES ('cctags_cache_nodelinks_53798', 'a:1333:{i:53798;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53798\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:29:\"Таргет кроссинг\";s:7:\"created\";s:10:\"1287742728\";}i:53297;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53297\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:119:\"Сколько этапов собеседований проходит кандидат в Вашей компании\";s:7:\"created\";s:10:\"1285516027\";}i:53295;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53295\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:122:\"Как нанять Леброна Джеймса: кейс по рекрутингу выдающегося игрока \";s:7:\"created\";s:10:\"1285505784\";}i:53132;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53132\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:116:\"Ситуация на рынке труда Украины. Актуальные тенденции, осень 2010\";s:7:\"created\";s:10:\"1285227046\";}i:53008;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"53008\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"\"Дорогие\" соискатели :))\";s:7:\"created\";s:10:\"1284554527\";}i:52999;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52999\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:43:\"Case-интервью: за и против\";s:7:\"created\";s:10:\"1284489494\";}i:52647;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52647\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:98:\"Поиск персонала в музыкальных стилях: Попса, Рок, Джаз\";s:7:\"created\";s:10:\"1283709553\";}i:52639;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52639\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:64:\"Quinyx WorkForce: Портал подбора персонала\";s:7:\"created\";s:10:\"1283694518\";}i:52377;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52377\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"Где найти иностранцев?\";s:7:\"created\";s:10:\"1281093405\";}i:52376;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:\"52376\";s:6:\"sticky\";s:1:\"0\";s:5:\"title\";s:41:\"Где взять иностранцев?\";s:7:\"created\";s:10:\"1281093311\";}i:52105;O:8:\"stdClass\":4:{s:3:\"nid\";s:5:

И таких куча
Не могу понять, зачем обновляется столько кэша?

Еще один странный запрос
taxonomy_term_count_nodes
230 млс
Судя по описанию считает сколько нод принадлежит к термину. Вопрос зачем это делается при создании ноды?

И еще один, куча locale
тоже, впечатление что сайт дергает вообще все переводы. Зачем?

Всего 373 запроса при редактировании ноды (просто, редактировать-изменить, без собственно изменений)

Стадия 2
Продолжая эксперименты редактирования
Поймал 502 (нехватка времени), перезагрузил, выдало что изменение было проведено другим пользователм (ну логично, просто я этого не увидел)

в devel вижу

Всего 266 queries in 25013.91 milliseconds

og_get_node_groups_result
запрос SELECT oga.group_nid, n.title FROM node n INNER JOIN og_ancestry oga ON n.nid = oga.group_nid WHERE oga.nid = 53798
Времени этот запрос занял : 17516.25

Подскажите, что ЭТО
Кто виноват и что делать?

Комментарии

Аватар пользователя Valeratal Valeratal 23 октября 2010 в 12:37

кэш в смысле собственный, в таблицах кэш

вообще у меня таблицы кэша здоровые, порядка 1,5 гига
может это еще влияет

Но судя по моим данным в стадии 2
чего то у меня с OG

так как страница группы вообще не загружается (502)
там вообще должен быть некий трекер (аналог друпалкомонс трекеру)
запрос

SELECT DISTINCT(node.nid) AS nid,
   node.type AS node_type,
   node.title AS node_title,
   history_user.timestamp AS history_user_timestamp,
   node.created AS node_created,
   node.changed AS node_changed,
   node_comment_statistics.last_comment_timestamp AS node_comment_statistics_last_comment_timestamp,
   node_comment_statistics.comment_count AS node_comment_statistics_comment_count,
   users.name AS users_name,
   users.uid AS users_uid,
   GREATEST(node.changed, node_comment_statistics.last_comment_timestamp) AS node_comment_statistics_last_updated,
   users.picture AS users_picture,
   users.mail AS users_mail
 FROM node node
 LEFT JOIN og_ancestry og_ancestry ON node.nid = og_ancestry.nid
 INNER JOIN node node_og_ancestry ON og_ancestry.group_nid = node_og_ancestry.nid
 LEFT JOIN history history_user ON node.nid = history_user.nid AND history_user.uid = ***CURRENT_USER***
 INNER JOIN node_comment_statistics node_comment_statistics ON node.nid = node_comment_statistics.nid
 INNER JOIN users users ON node.uid = users.uid
 WHERE (node.status <> 0) AND (og_ancestry.group_nid  = ***CURRENT_GID***)
 GROUP BY nid
  ORDER BY node_comment_statistics_last_updated DESC

Раньше вроде работало, сейчас чего то сдохло

Аватар пользователя Valeratal Valeratal 23 октября 2010 в 12:52

нее, innoDB (сам попросил)

Отключил этот коммонский вывод, сразу страницы группы стала грузится быстро

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

Вот вообще не пойму. чего и зачем ему было делать в кэше? (в смысле запись в кэш была вчера, а модуль стоял 2 года назад) - от него только записи остались в систем и в вариабле

Аватар пользователя Valeratal Valeratal 23 октября 2010 в 13:27

кэш почистен,

стадия 3
Редактируюя тему форума, ловлю 502

перезагружаю страницу
девел пишет
Executed 413 queries in 34181.11 milliseconds.

34 секунды!

смотрю запросы

node_load 12984.09
запрос SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = 5836

остальные как обычно, только более длительно
есть кэшгет на полсекунды

есть менютрии на 1,5 с

есть какой то validate_argument несколько раз, макс по 0,5 с
SELECT * FROM term_data WHERE tid IN (2002)

В общем, как будто базу кто то мучает перидически

в том смысле, что проблема возникает не при каждой загрузке-обновлении ноды/каммента, а периодически

что обидно, что база на отдельном серваке вообще живет