+  HandyCache форум
|-+  Главная категория» Общие вопросы» Ограничение на размер файлов, сохраняемых в кэш
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Ограничение на размер файлов, сохраняемых в кэш  (Прочитано 11076 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« : 09 февраля 2007, 17:02:57 »

Сервер не всегда отдает размер файла в заголовках ответа т.е. данная опция может и не сработать
т.е. она работает только когда сервер отдает в заголовках ответа "Content-Length"

Не совсем так! Через анализ "Content-Length" работает опция "Не загружать большие файлы".

Ограничение на размер файлов, сохраняемых в кэш, должно работать иначе: если позволяет список "Запись в кэш", файл пишется на диск и после получения всех его частей по конечному размеру файла принимается решение - оставить его или удалить.

В этой процедуре был баг, связанный с "Transfer-Encoding: chunked", и он поправлен в HC версии 1.0 RC1...
« Последнее редактирование: 11 января 2008, 11:44:13 от DenZzz » Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #1 : 09 февраля 2007, 18:23:33 »

Мелочи насыпало с разных URL, похоже со всех подряд.
В насторойках
Кэш - Управление - Не сохранять файлы меньше 100 Байт  Не сохранять файлы больше 10000 КБайт
Списки - Запись в кэш - писать всё (без исключений)
Я поэтому и просил проверить на каком-то конкретном сайте: возможно вся мелочь, имеющаяся сейчас в кэше, появилась до введения тобой ограничения в 100Байт.

файл пишется на диск и после получения всех его частей по конечному размеру файла принимается решение - оставить его или удалить.
Принять решение можно не дожидаясь закачки всех частей - как только размер превысил ограничение сверху. Да и откуда вообще взялись "части"?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #2 : 10 февраля 2007, 10:48:30 »

Да и откуда вообще взялись "части"?

Часто размер файла превышает размер пакета...
Получая новый пакет с "частью" файла, HC дописывает ее в файл на диск.
Разумеется, сверхмалые файлы могут уместится и в один пакет, поэтому "частей" не имеют.


Цитировать
Принять решение можно не дожидаясь закачки всех частей - как только размер превысил ограничение сверху.

Можно, но тогда придется проводить такую проверку после получения каждого пакета, что пагубно скажется на использовании системных ресурсов.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #3 : 10 февраля 2007, 11:11:52 »

Часто размер файла превышает размер пакета...
Получая новый пакет с "частью" файла, HC дописывает ее в файл на диск.
Часть - это поток, а не пакет. Про транспортный уровень, про пакеты  - НС "не знает".

Цитировать
Можно, но тогда придется проводить такую проверку после получения каждого пакета, что пагубно скажется на использовании системных ресурсов.
Во-первых, совершенно не факт, что каждый поступивший пакет будет немедленно передан НС, скорее наоборот: до НС дойдет уже "сумма" из нескольких пакетов. Во-вторых, проверку нужно производить не при получении данных, а перед их записью на диск - опять-таки это происходит не "попакетно". И в третьих, никакого "пагубного сказывания" нет - проверка двух условий погоды никакой не сделает, а вот выигрыш возможен: представь, что у тебя ограничение сверху 100К, качется файл на 200К (500, 1М и т.д.) - начиная с ограничения, файл не сохраняется на диск, а только передается браузеру - в кэш, с момента превышения ничего не пишется.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #4 : 10 февраля 2007, 12:21:29 »

Часть - это поток, а не пакет. Про транспортный уровень, про пакеты  - НС "не знает".

Не будем углубляться в термины и придираться к словам, смысл которых уже всем и так понятен... Подмигивающий

Цитировать
Во-первых, совершенно не факт, что каждый поступивший пакет будет немедленно передан НС, скорее наоборот: до НС дойдет уже "сумма" из нескольких пакетов. Во-вторых, проверку нужно производить не при получении данных, а перед их записью на диск - опять-таки это происходит не "попакетно".

Хм. Включим в HC отладочную информацию и отметим, что размеры частей файлов, которые доходят до HC довольно мелковаты! И все их он постоянно дописывает на диск:

Код:
10.02.2007 12:37:40 # 535 <<< URL: http://handycache.ru/index.php
File D:\HandyCache\Cache\handycache.ru\#_ created,
is written down  943
...
10.02.2007 12:37:41 # 535 <<< URL: http://handycache.ru/index.php
Is written down  1460
...
10.02.2007 12:37:42 # 535 <<< URL: http://handycache.ru/index.php
Is written down  1460
...
10.02.2007 12:37:43 # 535 <<< URL: http://handycache.ru/index.php
Is written down  1714

Цитировать
И в третьих, никакого "пагубного сказывания" нет - проверка двух условий погоды никакой не сделает

Пагубное влияние от частой проверки "двух условий" теоретически есть! А вот насколько оно велико на практике - другой вопрос...

Цитировать
а вот выигрыш возможен: представь, что у тебя ограничение сверху 100К, качется файл на 200К (500, 1М и т.д.) - начиная с ограничения, файл не сохраняется на диск, а только передается браузеру - в кэш, с момента превышения ничего не пишется.

Если ты о месте на диске, затрачиваемом на временное хранение закачиваемых файлов, то при сегодняшних размерах винтов - это несущественная мелочь!

Если ты об уменьшении нагрузки на диск при отказе от дальнейшего сохранения больших файлов, то в этом есть резон...

Только думаю, что этот выигрыш в использовании ресурсов нивелируется постоянной частой проверкой "двух условий" для всех файлов (в т.ч. меньших настроенного максимума, т.к. мы об этом сразу не всегда знаем)!
В итоге, прирост производительности вряд ли будет заметен!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #5 : 10 февраля 2007, 12:46:22 »

Цитировать
В итоге, прирост производительности вряд ли будет заметен!
Проверки в RAM заведомо быстрее записи в файл на диске. И систему грузят заведомо меньше.
С миру по нитке - нищему рубаха... Подмигивающий Несколько мелочей, не заметных на глаз, выльются в заметную оптимизацию. Кстати, если винт или флэш в это время загружен другой задачей, то на глаз будет очень даже заметно.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #6 : 10 февраля 2007, 13:21:44 »

отметим, что размеры частей файлов, которые доходят до HC довольно мелковаты! И все их он постоянно дописывает на диск:
Как поступают - так и записывает и так же отдает браузеру.

Цитировать
Is written down  1460
Is written down  1460
Is written down  1714
Если 1460 скорее всего и есть один пакет, то в 1714 явно больше одного пакета.

Цитировать
Пагубное влияние от частой проверки "двух условий" теоретически есть! А вот насколько оно велико на практике - другой вопрос...
Мизерно.

Цитировать
Если ты о месте на диске, затрачиваемом на временное хранение закачиваемых файлов, то при сегодняшних размерах винтов - это несущественная мелочь!
Нет, не об этом, хотя обнаружив у себя в кэше *.new весом более 1GB был неприятно удивлен.

Цитировать
Если ты об уменьшении нагрузки на диск при отказе от дальнейшего сохранения больших файлов, то в этом есть резон...
Именно.

Цитировать
В итоге, прирост производительности вряд ли будет заметен!
Чем меньше на диск будет записываться ненужного - тем лучше.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #7 : 10 февраля 2007, 13:42:54 »

размеры частей файлов, которые доходят до HC довольно мелковаты! И все их он постоянно дописывает на диск
Код:
10.02.2007 12:37:43 # 535 <<< URL: http://handycache.ru/index.php
Is written down  1714
Имхо, это зависит от соотношения скорости обработки к скорости набегания потока. Даже на тугодумных хостах у меня значения явно побольше
Код:
10.02.2007 13:22:06 # 133 <<< URL: http://handycache.ru/forum/index.php
File C:\Program Files\HandyCache\Cache\handycache.ru\forum\#_ created,
is written down  3864
...
10.02.2007 13:27:31 # 141 <<< URL: http://tv.sarbc.ru/print.php?period=week
Is written down  4356
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Vitaly
Гость
« Ответ #8 : 10 мая 2007, 20:56:19 »

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

Скрин прилагается.

Что я делаю не так ?


* 1.JPG (62.65 Кб, 892x508 - просмотрено 91 раз.)
« Последнее редактирование: 10 мая 2007, 21:02:09 от Vitaly » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #9 : 10 мая 2007, 22:26:42 »

что то я никак не пойму, где настраиваются ограничения на размер кэшируемых файлов, в документации написано в разделе Кэш/Управление, но у меня нет таких позиций

Скачай последнюю версию HC 0.98b1 от 02.01.2007.
Сообщить модератору   Записан
mike2003
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #10 : 02 июня 2007, 17:06:25 »

опера 9.21
закачка идет через НС
в настройках стоит "не сохрянять файлы больше" 500 кбайт
а в папке лежат много метровые архивы - пример "pulstar.zip.new" (19 мб и свежий) вот такого вида....
объясните плиз как сделать что б файлы больше оперделеного размера не сохранялись в папке кеша??? интересует не чистка, а именно не сохранение
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #11 : 03 июня 2007, 09:56:40 »

mike2003
В версии 0.98b1 при определенных условиях бывало, что файл .new не удалялся. Это уже исправлено в готовящейся к опубликованию новой версии.
Сообщить модератору   Записан
mike2003
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #12 : 03 июня 2007, 10:14:22 »

очень хорошо
просто "при определенных условиях" мягко сказано )))
у меня весь кеш забит этими файлами большого размера, считать конечно трудно, но по мойму там все лежат, что я качал
если б один был и бы и не заметил )))
Сообщить модератору   Записан
Nike
Новичок
*

Репутация: +2/-0
Offline Offline

Сообщений: 19


« Ответ #13 : 17 октября 2007, 12:39:53 »

а когда примерно будет эта новая версия? Эти файлы .new действительно очень действуют на нервы. Может выпустить просто багфикс версию хотябы?
Сообщить модератору   Записан
Byfuglien
Новичок
*

Репутация: +1/-2
Offline Offline

Сообщений: 46


« Ответ #14 : 08 апреля 2008, 17:11:26 »

Оффтопик в дополнение к последним постам. И в 1.0.0.21 файлы *.new иногда остаются на диске. Вот лог загрузки одной такой страницы. Файл #_ (http://knitting.korabel.net/for_polnyx/XXXL/) получился в двух одинаковых по длине экземплярах - с "new"  и без. Зайдешь на эту же страницу повторно, и НС стирает этот new-файл. Не зайдешь, так он и остается в кэше. Проверил свой кэш - 294 таких файла.

* log.rar (6.45 Кб - загружено 24 раз.)
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: