Для практики курса Highload Architect
Можно поднять приложение и сразу начать загрузку тестовых данных.
(!) Внимание: загрузка тестовых данных требует длительного времени (10-15 мин), т.к. генерируется большой объем данных, а так же включает в себя генерацию кэша новостных лент.
Для запуска выполните команду в корне проекта:
make demomake load-usersПри загрузке случайным образом формируются списки друзей пользователя (на кого он подписан), так же каждый пользователь подписывается на всех знаменитостей (id: 1, 10, 100, 1000, 10000, 100000).
make load-postsили
docker compose run --rm php-fpm php -d memory_limit=2G artisan app:generate-posts-data --startId=1 --users=1000000 --posts=3Параметры:
startId- ID пользователя с которого начинается генерация постов (по умолчанию 1)users- количество пользователей для которых будут сформированы посты (по умолчанию 1 млн.)posts- количество постов на каждого пользователя (по умолчанию 3 шт.)
make cache-warmили
docker compose run --rm php-fpm php -d memory_limit=2G artisan cache:warm --only_active=1 --active_sub_days=1 --batch_size=10000Параметры:
only_active- формировать кэш лент новостей только для активных пользователей (по умолчанию 1), которые авторизовались за указанное в параметре active_sub_days количество дней назадactive_sub_days- количество дней (по умолчанию 1 день)batch_size- объем пакета (по умолчанию 10000 лент пользователей)
Просмотр генерации лент: http://localhost/horizon/dashboard
- Способ через
makefile
Чтобы запустить приложение, выполните команду в корне проекта:
make setudp- Способ без
makefile
Чтобы запустить приложение, выполните следующие команды в корне проекта:
docker compose up -d && \
docker compose run --rm php-fpm composer install --ignore-platform-reqs && \
docker compose run --rm php-fpm php artisan migrate:freshКоллекция Postman для тестирования API находится в папке /docs/.
- Php-fpm
- Nginx
- Postgres