Новый рекорд

На очередном заказе я поставил новый личный рекорд по количеству собранных данных (отдельно собранные ссылки, картинки и прочее в счет не берем):

230 000 записей!

База собиралась изначально в 2 потока, а потом в 5 в течении 3х дней. В процессе работы над этим заказом я понял:

  • Что мне нужно купить новый компьютер :) (что я уже удачно и сделал);
  • Что для каждого проекта нужно писать контроллер процесса выполнения, чтобы случайная остановка сайта-источника на пару часов не останавливала процесс сбора информации и не привела к искривлению данных в базе;
  • Что в php memory_limit нужно ставить в значение 64М и постоянно вести мониторинг ресурсов, а то кто бы что не говорил, но php “течет” и это факт, доказанный практикой;
  • Что нужно проводить оптимизацию регулярных выражений (этому я думаю посвятить отдельную статью).

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

Особенно важным моментом является контроль процесса выполнения. В каждом конкретном случае его можно реализовать по разному и я вот сейчас работаю над созданием универсального класса. Как только будут первые наработки - я сразу же отпишу про это в очередной заметке.

2 комментариев

  1. Алексей:

    Вопрос. А как контролировать работу с памятью? У меня например стоит не 64 а вообще 128M. И все равно локальный сервер ругается Allowed memory size of 134217728 bytes exhausted (tried to allocate 840 bytes

    Как ее очищать?

  2. admin:

    Вот он и ругается, что ему не хватает 128 МБ.

    Очищать очень прость - unset переменных. Думаю в справочнике быстро найдете.

Оставить комментарий