xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
ivanbcdef
Сообщения: 14
Зарегистрирован: 2017.08.19, 13:50
Откуда: Бровары
Контактная информация:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение ivanbcdef »

Добрый день, коллеги.

print_r($this) в контроллере.

Пример:

Код: Выделить всё

class SomeController extends Controller {
    public function init() {
        print_r($this);
    }
}
В результате, среди дебаг информации, в броузере есть такое:

Код: Выделить всё

[exception] => [_memoryReserve:yii\base\ErrorHandler:private] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ... и так далее.
Вопроса 3:
1. С чем это связано?
2. Как это убрать?
3. Это только у меня или у всех (как часть фреймворка)?


Спасибо.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение zelenin »

написано же - memoryReserve
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение samdark »

1. Когда происходит фатал из за забитой памяти, не остаётся памяти чтобы сделать запись в лог. На этот случай в переменную набита туча xxx. В случае фатала unset переменной даёт достаточно памяти.
2. Не надо это убирать.
3. У всех.
Аватара пользователя
ivanbcdef
Сообщения: 14
Зарегистрирован: 2017.08.19, 13:50
Откуда: Бровары
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение ivanbcdef »

zelenin писал(а): 2017.09.21, 11:12 написано же - memoryReserve
Это не ответ! Мягко говоря - пукнул и смотался.
Zelenin, можете ответить на следующие вопросы:
1. О какой памяти идет речь? (несколько слов)
2. Какому процессу не удаётся логировать сообщение "Out of memory" в error.log? (достаточно названия процесса)
3. Есть ли разница "yii2yii2yii" или "xxxxxxx" в кодировке UTF8 и ISO-8859-1? (да/нет)
4. О проблематике в целом, ведь вопрос спорный. (по желанию)
По работе сталкиваюсь с mpm последних 10 лет. Постараюсь Вас понять, уважаемый Zelenin.
Последний раз редактировалось ivanbcdef 2017.09.23, 12:00, всего редактировалось 2 раза.
Аватара пользователя
ivanbcdef
Сообщения: 14
Зарегистрирован: 2017.08.19, 13:50
Откуда: Бровары
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение ivanbcdef »

samdark писал(а): 2017.09.21, 14:20 1. Когда происходит фатал из за забитой памяти, не остаётся памяти чтобы сделать запись в лог. На этот случай в переменную набита туча xxx. В случае фатала unset переменной даёт достаточно памяти.
2. Не надо это убирать.
3. У всех.
Понял.
Спасибо.
Всё же попробую убрать.
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение trueorfalse »

ivanbcdef писал(а): 2017.09.23, 11:43
zelenin писал(а): 2017.09.21, 11:12 написано же - memoryReserve
Это не ответ! Мягко говоря - пукнул и смотался.
Zelenin, можете ответить на следующие вопросы:
1. О какой памяти идет речь? (несколько слов)
2. Какому процессу не удаётся логировать сообщение "Out of memory" в error.log? (достаточно названия процесса)
3. Есть ли разница "yii2yii2yii" или "xxxxxxx" в кодировке UTF8 и ISO-8859-1? (да/нет)
4. О проблематике в целом, ведь вопрос спорный. (по желанию)
По работе сталкиваюсь с mpm (последних 10 лет). Постараюсь Вас понять, уважаемый Zelenin.
пукнул и смотался.
:D
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение samdark »

1. О какой памяти идет речь? (несколько слов)
Об этой http://php.net/manual/en/ini.core.php#ini.memory-limit.
2. Какому процессу не удаётся логировать сообщение "Out of memory" в error.log? (достаточно названия процесса)
Процессу, обрабатывающему скрипт. Зависит от модели запуска PHP. В случае mpm, по идее, это или форк или тред.
3. Есть ли разница "yii2yii2yii" или "xxxxxxx" в кодировке UTF8 и ISO-8859-1? (да/нет)
Нет.
4. О проблематике в целом, ведь вопрос спорный. (по желанию)
Проблематика простая. Если лог пуст, факт ошибки мы не узнаем, а некоторым юзерам будет не сладко.
Аватара пользователя
ivanbcdef
Сообщения: 14
Зарегистрирован: 2017.08.19, 13:50
Откуда: Бровары
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение ivanbcdef »

samdark писал(а): 2017.09.23, 21:58
4. О проблематике в целом, ведь вопрос спорный. (по желанию)
Проблематика простая. Если лог пуст, факт ошибки мы не узнаем, а некоторым юзерам будет не сладко.
Я так понял, что это резервирование сделано для процессов запущенных не Apache, а из консоли например.
Для процессов Apache можно ставить значение 0, ведь у Apache всегда хватит памяти написать в свой error.log сообщение "Out of memory".

Порадовало, что выключается "xxx" удобно, в yii2/base/ErrorHandler.php+39:
Проверка через ab:

Код: Выделить всё

public $memoryReserveSize = 262144;  # 73, 70, 63, 62  [req/sec]

public $memoryReserveSize = 0;  # 107, 102, 117, 103  [req/sec]
Вопрос:
Значит имеет смысл отключать "xxx" для Apache?
WalpeR
Сообщения: 64
Зарегистрирован: 2016.08.29, 17:21

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение WalpeR »

Причем тут Апач? Ведь речь о php, там вам даже ссылку дали
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение samdark »

Это про логи самого Yii. В системный лог ошибка запишется в любом случае.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение samdark »

С какими параметрами вызывался ab и какой сервер?
Аватара пользователя
ivanbcdef
Сообщения: 14
Зарегистрирован: 2017.08.19, 13:50
Откуда: Бровары
Контактная информация:

Re: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Сообщение ivanbcdef »

samdark писал(а): 2017.09.30, 14:55 С какими параметрами вызывался ab и какой сервер?
4 x cores 3.4 Ггц AMD; SSD DAID0; 32 GB ОЗУ;

Код: Выделить всё

ab -n800 -c8 https://*.in.ua/v2/strategy
WalpeR писал(а): 2017.09.30, 11:10 Причем тут Апач? Ведь речь о php, там вам даже ссылку дали
Запускаю Yii2 только под Apache2 (web-приложение). Тут гонять память (500 Килобайт/запрос) - нет смысла.
Поставил $memoryReserveSize = 0.

По факту, разница есть:

Код: Выделить всё

print 'Память = ' . round( memory_get_usage() / 1048576,2 ) . ' Мегабайт'; # в контроллере 

# public $memoryReserveSize = 262144; 
# Память = 1.65 Мегабайт

# public $memoryReserveSize = 0; 
# Память = 1.15 Мегабайт
Вопрос решен.
Спасибо.
Ответить