Задать вопрос

После перехода на Yii2 сильно просела бд?

Был небольшой личный проект. Крутился на Yii 1.1.14. Недавно вышла бета Yii2.
Перенес кодовую базу на нее. При этом логику работы приложения почти не менял.

Заметил, что очень сильно просела база. Запросы стали выполняться в 3-4 раза дольше. Логи молчат, тупо запрос выполняется дольше.
База - postgres 9.1
Старый конфиг:
return [
    'connectionString'      => 'pgsql:host=localhost;port=5432;dbname=dbName',
    'username'    => 'user',
    'password' => 'pass',
];

Новый конфиг:
return [
  'class'    => 'yii\db\Connection',
  'dsn'      => 'pgsql:host=localhost;port=5432;dbname=dbName',
  'username' => 'user',
  'password' => 'pass',
  'charset'  => 'utf8',
];

Подскажите, в чем может быть проблема? Я смутно представляю где вообще искать. Буду благодарен за любые соображения.
  • Вопрос задан
  • 5518 просмотров
Подписаться 7 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
sanchezzzhak
@sanchezzzhak
Ля ля ля...
легирование sql запросов включено в фреймворке?
Ответ написан
Комментировать
metamorph
@metamorph
а попробуйте enableSchemaCache и schemaCacheDuration включить.
Ответ написан
@PapaStifflera
Родился, вырос...
1. Обновите PostgreSQL до актуальной версии (сейчас 9.3).
2. Настройте Postgres. Хотя, я не помню случаев, чтобы после перехода с кривого MySQL на Постргес была бы просадка по производительности. Всегда с точностью до наоборот. Соответственно, подстройте конфигурацию постгрес под ваше железо. Для этого есть специальные скрипты - поищите в гугле.
3. Настройте профилирование запросов. Если используется ссылочная целостность, то проверьте наличие индексов на полях, которые являются ссылками на другие таблицы. Постгрес для таких полей сам не строит индексов.
Ответ написан
voskobovich
@voskobovich
PHP Developer | 8+ years exp.
Если в приложении использовалась жадная загрузка и за счет нее ускорялось получение данных из бд, то стоит учесть, что в Yii2 логика совсем другая на этот счет.
В Yii1 использовались JOIN, а в Yii2 этого нет и жадная загрузка в некоторых случаях может даже ухудшить ситуацию. На этот счет лучше почитать www.yiiframework.com/doc-2.0/guide-db-active-recor...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы