Оговорюсь сразу, что я не спец по оптимизации сложных SQL запросов. но в данном случая я бы ушел от опператора IN и просто попытался бы присоединить таблицу term_node к базовому запросу и дальше фильтронул бы по критерию where, как то как:
насколько я знаю, вот это не очень замечательная вещь, там вроде как MySQL не может использорвать ключи или что то в таком духе:
AND node.nid in (
SELECT term_node.nid
FROM term_node
WHERE tid=%d
)
но тогда мы опять упираемся в базу, а вы вроду как утверждали, что с ней все ок. как долго выполняется такой запрос?
Увы, тут проблема не закрепить сами термины за доменами, а в том, чтобы на странице /taxonomy/term/tid ссылки на материалы шли не на текущий домен, а на тот, за которым закреплен сам материал...
А вообще наш модуль заменял в материале ссылки на термины таксономии ссылками на описания соответствующих услуг (определяя при этом домен, за которым закреплена публикация).
В том что запросы не влияют я уже убедилась. У меня максимальное количество запросов - в материале "Офис", и то они выполняются менее чем за 400мс. А вот время формирования страницы этого материала - ужас! О_О около минуты! Причем только на этом типе материала... Даже не знаю на что грешить. Яндекс-карта или самописный модуль (заменяет ссылки с таксономии на статьи по услугам)? Изначально с ними все летало.
м.б. дело в хостере? у меня пару дней назад таинственным образом исчез модуль из папки all/modules, я грешил на то, что сам забыл его поставить, хотя от его наличия зависит другой модуль... Видимо надо написать ему, пусть разбираются, в чем дело...
размер - 80 метров.
У меня на ноуте фактически с теми же параметрами развернута тестовая база, на ней бывают некоторые updateдлятся по 200 мс, но это в виде исключения.
например запрос INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('Галереи', 'exibition/gallery', 'http://www.gulvar.ru/zapis-v-dnevnike/kollektivnyi-razum', '81.201.17.109', 1, 'b7b51f641953dfad88f32a8f0097d8f1', 15971, 1290982246) у меня выполнянлся 3,2 секунды... и такое частенько происходит с разными insert/update
Косяк оказался куда глубже - в модуле views где то есть проблема, которая выражается в том, что создается дополнительный join таблицы node с сама самой по полю tnid ( LEFT JOIN node node2 ON node.tnid = node2.tnid надо для синхронизации переводов контента на разные языки). Все бы хорошо, да вот не использую я такую фичу, это видно и по самому запросу.
Временный workaround - закоментить файл translation.views.inc на __translation.views.inc и сбросить кеш.
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
используйте еще такую штуку как EXPLAIN, чтобы понять, как ищет mySQL и что какие ключи он использует.
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Оговорюсь сразу, что я не спец по оптимизации сложных SQL запросов. но в данном случая я бы ушел от опператора IN и просто попытался бы присоединить таблицу term_node к базовому запросу и дальше фильтронул бы по критерию where, как то как:
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
насколько я знаю, вот это не очень замечательная вещь, там вроде как MySQL не может использорвать ключи или что то в таком духе:
AND node.nid in (
SELECT term_node.nid
FROM term_node
WHERE tid=%d
)
но тогда мы опять упираемся в базу, а вы вроду как утверждали, что с ней все ок. как долго выполняется такой запрос?
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
2. Не работающий eAcelerator - попробуйте отключить и сравните время генерации
проще с помощью phpinfo() посмотреть, что там с eAcelerator, работает ли он или так, прохлождается...
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
ну и просто м.б. сервак хероватенький, то тут только свалить с него либо на другой, либо от хостера к чертям собачьим!
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
переехал на новую машину, увеличил размер параметра innodb_buffer_pool_size в два раза, стало работать заметно быстрее... буду продолжать мониторить.
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
написал хостеру, те утверждают, что у них есть проблемы с диском на моем VPS, обещали мигрировать на другую машину. Посмотрим...
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
м.б. дело в хостере? у меня пару дней назад таинственным образом исчез модуль из папки all/modules, я грешил на то, что сам забыл его поставить, хотя от его наличия зависит другой модуль... Видимо надо написать ему, пусть разбираются, в чем дело...
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
фрагментирование таблицы может приводить к таким результатам?
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
размер - 80 метров.
У меня на ноуте фактически с теми же параметрами развернута тестовая база, на ней бывают некоторые updateдлятся по 200 мс, но это в виде исключения.
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
3,2 секунды - UPDATE sessions SET uid = 1, cache = 0, hostname = '81.201.17.109', session = 'language|s:2:\"ru\";dblog_overview_filter|a:0:{}views|a:6:{s:11:\"User_images\";a:1:{s:7:\"default\";a:1:{s:11:\"date_filter\";a:3:{s:5:\"value\";N;s:3:\"min\";N;s:3:\"max\";N;}}}s:7:\"Gallery\";a:1:{s:12:\"panel_pane_1\";a:2:{s:5:\"title\";s:0:\"\";s:11:\"date_filter\";a:3:{s:5:\"value\";N;s:3:\"min\";N;s:3:\"max\";N;}}}s:13:\"Advertisement\";a:1:{s:12:\"panel_pane_1\";a:1:{s:11:\"date_filter\";a:3:{s:5:\"value\";N;s:3:\"min\";N;s:3:\"max\";N;}}}s:5:\"Goods\";a:1:{s:12:\"panel_pane_1\";a:1:{s:11:\"
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
например запрос INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('Галереи', 'exibition/gallery', 'http://www.gulvar.ru/zapis-v-dnevnike/kollektivnyi-razum', '81.201.17.109', 1, 'b7b51f641953dfad88f32a8f0097d8f1', 15971, 1290982246) у меня выполнянлся 3,2 секунды... и такое частенько происходит с разными insert/update
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
нет, не помогло
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
ubuntu, сей час попробую вырубить, посмотрим, что получится
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
очевидно, что проблемы с вводом/выводом, осталось только понять, как это вылечить
Кто с MySQL на ты? Есть вопрос по поводу Insert/Update
linode.com
у меня на виндовой машине дома все без проблем летает, там же какая то фигня... причем началось не так давно
Сайт лежит от потока спама в комментах
Посмотрите apache mod security - м.б. он поможет!
Безбожно тормозит MySQL на винде
Косяк оказался куда глубже - в модуле views где то есть проблема, которая выражается в том, что создается дополнительный join таблицы node с сама самой по полю tnid ( LEFT JOIN node node2 ON node.tnid = node2.tnid надо для синхронизации переводов контента на разные языки). Все бы хорошо, да вот не использую я такую фичу, это видно и по самому запросу.
Временный workaround - закоментить файл translation.views.inc на __translation.views.inc и сбросить кеш.
Безбожно тормозит MySQL на винде
по ходу дела проблема известная:
http://drupal.org/node/940268
http://drupal.org/node/904038
и т.д. - http://drupal.org/search/apachesolr_multisitesearch/node2.tnid%20views
Так что если у вас появилась проблема с производительностью, то весьма возможно это как раз ваш случай
Безбожно тормозит MySQL на винде
На убунте кстати та же фигня, так что я набросаю сначала sql скрипты для update, а затем м.б. напишу простенький модуль, посмотрим...