Вчера заметил неприятную штуку, D7, а именно релизы после 7.32, на данный момент это 7.33 и 7.34 реально вешают сервер. Лоад с 3-4 до соточки жмёт без проблем. Нагрузка идёт от пыха по процу.
Прав был Шаманер, а мы ему не верили...
Подозреваю, что это это последствия слишком огроменного количества изменений https://www.drupal.org/drupal-7.33-release-notes
Буду проводить бенчмарки и искать виноватого.
Комментарии
git bisect наше всйо
так если так интересно за это время мог бы просмотреть все коммиты (там их всего около семидесяти http://cgit.drupalcode.org/drupal/log/?h=7.x)
Ну так я бисектом и посмотрел.
Или ты предлагаешь вручную на каждый коммит делать checkout и смотреть что вышло?
В общем пока могу сказать, что бага чётко коррелирует с частым запуском кроном, до конца ещё не отловил.
Неверноятно, но факт.
Лоад возрастает из-за этого коммита
http://cgit.drupalcode.org/drupal/commit/?id=c95d725
такая же фигня, пришлось откатиться назад
ну так эта функция(drupal_get_filename) насколько я понимаю вызывается после запуска крона
но по времени оно выполняется очень быстро
вот стек вызовов после запуска крона до этой функции
menu.inc:517 - menu_execute_active_handler()
menu.inc:517 - call_user_func_array()
system.admin.inc:2331 - system_status()
install.inc:84 - drupal_load_updates()
module.inc:292 - module_load_install()
module.inc:328 - module_load_include()
common.inc:2830 - drupal_get_path()
bootstrap.inc:864 - drupal_get_filename()
ставь восьмёру
Но тут не только крон.
Сейчас у меня 500 авторизованных онлайн, хз сколько анонимов, ЛА на серванте 1.56.
Если я накачу
<?php
- if (file_exists(DRUPAL_ROOT . '/' . $file)) {
+ if ($file !== FALSE && file_exists(DRUPAL_ROOT . '/' . $file)) {
?>
ЛА подскочит до десятки.
ну так отдебажь, поставь там точку останова и смотри где будет вызываться, я увидел только вызов при запуске крона
В ишью тихо пока https://www.drupal.org/node/2380361
В чем причина проблемы, интересно. Слишком быстро стала выполняться функция, Exception перестал тормозить ))
$file скорее всего === FALSE
B причина ниже строки 874:
<?php
if (!isset($files[$type][$name])) {
?>
Ваш КО-)
"Счетчик" какой-нибудь поставить, и залогировать: что за файлы он так долго и много ищет..
вот оно че http://www.vdmi.nl/blog/i-went-drupal-733-and-all-i-got-was-slow-site