Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrej Kartashov                     2:5020/400     01 Mar 2001  22:09:11
 To : All
 Subject : Re: calculation of a size of the directory
 -------------------------------------------------------------------------------- 
 
 "Artem Chuprina" <ran@ran.pp.ru> сообщил/сообщила в новостях следующее:
 news:slrn99pe7k.757.ran@menegroth.ran.pp.ru...
 
 > dik>> Hужно перлом вычислить полный размер файлов в каталоге,
 > dik>> *******************************************
 > dik>> while(defined($file= <${DATADIR}/_qry/*>)){
 > dik>> $catSize += -s $file}
 > dik>> *******************************************
 >
 > dik>> Этот код работает но если файлов в каталоге очень много то жуткие
 > dik>> тормоза... некрасиво получается...
 >
 > dik> А можно подробнее? Если честно слаб еще здесь...
 >
 > opendir(DIR,"${DATADIR}/_qry");
 > while (my $filename = readdir(DIR)) {
 > $catSize += -s "${DATADIR}/_qry/$filename";
 > }
 > closedir(DIR);
 Вобщем уже понял, разобрался...  Все равно  $catSize += -s
 тормозит...  кэш то здоровый, за сутки более 10 мег получается...
 Эксперементирую с 100
 мег
 Особенно тормоза заметны под W2K,
 
 Идея то была чтобы размер проверялся при каждом заходе юзера на главную страницу
 базы
 данных... Теперь вижу что глупо это все, будем искать альтернативу.
 
 >
 > dik> Hужно переодически удалять кэш базы данных. Она сама это делать не умеет.
 > dik> Крона нет. Вот хотелось бы автоматизировать процесс... Причем не хотелось
 > dik> бы тупо удалять все файлы по времени а удалять их если размер кэша больше
 > dik> чем указано.... и удалять не все файлы а только те, которые старше чем
 > dik> указано... собственно все работает но на диких тормозах...
 >
 > А куда тебе торопиться? Я бы удалял просто по времени, все, что старше
 > некоторого момента (тогда алгоритм будет однопроходным).
 
 Так наверное и будет, или по времени или, к примеру по каждому 100/1000 клику
 юзера...
 
 Кстати, есть вариант для Linux,
 system("du -s $dir");
 
 Только что то здесь я встал в тупик
 Каким образом перепенной $size передать размер полученный от system("du -s
 $dir") ?
 
 что то на подобии
 $size = system("du -s $dir");
 
 Hо это работает не совсем корректно :-)
 
 Hу пока!
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: http://www.beautiful-ladies.com/ (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: calculation of a size of the directory   Andrej Kartashov   01 Mar 2001 22:09:11 
 Re: calculation of a size of the directory   Dmitriy MiksIr   02 Mar 2001 02:24:59 
 Re: calculation of a size of the directory   Artem Chuprina   02 Mar 2001 11:23:56 
Архивное /ru.perl/857885a7dbd5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional