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

Camillo

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

Приветики.

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

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

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

Спасибо!
 

_RVK_

Новичок
В чем проблема? Памяти не хватает? Сервер нагружен?
 

Camillo

Новичок
Памяти 1Гб, сервак нагрузка ~2
Просто хотелось бы это сделать по-умному, чтобы если вдруг размер файла вырос до 1-2Гб, то это не сильно "повлияло" бы на сервер.
 

_RVK_

Новичок
Camillo
Понимаешь, все не так просто. Быстрее всего будет считать все в память, и обработать, но память не резиновая. Медленно, но верно читать построчно и сохранять в другой файл. Опять же тормоза могут быть в процессе обработки, ведь мы не знаем ни формата данных, ни того как ты их обрабатываешь. Потому я забадался уже всем вталковывать: "Господа, решайте проблеммы по мере их поступления". Кто знает, может когда такая проблемма возникнет, ты решишь что тебе проще купить новый сервак отдельно под парсинг логов. Может твой лог врастет до гигабайта лет через 30, когда у тебя параметры сервака будут 64xCPU 34 Ггц/1024 Гб ОЗУ.....
 

Camillo

Новичок
каждодневный лог примерно каждый день весит 70-100Мб
кол-во строк ~700 тыс.
формат строк url ip
 

T. Anre

Новичок
А не проще ли создать папку для логов, и в ней хранить ежедневные лог-файлы?
 

Camillo

Новичок
T. Anre, всё это сделано. Только дело в том, что эти логи еще нужно и проанализировать - это и есть тема топика собственно.

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

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