Оптимизируйте запросы в БД, включите кэш запросов в конфиге.
Оптимизация и только оптимизация.
У меня на сайте может быть более 1000 запросов на одной странице с потреблением памяти 18 мб и скоростью загрузки 150 мс;
Мои настройки примерно такие:
'components' => [
'db' => [
'enableSchemaCache' => true,
'schemaCacheDuration' => 3600,
'schemaCache' => 'cache',
],
'cache' => [
'class' => 'yii\caching\MemCache'
],
]
Просто включить кэширование не достаточно, его нужно грамотно во вьюшках всех раскидать, что бы кэшировалось не все подряд, это опасно для динамических блоков. В инете много инфы про это.
Так же очень сильно снижает нагрузку минификация и конкатинация всех JS и CSS файлов. В yii2 есть как встроенные инструменты для этого, так и доп модули, например rmrevin.