Быстрый парсер кодов ответа сервера для 1 млн сайтов. Пока что выбрал PHP?
Доброго времени суток. Вопрос такой, собираюсь сделать простой, но быстрый парсер заголовков ответов серверов и парсинга главных страниц примерно для 1 миллиона сайтов. Пока что выбор пал на PHP, так как для него есть удобная библиотека CURL (для парсинга главных страниц). Но смущает то, что скрипт PHP довольно быстро упирается в ограничения nginx. Придется продолжать парсинг в несколько итераций и создавать дополнительную нагрузку на базу. Да и не предназначен PHP для таких долгих задач по своей сути.
В идеале выполнять парсинг каждый день. Как думаете, стоит попробовать что-то еще, или выбор в сторону PHP правильный?
Если до сих пор непонятно, парсер миллиона сайтов и nginx - это вещи никак между собой не связанные. Это как спросить "я тут банку майонеза нашел, но в нее огурцы не помещаются".
Что в целом говорит нам о том, что "мильён сайтов" - это влажные эротические мечты, вообще никак не связанные с реальностью.
FanatPHP, ну как не связаны, когда делал онлайн сервис по парсингу ссылок, все упиралось в ограничения ngix. Но сделал, через Cron переодически запускает, все работает, хоть и не очень быстро. Не уточнил, что парсер будет в виде онлайн сервиса с web интерфейсом.
Если про быстроту, то я бы выбрал golang. Там задачи легко асинхронность и параллелить.
На втором месте будет нода, но с использованием какого-нибудь
µWebSockets.
Погуглите про асинхронный cURL в PHP, и, если есть возможность, запускайте PHP через консоль. При запуске через консоль отсутствует ограничение по тайм-ауту, соответственно, никакой нагрузки не будет, сам так делал на очень слабенькой VDS.
Мне нравится эта оговорка, "если есть возможность".
Вы явно в теме, и догадываетесь, что мечтатель с миллионом сайтов запускает свои скрипты на шаред хостинге за 5 копеек :)
FanatPHP, более того, я даже не знаю, как запускать PHP из консоли) Но знаю ООП и пишу простые скрипты. Вы тоже наверняка не с пеленок все это освоили.
michael_novikov, раньше сидел на Debian 8, 9, поверил бенчмарку на Хабре, потом перешел на Ubuntu 18.04, потому что там ставятся все новые пакеты, что мне и требовалось.
На Debian'e все приходилось собирать самому...