@vitalysokolov

Как получать ответы от перегруженного сервера с определённой периодичностью?

Дано:
Есть некий вебсайт на apache + php, который парсят много людей. Сервер физически один, никаких балансировщиков, облачных сервисов и т.п. нет. В разные моменты времени нагрузка на сервер разная, и ответ от него может приходить за 0.5 секунды, 30 секунд, так и вообще не прийти в период пиковой нагрузки.

Вопрос:
Как максимизировать вероятность успешного получения данных с сервера (парсинг страницы) минимум раз в 10 секунд? Т.е. мне нужно парсить данные с сервера и получать ответ хотя бы каждые 10 сек.

Если отправлять запросы последовательно, то при пиковой загрузке можно ждать несколько минут, прежде чем сервер вернёт данные.

Какие есть варианты? Бомбить каждые 5 секунд, рассчитывая на то, что хотя бы 50% запросов дойдёт и среднее время получения ответа будет не более 30 секунд? Плюс добавить прокси, которые географически ближе расположены к серверу?
Использую aiohttp в python3. Переходить на что-то более быстрое с современным подходом к асинхронности/многопоточности типа Rust/Go, наверно, смысла особого нет?

60fc75fcc9ec1645158657.png
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Сервер физически один, никаких балансировщиков, облачных сервисов и т.п. нет.

Горизонтально масштабировать, добавить балансировщики, облачные сервисы и т. п.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 мар. 2024, в 11:54
3000 руб./за проект
19 мар. 2024, в 11:52
3000 руб./за проект
19 мар. 2024, в 11:49
10000 руб./за проект