Я думаю, вы делаете это неправильно. Если вы хотите проанализировать такое количество каналов, вы не можете сделать это из сценария, который будет вызываться через веб-сервер.
Если вы действительно хотите выполнить опрос, вам придется запустить этот скрипт, скажем, cron, а затем «сохранить» результаты, которые будут обслуживаться другим PHP-скриптом (который может вызываться HTTP-сервером).
Однако вам все равно придется столкнуться с множеством ограничений, присущих опросу: в 99% случаев у вас не будет нового контента, что приводит к напрасной трате вашего ЦП, пропускной способности и серверов, которые вы опрашиваете. Вам также придется иметь дело с мертвыми фидами, недействительными, ограничением скорости и т. Д. *
Реализация протокола PubSubHubbub . Это поможет тем фидам, которые его реализовали, так что вам просто нужно дождаться данных, которые будут переданы вам.
Для других каналов вы можете выполнить опрос самостоятельно, как вы это делали, и попытаться найти способ избежать отдельных ошибок (недопустимый XML, неработающие хосты ... и т. Д.) Или действительно использовать такой сервис, как Superfeedr (я его создал).