Я только начал использовать YII и смог закончить свое первое приложение. к сожалению, день запуска близок, и я хочу, чтобы это приложение было очень быстрым. Пока что единственный способ ускорить его, я столкнулся с стандартным кэшированием. Какие еще способы ускорить мое приложение?
Самые быстрые способы ускорить ваше приложение YII?
Ответ 1
Прежде всего, прочитайте Настройка производительности в официальном руководстве. Дополнительно:
- Проверить кеширование HTTP.
- Обновите свой PHP. Каждая основная версия дает вам хороший импульс.
- Используйте redis (или, по крайней мере, базу данных) для сеансов (по умолчанию сеансы PHP используют файлы и блокируются).
- Рассмотрите возможность использования nginx вместо (или с) apache. Он обеспечивает контент намного лучше.
- Рассмотрим использование CDN.
- Измените свою базу данных.
Это все общие вещи, которые относительно легко сделать. Если это не приемлемо впоследствии, не предполагайте. Профиль.
Ответ 2
1. Следуя рекомендациям
В этом рецепте мы увидим, как настроить Yii для лучших результатов и увидим некоторые дополнительные принципы построения реагирующих приложений. Эти принципы являются общими и связаны с Yii. Поэтому мы сможем применить некоторые из них даже без использования Yii.
Подготовка к работе
Установите APC (http://www.php.net/manual/en/apc.installation.php)
Создайте новое приложение Yii, используя yiic webapp
2.Создание сеансов обработки
Собственная обработка сеансов в PHP в большинстве случаев прекрасна. Есть как минимум две возможные причины, по которым вы хотите изменить способ обработки сеансов:
При использовании нескольких серверов вам необходимо иметь общую сессионную память для обоих серверов.
По умолчанию PHP-сессии используют файлы, поэтому максимальная возможная производительность ограничена дисковыми вводами/выводом
3.Использование зависимостей кэшей и цепочек
Yii поддерживает множество кеш-серверов, но то, что на самом деле делает Yii-кеш гибким, - это поддержка привязки зависимостей и зависимостей. Бывают ситуации, когда вы не можете просто кэшировать данные в течение часа, потому что кеширование информации может быть изменено в любое время.
В этом рецепте мы увидим, как кэшировать целую страницу и все равно всегда получать свежие данные при ее обновлении. Страница будет отображаться на панели инструментов и отобразит пять последних добавленных статей и общую сумму, рассчитанную для учетной записи. Обратите внимание, что операция не может быть отредактирована, поскольку она была добавлена, но статья может.
4.Профилирование приложения с помощью Yii
Если все рекомендации по развертыванию приложения Yii применяются, и вы по-прежнему не имеете требуемой производительности, то, скорее всего, есть некоторые узкие места с самим приложением. Основной принцип при работе с этими узкими местами - это то, что вы никогда не должны ничего принимать и всегда проверяете и просматриваете код, прежде чем пытаться его оптимизировать.
Ответ 3
Если большая часть вашего приложения кэшируема, вы должны попробовать прокси, например, лак.
Ответ 4
Перейти для общего PHP Mysql Производительность.
1) Memcache
Система кэширования объектов с распределенной памятью с открытым исходным кодом Memcahced помогает ускорить динамические веб-приложения за счет снижения нагрузки на сервер баз данных.
2) Настройка производительности MySQL
3) Производительность веб-сервера для PHP