Обработка файлов большого размера.

  • Автор темы Автор темы Camillo
  • Дата начала Дата начала

Camillo

Новичок
Обработка файлов большого размера.

Приветики.

Задача: обработать лог файл размером 50-100Мб (log файл)

Каким образом грамотно считывать информацию из этого
файла чтобы не очень сильно напряжно для сервака было бы?

Если есть ссылки посвященные обработке файлов большого размера средствами php - был бы очень признателен. :p

Спасибо!
 
Памяти 1Гб, сервак нагрузка ~2
Просто хотелось бы это сделать по-умному, чтобы если вдруг размер файла вырос до 1-2Гб, то это не сильно "повлияло" бы на сервер.
 
Camillo
Понимаешь, все не так просто. Быстрее всего будет считать все в память, и обработать, но память не резиновая. Медленно, но верно читать построчно и сохранять в другой файл. Опять же тормоза могут быть в процессе обработки, ведь мы не знаем ни формата данных, ни того как ты их обрабатываешь. Потому я забадался уже всем вталковывать: "Господа, решайте проблеммы по мере их поступления". Кто знает, может когда такая проблемма возникнет, ты решишь что тебе проще купить новый сервак отдельно под парсинг логов. Может твой лог врастет до гигабайта лет через 30, когда у тебя параметры сервака будут 64xCPU 34 Ггц/1024 Гб ОЗУ.....
 
каждодневный лог примерно каждый день весит 70-100Мб
кол-во строк ~700 тыс.
формат строк url ip
 
А не проще ли создать папку для логов, и в ней хранить ежедневные лог-файлы?
 
T. Anre, всё это сделано. Только дело в том, что эти логи еще нужно и проанализировать - это и есть тема топика собственно.

_RVK_, ну в принципе да, до Гб еще далеко, но всё же.
Дело в том что сейчас на серваке используется только половина памяти. А завтра, например, будет использоваться не половина, а 950Мб. И как тогда быть?

Перефразирую вопрос - как грамотно считывать файл по-частям?
 
Сверху