Название: Кеширование заголовков Отправлено: Кирилл от 21 июня 2007, 14:24:58 Начатки этой функции уже есть - сохраняются признаки сжатия и редиректы.
Неплохо бы реализовать в полном объеме. Выбор, для каких URL сохранять - аналогично списку "Запись в кеш". Наличие возможности хранения заголовков в кеше - хорошая база для других функций, например, для принятия решения об обновлении данных. Название: Re: Кеширование заголовков Отправлено: DenZzz от 21 июня 2007, 14:43:00 Наличие возможности хранения заголовков в кеше - хорошая база для других функций, например, для принятия решения об обновлении данных. Вопрос, который много обсуждался, но так и не был решен - это где их хранить и как! В общем, сначала обсуждаем тему: Индексирование кэша (http://handycache.ru/component/option,com_smf/Itemid,10/topic,76.0/)... Название: Re: Кеширование заголовков Отправлено: Кирилл от 21 июня 2007, 17:07:50 DenZzz
Хранить так же как сейчас хранятся редиректы - в ОТДЕЛЬНЫХ файлах (с именами на #h, например) в кеше. Ибо дополнительный индекс сейчас нужен лишь для уменьшения фрагментации и утилитам вроде историка, но никак не самому прокси! Но ГДЕ и как хранить кеш - вопрос частный и к необходимости самого хранения заголовоков отношения не имеет. Название: Re: Кеширование заголовков Отправлено: DenZzz от 21 июня 2007, 20:24:35 Хранить так же как сейчас хранятся редиректы - в ОТДЕЛЬНЫХ файлах (с именами на #h, например) в кеше. Хранить заголовки в отдельных файлах-паспортах уже ни раз предлагалось и обсуждалось! Как и то, что по заголовкам можно организовать управлением загрузкой/кэшированием данных - см. тему: "Управление загрузкой по Заголовкам (http://handycache.ru/component/option,com_smf/Itemid,10/topic,122.msg882/#msg882)"! (Кстати, зачем ты завел параллельную ветку?) Противников хранения заголовков в отдельных файлах типа #h было, пожалуй, больше, чем сторонников! Основной аргумент против - это двоекратное увеличение количества файлов в кэше и, как следствие, двоекратное увеличение количества дисковых операций, что с учетом "медлительности" диска в итоге скажется на общей производительности! Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время был реализован RAM-кэш! Кроме того не стоит забывать, что двоекратное увеличение количества файлов + фрагментация на FAT32 файловых системах приведет к диким тормозам при работе с диском! А учитывая, что разместить кэш на NTFS с маленьким размером кластера не всегда есть возможность, то это весомый аргумент "против" хранения заголовков в отдельных парных файлах #h ! Цитировать Ибо дополнительный индекс сейчас нужен лишь для уменьшения фрагментации и утилитам вроде историка, но никак не самому прокси! Видимо, ты плохо знаком с историей обсуждения! Автор Историка, rs, всегда был против индексов и за хранение заголовков в NTFS-потоках или парных файлах-паспортах... Цитировать Но ГДЕ и как хранить кеш - вопрос частный и к необходимости самого хранения заголовоков отношения не имеет. То, что хорошо бы хранить заголовки - никто не против, в т.ч. и сам mai62 !!! А вот вопрос: "Где их хранить и как?" - вызывал массу споров и до сих пор не решен! Поэтому начинать надо именно с обсуждения универсального способа хранения метаданных, т.к. это основной камень преткновения! Название: Re: Кеширование заголовков Отправлено: Кирилл от 22 июня 2007, 08:51:59 DenZZZ
Цитировать Видимо, ты плохо знаком с историей обсуждения! Автор Историка, rs, всегда был против индексов и за хранение заголовков в NTFS-потоках или парных файлах-паспортах... Вот именно, он был со мной согласен - самому HC (пока кеш хранится в папке) индекс не нужен!Программа rs (Историк) создает индекс для своих нужд самостоятельно - ей он как раз необходим, но для совсем других целей (поиска по дате, содержимому и т.п.), которые для HC на данный момент не актуальны. Цитировать Противников хранения заголовков в отдельных файлах типа #h было, пожалуй, больше, чем сторонников! Основной аргумент против - это двоекратное увеличение количества файлов в кэше и, как следствие, дикие тормоза на FAT32 файловых системах! Держать кеш на FAT32 - мазохизм однако даже без всяких #h-файлов. ;)Цитировать Что, хорошо бы хранить заголовки, никто не против, в т.ч. и сам mai62 !!! Отлично, значит все с данной фичей согласны.Цитировать А вот вопрос: "Где их хранить и как?" - вызывал массу споров и до сих пор не решен! И окончательно решить его можно, только имея работающую реализацию. Ее-то мне и надо, хоть какую-то... Причем сейчас мне абсолютно все равно, как это будет в итоге реализовано! Реальную эффективность и удобство реализации покажет только тестирование на реальных задачах.Цитировать (Кстати, зачем ты завел параллельную ветку?) Она не параллельная, хотя и близкая. Фильтрация по входящим заголовкам может быть реализована и без хранения их в кеше - для кешированных файлов HC сейчас синтезирует заголовки самостоятельно.Но хранение заголовков в кеше - функция сравнительно простая, ее можно реализовать и оттестировать ДО более сложных и мощных фич вроде фильтрации по заголовкам или использования для кеширования полей заголовка протокола HTTP 1.1. Название: Re: Кеширование заголовков Отправлено: DenZzz от 22 июня 2007, 09:18:10 Держать кеш на FAT32 - мазохизм однако даже без всяких #h-файлов. Однако ж, многие держат! Например, носят кэш с собой на флэшке домой и на работу и указывают ее в качестве основного кэша в HC... А NTFS на флешку можно поставить только с помощью специальных "танцев с бубнами", причем это уменьшит скорость доступа к флешке и создаст дополнительные неудобства в ее использовании (права админа, безопасное отключение и т.п.)! Да много всяких разных вариантов, когда нельзя поставить кэш на NTFS (старый комп, мало памяти, кэш на сервере без NTFS и т.д.)... Кстати, а двоекратное увеличение количества дисковых операций от чтения/записи парных файлов #h , что с учетом "медлительности" диска в итоге скажется на общей производительности HC, не пугает? Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время и был реализован RAM-кэш... Цитировать И окончательно решить его можно, только имея работающую реализацию. Ее-то мне и надо, хоть какую-то... Причем сейчас мне абсолютно все равно, как это будет в итоге реализовано! Реальную эффективность и удобство реализации покажет только тестирование на реальных задачах. Думаю, с появлением в HC плагинной системы у тебя будет возможность создать такую реализацию самостоятельно... :) Название: Re: Кеширование заголовков Отправлено: Кирилл от 22 июня 2007, 09:41:11 DenZZZ
Цитировать Однако ж, многие держат! Например, носят кэш с собой на флэшке домой и на работу и указывают ее в качестве основного кэша в HC... Жестко... Флешка все-ж таки не HDD. И работа с кучей мелких файлов всегда будет ее слабым местом - там хоть весь кеш в БД размещай.Цитировать Кстати, а двоекратное увеличение количества дисковых операций от чтения/записи парных файлов #h , что с учетом "медлительности" диска в итоге скажется на общей производительности HC, не пугает? Как раз, чтобы разгрузить диск (и попутно, как показали опыты, процессор!) в свое время и был реализован RAM-кэш... Заголовки - первый кандидат на попадание в RAM-кеш. Они ничем не хуже и не лучше обычной мелочи.Теперь об удвоении - плоха та фича, которую нельзя отключить ;) Поэтому в первом же посте я предложил Цитировать Выбор, для каких URL сохранять - аналогично списку "Запись в кеш". И держатели кешей на FAT-32 будут целы и NTFSники сыты.Цитировать Думаю, с появлением в HC плагинной системы у тебя будет возможность создать такую реализацию самостоятельно... Ну ты сравнил! Хранение заголовков в кеше и плагинный API!Конкретная реализация второго на порядок сложнее и при проектировании и при написании. Оно конечно хорошо бы модуль кеша отделить от всего остального - но мое предложение относится к одной из следующих версий, а не к 2.х. Название: Re: Кеширование заголовков Отправлено: Дем от 28 июня 2007, 16:37:52 Цитировать Она не параллельная, хотя и близкая. Фильтрация по входящим заголовкам может быть реализована и без хранения их в кеше - для кешированных файлов HC сейчас синтезирует заголовки самостоятельно. Только не всегда верно она их синтезирует. Особенно mime-типНазвание: Re: Кеширование заголовков Отправлено: Сергей от 29 июня 2007, 10:39:51 Да. Картинки у меня однажды вылезли из кэша как текст :(
Слишком много метаданных запихано было в начале jpg. Название: Re: Кеширование заголовков Отправлено: Кирилл от 01 сентября 2007, 11:56:31 Похоже, эту тему пора снова поднять.
Ибо случаи принятия картинки за текст раздражают весьма и весьма. А также очень хочется нормальной докачки. Название: Re: Кеширование заголовков Отправлено: Oneri от 26 октября 2007, 14:36:06 Есть предложение:
Для кеширования заголовков можно использовать БД SQLlite http://www.sqlite.org/ В ней же можно хранить историю запросов насколько я знаю активно используется в проектах mozilla Единственный минус она написана на C.
Powered by SMF 1.1.3 SMF © 2006, Simple Machines LLC
Joomla Bridge by JoomlaHacks.com |