Назад | Перейти на главную страницу

Оптимизация приложения для обработки огромных всплесков

Наше приложение быстро растет, поэтому теперь нам нужно масштабировать инфраструктуру, чтобы не замедлять работу всего веб-сайта независимо от того, сколько у нас пользователей.

Бэкэнд-система основана на множестве вызовов curl длительностью 1-10 секунд, и их необходимо выполнять параллельно.

В настоящее время у нас есть 4 ГБ оперативной памяти 4 ядра vps, но иногда мы получаем ошибку 503, когда все 50 каналов запускаются параллельно (мы настраиваем 50 заданий cron), которые выполняют 5 вызовов curl / каждый

Эти числа будут быстро увеличиваться, поэтому нам нужно найти решение, чтобы не позволять конечному пользователю ждать больше минуты, чтобы сделать свои дела.

Нужен ли нам выделенный сервер, или это не будет иметь большого значения? Или настроить лямбда-функции aws с sns-очередью? Amazon будет лучшим решением, потому что какое бы количество sns-сообщений мы ни поместили в очередь, они сразу же будут обработаны при включении триггера, но лямбда-функция в настоящее время не поддерживает PHP, поэтому мы должны переписать весь код на Python.

Как бы вы справились с этой ситуацией, чтобы повысить производительность?