Эффективность очистки экрана - PullRequest
3 голосов
/ 05 мая 2011

Мы собираемся каждую ночь очищать тысячи веб-сайтов для обновления клиентских данных, и мы находимся в процессе принятия решения, какой язык мы хотели бы использовать для очистки.

Мы не привязаны ни к какой платформе или языку, и я просто ищу эффективность. Если мне нужно выучить новый язык, чтобы мои серверы работали хорошо, это нормально.

Какой язык / платформа обеспечат нам максимальную эффективность очистки на доллар? На самом деле я ищу реальный опыт работы с большими объемами очистки. Речь идет о максимизации CPU / Memory / Bandwidth.

Ответы [ 5 ]

4 голосов
/ 05 мая 2011

Вы все равно будете привязаны к IO, производительность вашего кода вообще не будет иметь значения (если вы не очень плохой программист ..)

0 голосов
/ 10 мая 2011

Для просмотра веб-страниц я использую Python с lxml и несколькими другими библиотеками: http://webscraping.com/blog

Ввод-вывод является основным узким местом при сканировании - для загрузки данных с хорошей скоростью необходимо использовать несколько потоков.

Я кэширую весь загруженный HTML, поэтому использование памяти остается низким.

Часто после сканирования мне нужно изменить структуру различных функций, и ЦП становится важным.

0 голосов
/ 09 мая 2011

С объемом, который потребовался бы тысячам сайтов, вам может быть выгоднее, если вы посмотрите на коммерческие пакеты.Они устраняют проблему ввода-вывода и имеют инструменты, специально разработанные для обработки нюансов между каждым сайтом, а также инструменты для последующей очистки данных и планирование для поддержания актуальности данных.

0 голосов
/ 05 мая 2011

Если вы знаете C, однопотоковая синхронная ссылка (называемая «простым» методом) - это короткая работа с libcURL .Несколько асинхронных потоков (называемых «мульти») - это на пару часов больше.

HTH

0 голосов
/ 05 мая 2011

Используя комбинацию python и красивого супа, невероятно легко очень быстро написать скребущийся код. Кривая изучения красивого супа есть, но оно того стоит.

По эффективности я бы сказал, что это так же быстро, как и любой другой метод. Я никогда не делал тысячи сайтов одновременно, но держу пари, что это определенно соответствует задаче.

...