Добрый день.
У меня был заказ на разработку одного проекта.
Так же в этом проекте я написала АПИ для моб приложение.
Апи позволяет регистрировать пользователей, авторизовывать их, и получать информацию о пользователе.
Проект очень тесно завязан с CRM Rkeeper.
Опишу один процесс, процесс регистрации.
Моб приложение отправляет запрос на регистрацию пользователя, веб сервер в свою очередь :
1. Валидирует данные
2. Создают строку в бд (в таблице пользователей)
3. Отправляет письмо для подтверждения email
4. Обращается к CRM по АПИ - ищет по email пользователя
-- Если есть, то синхронизирует данные сайта с CRM
-- Если нету, то создает в CRM этого пользователя и синхронизирует данные.
5. Обращается к CRM по АПИ и создает карточку лояльности
Это все выполняется синхронно и без очередей.
Клиент провел нагрузочное тестирование и начал жаловаться что все плохо.
Запустили 50 потоков одновременно и выдал такой результат в мс:
Registration:42512,4408
Registration:37837,6567
Registration:40158,8063
Registration:41586,602
Registration:43232,8989
-------------------------
Registration:43027,9108
Registration:31010,2805
Registration:37531,425
Registration:34658,028
Registration:59004,4044
Я разрабатывала только бекенд часть на Laravel. Деплой делала не я. Я не DevOps и ничего в этом не понимаю.
Клиент выбрал хостера -
https://hostpro.ua/
Характеристики VPS :
* ЦП - 2ядра x 2.2 Ghz
* Память - 2Gb
* HDD - 30 gb
Поставили там nginx+mysql+php7.2
Вообщем меня обвиняют, и я даже не знаю что им ответить.
Если я сама регистрируюсь, то весь процесс занимает секунд 3-5.
Я даже не знаю как провести стрес нагрузку.
Что скажете ? Где могут быть проблемы ? Может слабый или плохой VPS ? Или может плохо настроили веб сервер ?
Очевидно, что много запросов в CRM, которые по хорошему было бы кинуть в очередь. Но это нельзя делать, так как в ответ на запрос регистрации - приложение должно уже получить номер карты лояльности.
Буду рада любым советам.