Очень большой txt файл список, скорость.

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

Se0mashines

Client
Регистрация
05.02.2012
Сообщения
209
Реакции
52
Баллы
28
Интересный вопрос. Планируется собрать в один файл (список) - ссылки. Будет Примерно 50 млн. строк. Замедлится ли работа при этом? Файл будет расти при записи, или же нужно разбивать, а затем склеить их?
 
  • Оценить
Реакции: Hannes
Если через список/таблицу работаете - будут проблемы, если просто пишете строку через "запись текста в файл" то проблем не должно ожидаться
 
Спасибо, попробую.
 
  • Оценить
Реакции: Hannes
Т.е получется , что лучше создать список, но без привязки к файлу? Например, в сделаю цикл 1000 раз (соберется 1000 строк). Затем эти 1000, которые "в списке" - отправить в "запись текста в файл"
Да так лучше будет в вашей ситуации
 
А проверки какие то с этим файлом планируются? Или же это просто файл свалка, в который записываются все результаты?
 
А проверки какие то с этим файлом планируются? Или же это просто файл свалка, в который записываются все результаты?
Да, потом удалить дубли, и пустые строки. В конце самом.
Начал эксперименты в файловом режиме. Когда файл перевалил за 900 мб. в нем было около 3 млн. строк, то Project начал выдавать ошибку чтения, недоступности файла, все время отставало записывание в файл. В зенке не решился запускать. Вобщем решил частями делать.
 
  • Оценить
Реакции: Hannes и LightWood
Да, потом удалить дубли, и пустые строки. В конце самом.
Начал эксперименты в файловом режиме. Когда файл перевалил за 900 мб. в нем было около 3 млн. строк, то Project начал выдавать ошибку чтения, недоступности файла, все время отставало записывание в файл. В зенке не решился запускать. Вобщем решил частями делать.
В таком случае вам придётся эти этапы реализовывать вне списков ZP, например написав оптимизированный под эти задачи снипет C#
 
Уже 4 дня экспериментирую. Проблемы наблюдаются с большими файлами. Но не понятно как и почему.
К примеру, 4 раза проект выполнился нормально. Файл на выходе 1 ГБ. Строк 12 млн, иногда 8-9.

Сегодня, в Постере начал проект сбиваться. Не пойму, файл не большой 250 мб, 4 млн строк. думал может забанили на сайте -нет.
Проверил в мейкере:

820dbb4d79a7.jpg


Удалил файлы, начал по новой, - все нормально.
 
  • Оценить
Реакции: Hannes
Вопрос сколько свободной оперативки в момент наличия проблемы и какими экшенами добавляете текст
 
Вопрос сколько свободной оперативки в момент наличия проблемы и какими экшенами добавляете текст
Работаю Get запросами, без браузера. Списки без привязки к файлу, запись в файл через Экшн "Записать в файл". Свободной оперативы всегда где то 4-5 Гб.
Шаблон работает в 100-130 потоков. Проц скачет, то 100% нагрузки, потом 20% - думаю это из за большого количества записей в файл.

Уже думал может Ram диск создать и туда сохранять?
 
  • Оценить
Реакции: Hannes
попробуйте использовать запись через списки. с привязкой списка к файлу
 
Интересное наблюдение. Парсинг в 80-100 потоков, Запись идет в 5 файлов на диске, в финале получаются по 1ГБ, больше не рискую. Файлы на выходе содержат по 20 млн. строк. При копировании файла на другой ж. диск, скорость копирования 3-4 мб/сек, пустых строк в файле около 1%.

Проект переместил на другой физ. диск (постарее), скорость перемещения с него 800-2000 Кб/сек. Пустых строк около 5% от общей массы.

Такое ощущение что запись идет по всему жесткому диску. Боюсь представить что будет при еще большем увеличении потоков.

Так что если у вас проект работает с такими объемами, нужно стремиться сделать цикл допустим в 100 раз и забивать значения в список без привязки к файлу. Затем когда цикл закончится, то объединить эл.списка, а уже затем - записать в файл. Так думаю будет полегче винту.
 
  • Оценить
Реакции: Atlas и Hannes
вот только потоки могут конфликтовать друг с другом за права записи в файл
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)