Тут вариант - перейти на очереди. При чем без разницы, на каком языке будут крутится воркеры.
Например, надо проверить ссылки, кидаем в очередь все ссылки. Очередь можно использовать любую - Redis, Gearman, YandexMQ, RabbitMQ. Последний я тестил с 10к записями, но многие пишут, что с 1м медленно работает. По идее Яндекс должен нормально справляться с такими нагрузками. Ну а Редис и Гирман довольно легко переваривают по 100к записей
Я рекомендовал бы использовать Redis. И очень сильно не рекомендую использовать Mysql для этого.
А дальше просто воркеры выполняют задачу и записывают результат. Ну или кидают в другую очередь. Воркеры можно писать на любом языке. Это довольно большой плюс. Также их можно размещать на разных серверах. Можно запустить несколько воркеров на php и несколько на python. И проверить их скорость.
Работу воркеров можно через Supervisor контролировать - автозапуск, рестарт и количество запущенных воркеров.
Зачем кидать результат в другую очередь? Чтобы избежать кучи одновременных коннектов к базе. Просто один-два воркера собирают результаты и записывают в базу.
Ну и первые воркеры будут выполнять определенную задачу и будут работать с очередями. То есть, взял задание, выполнил и кинул результат. На Python подобный скрипт будет потреблять памяти 5-15Мб. Можно около сотни воркеров на слабой vds запустить.