Создание высоконагруженных приложений

То, что вы используете фреймворк ещё не означает, что ваше приложение готово к
высоким нагрузкам. Проектирование под высокие нагрузки включает в себя множество
аспектов. Например:

  • Аккуратное проектирование БД.
  • Оптимальные запросы (например, не используйте JOIN если этого на самом деле не требуется).
  • Кэширование всего, чего только можно.
  • Несколько серверов, вынос БД, кеша на отдельный сервер.

При использовании Yii вы можете быть уверены, что фреймворк не будет узким местом
вашего приложения. К тому же, в Yii реализована довольно мощная поддержка кеширования,
которой не найти в большинстве других фреймворков.

Обработка при сохранении

Если какое-то действие повторяется каждый раз при выводе данных, например, перевод
разметки bbcode или markdown в HTML, лучше сделать это один раз при сохранении и записать
в БД.

Обработка по расписанию

При обработке большого количества данных стоит добавлять их в очередь и затем уже
обрабатывать в фоне постепенно, используя cron.

Стоит изучить


  • Автор: Александр Макаров, Sam Dark (rmcreative.ru)