Задание для летней стажировки в Stepic "Серверное приложение для машинного перевода обучающих материалов на платформе Stepik"
Приложение написано на Python 3, использовался фреймворк Flask, так как он более легковесный и быстрый, чем Django. Все библиотеки находятся в файле requirements.txt. Установка:
pip install -r requirements.txt
python server.py
Чтобы протестировать приложение:
python server_tests.py
Для нагрузочного тестирования был использован wrk. Скачать и посмотреть инструкции по установке можно по здесь. После установки в отдельном окне при запущенном сервере надо ввести команду:
wrk -t12 -c400 -d30s -s "test_loading.lua" http://127.0.0.1:5000/
Данный скрипт запустит тестирование в 12 потоков, 400 коннекшинов на 30 секунд с параметрами в файле test_loading.lua
/api/steps/lesson=<lesson_id>
Параметры get запроса:
lesson_id
- id запрашиваемого урока
Ответ:
ids
- массив id степов
Для продакшн версии неплохо было бы установить сервер gunicorn, а также записать все параметры и библиотеки в готовый docker образ.