Везде пишут, что чтобы узнать что тормозит на сайте нужно поставить devel. И где там написано что тормозит?
А тормозит страшно. Причем пустой сайт на нормальном хостинге.
cron.php Вы запускали? Одной из его задач является регулярная чистка кэша, чтобы таблицы не распухали.
Плюс посмотрите настройки Devel на www.example.net/admin/settings/devel, поэкспериментируйте с различными галочками, что-то Вам обязательно пригодится, а что-то покажется лишним. Я, например, включил счётчик времени, чтобы смотреть, сколько времени уходит на генерацию страницы + включил отображение использования памяти.
И все-таки как пользоваться модулем devel для анализа узких мест в производительности сайта.
Пошаговое отключение модулей не вариант, это примитивный и грубый способ оценки проблемного места. Т.к. многие модули тесно связаны между собой, отключение одного приведет к отключению другого а затем и к отключению 3-го, так что ничего это не решит.
Да и отключение одного из модулей может привести к полной потери работоспособности сайта и ни о какой производительности не сообщит.
Ну показывает devel что загрузка страницы потребляет 35Мб, а apache на самом деле в это время потребляет 75% CPU и 300Мб оперативы по даным команды "top".
Любая страничка админки (в том числе node/add) открываетя до 5 минут, а если 2 человека одновременно используют админку то 2-ой получает отказ по времени выполнения.
Вот как найти что этому виной?
Executed 485 queries in 25390.95 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 43390.47 ms
Это не админка
Executed 476 queries in 403.1 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 8757.87 ms.
Вот второй раз этаже страничка. Ничего не понимаю.
2974.63 - время выполнения запроса (через phpmyadmin 0.002c)
1
locale
SELECT s.source, t.translation, t.language FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.textgroup = 'default' AND s.version = '6.22' AND LENGTH(s.source) < 75
А вы случаем не знаете как можно протестировать скорость работы Mysql сервера?
Есть у него нечто типа проверочного запроса?
Типа вычисления числа ПИ до 2000 тыс знаков //так проверяется сам сервер
Комментарии
Попробуйте отключить ненужные модули, запустить хронометр, который почистит кэш + включите в Devel просмотр затраченной памяти на загрузку страницы.
Можно подробнее?
cron.php Вы запускали? Одной из его задач является регулярная чистка кэша, чтобы таблицы не распухали.
Плюс посмотрите настройки Devel на www.example.net/admin/settings/devel, поэкспериментируйте с различными галочками, что-то Вам обязательно пригодится, а что-то покажется лишним. Я, например, включил счётчик времени, чтобы смотреть, сколько времени уходит на генерацию страницы + включил отображение использования памяти.
ну че, разобрался как его использовать?
меня тоже волнует этот вопрос
спасибо создателям друпала за ясность изложения материала!
Не за что
И все-таки как пользоваться модулем devel для анализа узких мест в производительности сайта.
Пошаговое отключение модулей не вариант, это примитивный и грубый способ оценки проблемного места. Т.к. многие модули тесно связаны между собой, отключение одного приведет к отключению другого а затем и к отключению 3-го, так что ничего это не решит.
Да и отключение одного из модулей может привести к полной потери работоспособности сайта и ни о какой производительности не сообщит.
Ну показывает devel что загрузка страницы потребляет 35Мб, а apache на самом деле в это время потребляет 75% CPU и 300Мб оперативы по даным команды "top".
Любая страничка админки (в том числе node/add) открываетя до 5 минут, а если 2 человека одновременно используют админку то 2-ой получает отказ по времени выполнения.
Вот как найти что этому виной?
Executed 485 queries in 25390.95 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 43390.47 ms
Это не админка
Executed 476 queries in 403.1 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 8757.87 ms.
Вот второй раз этаже страничка. Ничего не понимаю.
На калькуляторе хоститесь?
Выделенный сервер
P4 2Ghz 2Gb под 1 сайт
Еще на нем крутится почтовый сервер
2974.63 - время выполнения запроса (через phpmyadmin 0.002c)
1
locale
SELECT s.source, t.translation, t.language FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.textgroup = 'default' AND s.version = '6.22' AND LENGTH(s.source) < 75
Потому что из кеша берётся
Хорошо, что сделать чтобы быстрее выполнялись SQL запросы (не 3сек)
Настраивать мускуль, менять винты, ещё over 900 причин, я не знаю почему у вас долго выполняются запросы
В MySQL включено полное логирование запросов, например. Это в одной из версий дебиана такое было.
Отключено логирование.
А вы случаем не знаете как можно протестировать скорость работы Mysql сервера?
//так проверяется сам сервер
Есть у него нечто типа проверочного запроса?
Типа вычисления числа ПИ до 2000 тыс знаков
М... да взять любой реальный запрос из друпала и погонять его через
mysql < test.sql
Еще предположение, что запрос к mysql идет не через localhost или, хотя бы, ip, а через hostname и тупит dns/resolve.
Оказывается, дело все-таки в ресурсах сервера (
Дело в том что знакомый разместил на моем сервере сайт на какой-то непонятной сборке друпала, что-то связанное с социальными сетями.
Он вызывает процесс php5-cgi который жрет 60% CPU, соответственно любой запрос apache или mysql съедает оставшиеся ресурсы сервера.