forked from samdark/yiiframework_ru_cookbook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhighload.txt
36 lines (29 loc) · 2.56 KB
/
highload.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Создание высоконагруженных приложений
=====================================
То, что вы используете фреймворк ещё не означает, что ваше приложение готово к
высоким нагрузкам. Проектирование под высокие нагрузки включает в себя множество
аспектов. Например:
- Аккуратное проектирование БД (к примеру, сайты с очень интенсивным использованием БД не
должны использовать внешние ключи).
- Оптимальные запросы (например, не используйте `JOIN` если этого на самом деле не требуется).
- [Кэширование всего, чего только можно](/doc/guide/caching.overview).
- Несколько серверов, вынос БД, кеша на отдельный сервер.
При использовании Yii вы можете быть уверены, что фреймворк не будет узким местом
вашего приложения. К тому же, в Yii реализована довольно [мощная поддержка кеширования](/doc/guide/caching.overview),
которой не найти в большинстве других фреймворков.
Обработка при сохранении
------------------------
Если какое-то действие повторяется каждый раз при выводе данных, например, перевод
разметки bbcode или markdown в HTML, лучше сделать это один раз при сохранении и записать
в БД.
Обработка по расписанию
-----------------------
При обработке большого количества данных стоит добавлять их в очередь и затем уже
обрабатывать в фоне постепенно, [используя cron](install.cron).
Стоит изучить
-------------
- [Настройка для работы на сервере](install.production).
- [Улучшение производительности](/doc/guide/topics.performance).
- [Блог «Высокая производительность» на Хабре](http://habrahabr.ru/blogs/hi/).
---
- `Автор`: Александр Макаров, Sam Dark ([rmcreative.ru](http://rmcreative.ru/))