Оффтоп: где вариант про то что очень много букавок и не осилил?
По теме:
drupal_process_form($form_id, $form, $form_state);
разве не вызывает сабмит формы?
попробуйте не через
$form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);
а через
$form = form_builder($form_id, $form, $form_state);
если на форме ваш ахах делает изменения незабывайте обновлять кэш после изменений:
form_set_cache($form_build_id, $form, $form_state);
Я как штатный экстрасенс компании, могу позволить предположить что это форма
На основе этого предположения я могу выдвинуть гипотезу об использовании javascript, а именно jQuery для столь мизерных задач, возможно нечто эфемерное типа:
на вашем херовом хостинге(сервере), сделайте поправку...
какую? mysql оптимизирован. mysqltuner по всем пунктам пишет ОК
Скорость запросов с консоли, да и все нагрузочные тесты sysbench показывают отличные результаты.
Сервер вроде настроен отлично, опять же хотелось повторить что Битрикс на нем работает на ура. Время генерации админки битрикса не превышает 800мс. Время создания материала в инфоблоке не превышает 1сек.
Полное отключение кэша друпал для меня дало увеличение производительности в 20 раз.
Т.е. раньше форма создания ноды занимала 700+ запросов, которые выполнялись за 4-5сек, после отключения - 200-300мс. Основным источником задержки были функции cache_get и cache_set, которые выполнялись по 2 раза для каждого типа содержимого и занимали до 400мс каждый.
Отключил след образом: в файле cache.inc в начале функций cache_get и cache_set вставил:
Смотрел какие запросы чаще всего идут в базу параллельно для перевода таблицы в InnoDB.
Увидел что это в основном cache_menu и cache_form. Но перевести их в InnoDB не даст прироста производительности, т.к.
cache_form 1Гиг, cache_menu 0.5Гиг
Перевод их в InnoDB потребует от меня перенастроить mysql на использование буфера в 2Гиг, а это вся моя оперативка. Меньшее число буфера не даст эффективности InnoDB.
Вопрос: Эти таблицы должны быть такими огромными? Можно их отчистить вообще? Почему друпал при нажати кнопки отчистить все кэши их не чистит?
3976.75
_locale_rebuild_js
SELECT s.lid, s.source, t.plid, t.plural, t.translation FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.location LIKE '%.js%' AND s.textgroup = 'default' ORDER BY t.plural DESC
Этот запрос вообще выполняется 4сек, я в шоке. Куда посоветуете смотреть дальше?
Ну давайте тогда и я свои наблюдения буду говорить:
1.
Table_locks_immediate 300499 Количество раз, когда блокировка была нужна немедленно.
Table_locks_waited 371 Количество раз, когда серверу приходилось ожидать блокировку.
2.
Qcache_lowmem_prunes 55372 Количество раз, когда MySQL приходилось удалять запросы из кэша из-за нехватки памяти. В идеале равно нулю.
Соответственно вот те штуки которые у меня вызывают недовольство. Как эти вещи проанализировать более детально.
У меня херова куча сайтов на друпале и больше 500мс я не наблюдал ещё
Для чего? Для создания ноды? Для открытия страницы редактирования ноды?
Открытие самой страницы закэшированой, это понятно что не будет превышать 500мс.
А вот с отключенным кэшированием извините, 2-7сек. Таковы цифры друпала на сег день.
Никто не спорит что оно субъективно Говорю ведь я и только за свой опыт.
Если у вас есть другие цифры прошу их тут привести. Тогда я пойму что у меня где-то еще есть проблемы и займусь их поиском и решением. Я тоже не говорю что я супер-пупер батька в друпале
У меня сейчас 2 сайта на друпале, один открывается 370мс, второй 980мс (в основном по причине того что он еще в активной разработке и там не сведены js и css)
Но мы же говорим не про открытие нод, а про их создание, а это уже другие цифры 8-10сек, это минимальные показатели при среднем наполнении модулями и типом материала 10-20 полей)
Решено: ahah загрузка и удаление изображений
Оффтоп: где вариант про то что очень много букавок и не осилил?
По теме:
drupal_process_form($form_id, $form, $form_state);
разве не вызывает сабмит формы?
попробуйте не через
$form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);
а через
$form = form_builder($form_id, $form, $form_state);
если на форме ваш ахах делает изменения незабывайте обновлять кэш после изменений:
form_set_cache($form_build_id, $form, $form_state);
Смена пароля
Друпал точно 6?
Как назначить полю действие появляться при метке чекбокса
Я как штатный экстрасенс компании, могу позволить предположить что это форма
На основе этого предположения я могу выдвинуть гипотезу об использовании javascript, а именно jQuery для столь мизерных задач, возможно нечто эфемерное типа:
Смена пароля
http://www.drupal.ru/node/3238
http://www.drupal.ru/node/56875
И еще 100500 подобных тем, логин правильно вводите?
Отключить анонсы
А нету там такой настройки:
1. Количество материалов на главной странице:
2. Длина урезанных сообщений:
3. Просмотр материала:
и все.
У меня наоборот проблема как включить? Кнопка отделения анонса есть, но ничего не происходит
Стоит Визивиг, может он мешает?
Тормозит сервер когда редактирую ноду
хмм, все 2гига? Или что-то конкретное?
Тормозит сервер когда редактирую ноду
Давайте лучше померяемся размерами запрса cache_get,
длина запроса у меня 2.8Мб текстовой информации.
Т.е. тело запроса по длине больше романа "Война и Мир".
Так же померяемся размерами таблицы cache_form, которая весит у меня 1Гиг.
Ну и давайте померяемся скоростью выполнения запроса, приведите какой-нибуль сложный запрос.
Тормозит сервер когда редактирую ноду
на вашем херовом хостинге(сервере), сделайте поправку...
какую? mysql оптимизирован. mysqltuner по всем пунктам пишет ОК
Скорость запросов с консоли, да и все нагрузочные тесты sysbench показывают отличные результаты.
Сервер вроде настроен отлично, опять же хотелось повторить что Битрикс на нем работает на ура. Время генерации админки битрикса не превышает 800мс. Время создания материала в инфоблоке не превышает 1сек.
Тормозит сервер когда редактирую ноду
Кстати, отключение модуля locale уменьшает количество завпрос с 700 до 200, и дает прирост производительности в 200 раз.
Тормозит сервер когда редактирую ноду
Полное отключение кэша друпал для меня дало увеличение производительности в 20 раз.
Т.е. раньше форма создания ноды занимала 700+ запросов, которые выполнялись за 4-5сек, после отключения - 200-300мс. Основным источником задержки были функции cache_get и cache_set, которые выполнялись по 2 раза для каждого типа содержимого и занимали до 400мс каждый.
Отключил след образом: в файле cache.inc в начале функций cache_get и cache_set вставил:
Тормозит сервер когда редактирую ноду
Смотрел какие запросы чаще всего идут в базу параллельно для перевода таблицы в InnoDB.
Увидел что это в основном cache_menu и cache_form. Но перевести их в InnoDB не даст прироста производительности, т.к.
cache_form 1Гиг, cache_menu 0.5Гиг
Перевод их в InnoDB потребует от меня перенастроить mysql на использование буфера в 2Гиг, а это вся моя оперативка. Меньшее число буфера не даст эффективности InnoDB.
Вопрос: Эти таблицы должны быть такими огромными? Можно их отчистить вообще? Почему друпал при нажати кнопки отчистить все кэши их не чистит?
Тормозит сервер когда редактирую ноду
3976.75
_locale_rebuild_js
SELECT s.lid, s.source, t.plid, t.plural, t.translation FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.location LIKE '%.js%' AND s.textgroup = 'default' ORDER BY t.plural DESC
Этот запрос вообще выполняется 4сек, я в шоке. Куда посоветуете смотреть дальше?
Тормозит сервер когда редактирую ноду
Так же мне интересно:
Главная страница генерирует 480+ запросов к БД, 80% из которых запросы i18nstrings_get_string.
Тормозит сервер когда редактирую ноду
Вот еще:
45.62 мс
cache_get
SELECT data, created, headers, expire, serialized FROM cache_menu WHERE cid = 'links:navigation:tree-data:40a57ccbaa85c3f039b6448ca5c3c3d8'
Вот такой запрос из друпала выплняется 45мс, напрямую из консоли 1.4мс, кэшированный 0.3мс
Каковы причины различия?
Тормозит сервер когда редактирую ноду
Да и вообще почему выполняются запросы cache_get, cache_set при отключенном кэшировании?
Тормозит сервер когда редактирую ноду
Нет.
Кстати я увидел тут http://www.drupal.ru/node/28481 подобную проблему.
Только у меня 6-ка. Вот сижу ищу, где я объявлял переменные языка через global.
Тормозит сервер когда редактирую ноду
Кильнул все процессы, теперь:
| 4121 | | localhost | | Query | 128 | Sending data | /* ????? : locale */ SELECT s.source, t.translation, t.language FROM locales_source s LEFT JOIN |
| 4136 | | localhost | | Query | 87 | Sending data | /* ????? : locale */ SELECT s.source, t.translation, t.language FROM locales_source s LEFT JOIN |
Не выполняются эти запросы, т.е. долго выполняются 128 сек это перебор, вам не кажется )))
Причем активных всего этих два запроса.
Тормозит сервер когда редактирую ноду
Посмотрел активные запросы к базе.
Около 50+ запросов в состоянии Locked:
/* ????? : db_query */ SELECT COUNT(*) FROM (SELECT node_data_field_exhimage.field_exhimage_fid
ну и дальше не видно...
Как узнать где вызывается этот запрос?
Тормозит сервер когда редактирую ноду
Ну давайте тогда и я свои наблюдения буду говорить:
1.
Table_locks_immediate 300499 Количество раз, когда блокировка была нужна немедленно.
Table_locks_waited 371 Количество раз, когда серверу приходилось ожидать блокировку.
2.
Qcache_lowmem_prunes 55372 Количество раз, когда MySQL приходилось удалять запросы из кэша из-за нехватки памяти. В идеале равно нулю.
Соответственно вот те штуки которые у меня вызывают недовольство. Как эти вещи проанализировать более детально.
Тормозит сервер когда редактирую ноду
RxB
У меня херова куча сайтов на друпале и больше 500мс я не наблюдал ещё
Для чего? Для создания ноды? Для открытия страницы редактирования ноды?
Открытие самой страницы закэшированой, это понятно что не будет превышать 500мс.
А вот с отключенным кэшированием извините, 2-7сек. Таковы цифры друпала на сег день.
Вопрос: к этому сайту вы имеете отношение?
Тормозит сервер когда редактирую ноду
Никто не спорит что оно субъективно
Говорю ведь я и только за свой опыт.
Если у вас есть другие цифры прошу их тут привести. Тогда я пойму что у меня где-то еще есть проблемы и займусь их поиском и решением. Я тоже не говорю что я супер-пупер батька в друпале
Темизация edit старниц. Для каждого типа материала индивидуальная темизация
я могу посоветовать посмотреть тему fusion, в именно файл template.php и скопировать код оттуда.
На этой все файлы темизации работают без проблем.
Тормозит сервер когда редактирую ноду
У меня сейчас 2 сайта на друпале, один открывается 370мс, второй 980мс (в основном по причине того что он еще в активной разработке и там не сведены js и css)
Но мы же говорим не про открытие нод, а про их создание, а это уже другие цифры 8-10сек, это минимальные показатели при среднем наполнении модулями и типом материала 10-20 полей)
Тормозит сервер когда редактирую ноду
Трудновато привести пример, у меня всего один проект не на друпале, и на одном хосте с друпалом.
Это проект на битриксе.
Соответственно:
Сервак: Pentium 4 2.2, 2Г ОЗУ
Всего 2 сайта, один на дру, второй на битриксе.
Скажу так, сравнивать чистую админку друпала и чистую админку битрикса просто невозможно, это как сравнивать улитку и реактивный самолет.
Тормозит сервер когда редактирую ноду
Т.е. вы хотите сказать что у создателей этого сайта проблема с мозгом?