Как сделать 10 млн. запросов с 1 сервера в разумные сроки?

D
На сайте с 28.06.2008
Offline
1101
316

Нужно сделать 10 млн. запросов с одного сервера к сайту, которые не будет против, скажем так ))

Если по 1 запросу в сек. это почти пол года. У кого есть опыт, расскажите плиз как это реализуется на PHP?

Допустим у меня в базе 10 млн. ссылок. Я по крону раз в минуту запрашиваю определенную партию, а дальше что - в цикле каждый запрос кидать на отдельный прокси? Так все равно это последовательная операция, а как сделать параллельно?

В общем буду рад любым советам.

L
На сайте с 10.02.2015
Offline
221
#1
Dram :

Нужно сделать 10 млн. запросов с одного сервера к сайту, которые не будет против, скажем так ))

Если по 1 запросу в сек. это почти пол года. У кого есть опыт, расскажите плиз как это реализуется на PHP?

Допустим у меня в базе 10 млн. ссылок. Я по крону раз в минуту запрашиваю определенную партию, а дальше что - в цикле каждый запрос кидать на отдельный прокси? Так все равно это последовательная операция, а как сделать параллельно?

В общем буду рад любым советам.

https://www.php.net/manual/ru/function.curl-multi-init.php

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2

1. настройка сервера на такое количество запросов

2. знать, что лимит у ДЦ есть также, для защиты от ДДОС, у меня например успешно делается лишь 3000 запросов за 1 раз

3. Сама структура ботов

Таблица id|url|status

Бот берёт любой RAND() из таблицы со статусом 0

Скачивает страниц или что там надо делать, после успешной операции ставит записывает 1 в статус.

4. Количество запущенных ботов регулируется сколько надо

Дальше уже оптимизация, можно не долбить БД каждый раз, а при запуске узнать сколько осталось  и распределить ID по количеству ботов, чтобы они не пересекались. 

Дальше тонкие настройки, сколько памяти всё это добро потребляет, справляется ли диск с записью данных и канал и т.д.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3

Да как писали выше, можно и мультикурл заюзать, всё зависит от задачи, что именно нужно делать.

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

D
На сайте с 28.06.2008
Offline
1101
#4

Спс, вероятно то что нужно, пошел тестировать!

D
На сайте с 28.06.2008
Offline
1101
#5
Протестировал, спасибо, узнал что-то новое ))) все работает и достаточно быстро!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий