+  HandyCache форум
|-+  Главная категория» Новые предложения» Кеширование заголовков
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Кеширование заголовков  (Прочитано 11904 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Кирилл
Beta tester
*****

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

Сообщений: 124


« : 21 июня 2007, 14:24:58 »

Начатки этой функции уже есть - сохраняются признаки сжатия и редиректы.
Неплохо бы реализовать в полном объеме. Выбор, для каких URL сохранять - аналогично списку "Запись в кеш".
Наличие возможности хранения заголовков в кеше - хорошая база для других функций, например, для принятия решения об обновлении данных.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #1 : 21 июня 2007, 14:43:00 »

Наличие возможности хранения заголовков в кеше - хорошая база для других функций, например, для принятия решения об обновлении данных.

Вопрос, который много обсуждался, но так и не был решен - это где их хранить и как!

В общем, сначала обсуждаем тему: Индексирование кэша...
Сообщить модератору   Записан
Кирилл
Beta tester
*****

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

Сообщений: 124


« Ответ #2 : 21 июня 2007, 17:07:50 »

DenZzz
Хранить так же как сейчас хранятся редиректы - в ОТДЕЛЬНЫХ файлах (с именами на #h, например) в кеше. Ибо дополнительный индекс сейчас нужен лишь для уменьшения фрагментации и утилитам вроде историка, но никак не самому прокси!
Но ГДЕ и как хранить кеш - вопрос частный и к необходимости самого хранения заголовоков отношения не имеет.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #3 : 21 июня 2007, 20:24:35 »

Хранить так же как сейчас хранятся редиректы - в ОТДЕЛЬНЫХ файлах (с именами на #h, например) в кеше.

Хранить заголовки в отдельных файлах-паспортах уже ни раз предлагалось и обсуждалось! Как и то, что по заголовкам можно организовать управлением загрузкой/кэшированием данных - см. тему: "Управление загрузкой по Заголовкам"!
(Кстати, зачем ты завел параллельную ветку?)

Противников хранения заголовков в отдельных файлах типа #h было, пожалуй, больше, чем сторонников! Основной аргумент против - это двоекратное увеличение количества файлов в кэше и, как следствие, двоекратное увеличение количества дисковых операций, что с учетом "медлительности" диска в итоге скажется на общей производительности! Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время был реализован RAM-кэш!

Кроме того не стоит забывать, что двоекратное увеличение количества файлов + фрагментация на FAT32 файловых системах приведет к диким тормозам при работе с диском! А учитывая, что разместить кэш на NTFS с маленьким размером кластера не всегда есть возможность, то это весомый аргумент "против" хранения заголовков в отдельных парных файлах #h !

Цитировать
Ибо дополнительный индекс сейчас нужен лишь для уменьшения фрагментации и утилитам вроде историка, но никак не самому прокси!

Видимо, ты плохо знаком с историей обсуждения! Автор Историка, rs, всегда был против индексов и за хранение заголовков в NTFS-потоках или парных файлах-паспортах...

Цитировать
Но ГДЕ и как хранить кеш - вопрос частный и к необходимости самого хранения заголовоков отношения не имеет.

То, что хорошо бы хранить заголовки - никто не против, в т.ч. и сам mai62 !!!
А вот вопрос: "Где их хранить и как?" - вызывал массу споров и до сих пор не решен!
Поэтому начинать надо именно с обсуждения универсального способа хранения метаданных, т.к. это основной камень преткновения!
« Последнее редактирование: 22 июня 2007, 08:54:25 от DenZzz » Сообщить модератору   Записан
Кирилл
Beta tester
*****

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

Сообщений: 124


« Ответ #4 : 22 июня 2007, 08:51:59 »

DenZZZ
Цитировать
Видимо, ты плохо знаком с историей обсуждения! Автор Историка, rs, всегда был против индексов и за хранение заголовков в NTFS-потоках или парных файлах-паспортах...
Вот именно, он был со мной согласен - самому HC (пока кеш хранится в папке) индекс не нужен!
Программа rs (Историк) создает индекс для своих нужд самостоятельно - ей он как раз необходим, но для совсем других целей (поиска по дате, содержимому и т.п.), которые для HC на данный момент не актуальны.
Цитировать
Противников хранения заголовков в отдельных файлах типа #h было, пожалуй, больше, чем сторонников! Основной аргумент против - это двоекратное увеличение количества файлов в кэше и, как следствие, дикие тормоза на FAT32 файловых системах!
Держать кеш на FAT32 - мазохизм однако даже без всяких #h-файлов. Подмигивающий
Цитировать
Что, хорошо бы хранить заголовки, никто не против, в т.ч. и сам mai62 !!!
Отлично, значит все с данной фичей согласны.
Цитировать
А вот вопрос: "Где их хранить и как?" - вызывал массу споров и до сих пор не решен!
И окончательно решить его можно, только имея работающую реализацию. Ее-то мне и надо, хоть какую-то... Причем сейчас мне абсолютно все равно, как это будет в итоге реализовано! Реальную эффективность и удобство реализации покажет только тестирование на реальных задачах.
Цитировать
(Кстати, зачем ты завел параллельную ветку?)
Она не параллельная, хотя и близкая. Фильтрация по входящим заголовкам может быть реализована и без хранения их в кеше - для кешированных файлов HC сейчас синтезирует заголовки самостоятельно.
Но хранение заголовков в кеше - функция сравнительно простая, ее можно реализовать и оттестировать ДО более сложных и мощных фич вроде фильтрации по заголовкам или использования для кеширования полей заголовка протокола HTTP 1.1.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #5 : 22 июня 2007, 09:18:10 »

Держать кеш на FAT32 - мазохизм однако даже без всяких #h-файлов.

Однако ж, многие держат! Например, носят кэш с собой на флэшке домой и на работу и указывают ее в качестве основного кэша в HC... А NTFS на флешку можно поставить только с помощью специальных "танцев с бубнами", причем это уменьшит скорость доступа к флешке и создаст дополнительные неудобства в ее использовании (права админа, безопасное отключение и т.п.)!

Да много всяких разных вариантов, когда нельзя поставить кэш на NTFS (старый комп, мало памяти, кэш на сервере без NTFS и т.д.)...

Кстати, а двоекратное увеличение количества дисковых операций от чтения/записи парных файлов #h , что с учетом "медлительности" диска в итоге скажется на общей производительности HC, не пугает? Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время и был реализован RAM-кэш...

Цитировать
И окончательно решить его можно, только имея работающую реализацию. Ее-то мне и надо, хоть какую-то... Причем сейчас мне абсолютно все равно, как это будет в итоге реализовано! Реальную эффективность и удобство реализации покажет только тестирование на реальных задачах.

Думаю, с появлением в HC плагинной системы у тебя будет возможность создать такую реализацию самостоятельно... Улыбка
Сообщить модератору   Записан
Кирилл
Beta tester
*****

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

Сообщений: 124


« Ответ #6 : 22 июня 2007, 09:41:11 »

DenZZZ
Цитировать
Однако ж, многие держат! Например, носят кэш с собой на флэшке домой и на работу и указывают ее в качестве основного кэша в HC...
Жестко... Флешка все-ж таки не HDD. И работа с кучей мелких файлов всегда будет ее слабым местом - там хоть весь кеш в БД размещай.
Цитировать
Кстати, а двоекратное увеличение количества дисковых операций от чтения/записи парных файлов #h , что с учетом "медлительности" диска в итоге скажется на общей производительности HC, не пугает? Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время и был реализован RAM-кэш...
Заголовки - первый кандидат на попадание в RAM-кеш. Они ничем не хуже и не лучше обычной мелочи.
Теперь об удвоении - плоха та фича, которую нельзя отключить Подмигивающий
Поэтому в первом же посте я предложил
Цитировать
Выбор, для каких URL сохранять - аналогично списку "Запись в кеш".
И держатели кешей на FAT-32 будут целы и NTFSники сыты.
Цитировать
Думаю, с появлением в HC плагинной системы у тебя будет возможность создать такую реализацию самостоятельно...
Ну ты сравнил! Хранение заголовков в кеше и плагинный API!
Конкретная реализация второго на порядок сложнее и при проектировании и при написании.
Оно конечно хорошо бы модуль кеша отделить от всего остального - но мое предложение относится к одной из следующих версий, а не к 2.х.
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #7 : 28 июня 2007, 16:37:52 »

Цитировать
Она не параллельная, хотя и близкая. Фильтрация по входящим заголовкам может быть реализована и без хранения их в кеше - для кешированных файлов HC сейчас синтезирует заголовки самостоятельно.
Только не всегда верно она их синтезирует. Особенно mime-тип
Сообщить модератору   Записан
Сергей
Beta tester
*****

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

Сообщений: 621



« Ответ #8 : 29 июня 2007, 10:39:51 »

Да. Картинки у меня однажды вылезли из кэша как текст Грустный
Слишком много метаданных запихано было в начале jpg.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

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

Сообщений: 124


« Ответ #9 : 01 сентября 2007, 11:56:31 »

Похоже, эту тему пора снова поднять.
Ибо случаи принятия картинки за текст раздражают весьма и весьма.
А также очень хочется нормальной докачки.
Сообщить модератору   Записан
Oneri
Новичок
*

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

Сообщений: 34


« Ответ #10 : 26 октября 2007, 14:36:06 »

Есть предложение:
Для кеширования заголовков можно использовать БД SQLlite
http://www.sqlite.org/

В ней же можно хранить историю запросов

насколько я знаю активно используется в проектах mozilla

Единственный минус она написана на C.
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: