Создание высоконагруженных приложений
То, что вы используете фреймворк ещё не означает, что ваше приложение готово к высоким нагрузкам. Проектирование под высокие нагрузки включает в себя множество аспектов. Например:
- Аккуратное проектирование БД (к примеру, сайты с очень интенсивным использованием БД не должны использовать внешние ключи).
- Оптимальные запросы (например, не используйте
JOINесли этого на самом деле не требуется). - Кэширование всего, чего только можно.
- Несколько серверов, вынос БД, кеша на отдельный сервер.
При использовании Yii вы можете быть уверены, что фреймворк не будет узким местом вашего приложения. К тому же, в Yii реализована довольно мощная поддержка кеширования, которой не найти в большинстве других фреймворков.
Обработка при сохранении
Если какое-то действие повторяется каждый раз при выводе данных, например, перевод разметки bbcode или markdown в HTML, лучше сделать это один раз при сохранении и записать в БД.
Обработка по расписанию
При обработке большого количества данных стоит добавлять их в очередь и затем уже обрабатывать в фоне постепенно, используя cron.
Стоит изучить
- Настройка для работы на сервере.
- Улучшение производительности.
- Блог «Высокая производительность» на Хабре.
Автор: Александр Макаров, Sam Dark (rmcreative.ru)

