2011-12-27 1 views
0

Я использую curl_multi_exec для обработки более 100 тыс. Запросов. Я делаю 100 запросов за раз, потому что curl_multi_exec может обрабатывать только 10 запросов одновременно, чтобы в итоге получить 100K запросов. Мы добавили несколько серверов в эту систему для распространения нагрузки [мы используем балансировку нагрузки]. Каков наилучший способ иметь завиток обрабатывать 100K запросов и использовать эти дополнительные серверы? Какая минута (кроме времени) обработки множества запросов на одном сервере? Как я могу использовать дополнительные серверы для обработки этих запросов?curl для более 100K запросов

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

Спасибо!

+3

Мне кажется, что «не используя PHP» было бы неплохо начать здесь. PHP определенно * не * самый подходящий язык для такого рода задач ... – DaveRandom

+1

Не могли бы вы уточнить, в каком узком месте вы добавили больше серверов: был ли это CPU, RAM, IP-Port-Tuples, ...? –

+0

Это можно сделать с помощью PHP, хотя я не предлагаю использовать curl для него. – nand

ответ

2

Не одержимы о CURL. Это просто инструмент. Вы фокусируетесь на неправильном уровне дизайна.

Что вам нужно учитывать, так это распространение этой рабочей нагрузки между несколькими серверами. Простой дизайн будет иметь одну центральную базу данных, в которой перечислены все ваши URL-адреса, а также метод, позволяющий клиентам «проверять» URL-адрес (или набор URL-адресов) для отладки.

Как только вы получите эту работу, часть завитка станет самой легкой частью всего этого.