|
Yii2, метод save модели отрабатывает очень долго
|
|||
---|---|---|---|
#18+
Имеется такой код, который просто устанавливает значение поля status в 0 или 1. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И он работает где-то около 20 секунд. Как выяснилось, долго работает строка $number = $news->save(); Я определил это с помощью exit-ов до и после строки. Также выяснилось, что значение поля status в действительности меняется мгновенно, так как запрос к таблице сразу же показывает изменения. Но метод save после этого продолжает работать ещё долго. Поле status определено как TINYINT(1) NULL DEFAULT 0 без всяких индексов. База MySQL, InnoDB, в таблице 78701 записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 14:50 |
|
Yii2, метод save модели отрабатывает очень долго
|
|||
---|---|---|---|
#18+
Профайл посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 15:57 |
|
Yii2, метод save модели отрабатывает очень долго
|
|||
---|---|---|---|
#18+
Выяснилось следующее. Медленно отрабатывает вызов afterSave в конце метода updateInternal(перед return). Причём, весь код до этого вызова отрабатывает быстро. Тормозит сам вызов afterSave. То есть, cтавлю exit перед $this->afterSave(false, $changedAttributes) - попадаю туда мгновенно, ставлю exit первой строкой внутри метода afterSave - жду порядка 17 секунд. Трудно сказать, что может задержать сам по себе вызов функции. Может интерпретатор php работает не строго последовательно, а асинхронно что-ли, и код внутри метода может повлиять на быстроту вызова самого метода? Код afterSave выглядит вот так Код: php 1. 2. 3. 4. 5. 6.
В функции trigger тормозов не заметил, может медленно создается объект AfterSaveEvent? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 13:52 |
|
|
start [/forum/topic.php?fid=23&tid=1460557]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 503ms |
0 / 0 |