Семёрка >= 7.33 вешает сервер

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 24 ноября 2014 в 14:10

Вчера заметил неприятную штуку, D7, а именно релизы после 7.32, на данный момент это 7.33 и 7.34 реально вешают сервер. Лоад с 3-4 до соточки жмёт без проблем. Нагрузка идёт от пыха по процу.
Прав был Шаманер, а мы ему не верили...
Подозреваю, что это это последствия слишком огроменного количества изменений https://www.drupal.org/drupal-7.33-release-notes
Буду проводить бенчмарки и искать виноватого.

Комментарии

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 24 ноября 2014 в 20:34

Ну так я бисектом и посмотрел.
Или ты предлагаешь вручную на каждый коммит делать checkout и смотреть что вышло?
В общем пока могу сказать, что бага чётко коррелирует с частым запуском кроном, до конца ещё не отловил.

Аватар пользователя drupby drupby 25 ноября 2014 в 9:11

"RxB" wrote:
Лоад возрастает из-за этого коммита

ну так эта функция(drupal_get_filename) насколько я понимаю вызывается после запуска крона
но по времени оно выполняется очень быстро

вот стек вызовов после запуска крона до этой функции

index.php:21
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()
Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 25 ноября 2014 в 12:07

"drupby" wrote:
ну так эта функция(drupal_get_filename) насколько я понимаю вызывается после запуска крона
но по времени оно выполняется очень быстро

Но тут не только крон.
Сейчас у меня 500 авторизованных онлайн, хз сколько анонимов, ЛА на серванте 1.56.
Если я накачу

<?php
- if (file_exists(DRUPAL_ROOT '/' $file)) {
+ if (
$file !== FALSE && file_exists(DRUPAL_ROOT '/' $file)) {
?>

ЛА подскочит до десятки.

Аватар пользователя drupby drupby 25 ноября 2014 в 12:38

"RxB" wrote:
Но тут не только крон.

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

Аватар пользователя goodboy goodboy 25 ноября 2014 в 13:26

В чем причина проблемы, интересно. Слишком быстро стала выполняться функция, Exception перестал тормозить ))

Аватар пользователя Orion76 Orion76 25 ноября 2014 в 14:26

$file скорее всего === FALSE
B причина ниже строки 874:

<?php
if (!isset($files[$type][$name])) {
?>

Ваш КО-)

"Счетчик" какой-нибудь поставить, и залогировать: что за файлы он так долго и много ищет..